21 #ifndef viskores_internal_VecOperators_h
22 #define viskores_internal_VecOperators_h
28 #if (!(defined(VISKORES_CUDA) && (__CUDACC_VER_MAJOR__ < 8)))
29 #if (defined(VISKORES_GCC) || defined(VISKORES_CLANG))
30 #pragma GCC diagnostic push
31 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
32 #pragma GCC diagnostic ignored "-Wpragmas"
33 #pragma GCC diagnostic ignored "-Wconversion"
34 #pragma GCC diagnostic ignored "-Wfloat-conversion"
35 #endif // gcc || clang
36 #endif // not using cuda < 8
38 #if defined(VISKORES_MSVC)
40 #pragma warning(disable : 4244)
45 template <
typename T, viskores::IdComponent Size>
47 typename std::enable_if<(std::is_floating_point<T>::value || std::is_signed<T>::value),
51 for(
int i=0; i < Size; ++i)
60 typename std::enable_if<(std::is_floating_point<T>::value || std::is_signed<T>::value),
69 typename std::enable_if<(std::is_floating_point<T>::value || std::is_signed<T>::value),
78 typename std::enable_if<(std::is_floating_point<T>::value || std::is_signed<T>::value),
87 typename std::enable_if<(std::is_floating_point<T>::value || std::is_signed<T>::value),
99 template <
typename T, IdComponent Size>
104 for (
int i = 0; i < Size; ++i)
112 template <
typename T, IdComponent Size>
117 for (
int i = 0; i < Size; ++i)
119 a[i] = a[i] + scalar;
125 template <
typename T, IdComponent Size>
130 for (
int i = 0; i < Size; ++i)
132 a[i] = a[i] + scalar;
138 template <IdComponent Size>
143 for (
int i = 0; i < Size; ++i)
145 a[i] = a[i] + scalar;
151 template <
typename T, IdComponent Size>
156 for (
int i = 0; i < Size; ++i)
158 a[i] = scalar + a[i];
164 template <
typename T, IdComponent Size>
169 for (
int i = 0; i < Size; ++i)
171 a[i] = scalar + a[i];
177 template <IdComponent Size>
182 for (
int i = 0; i < Size; ++i)
184 a[i] = scalar + a[i];
192 template <
typename T, IdComponent Size>
197 for (
int i = 0; i < Size; ++i)
205 template <
typename T, IdComponent Size>
210 for (
int i = 0; i < Size; ++i)
212 a[i] = a[i] * scalar;
218 template <
typename T, IdComponent Size>
223 for (
int i = 0; i < Size; ++i)
225 a[i] = a[i] * scalar;
231 template <IdComponent Size>
236 for (
int i = 0; i < Size; ++i)
238 a[i] = a[i] * scalar;
244 template <
typename T, IdComponent Size>
249 for (
int i = 0; i < Size; ++i)
251 a[i] = scalar * a[i];
257 template <
typename T, IdComponent Size>
262 for (
int i = 0; i < Size; ++i)
264 a[i] = scalar * a[i];
270 template <IdComponent Size>
275 for (
int i = 0; i < Size; ++i)
277 a[i] = scalar * a[i];
285 template <
typename T, IdComponent Size>
290 for (
int i = 0; i < Size; ++i)
298 template <
typename T, IdComponent Size>
303 for (
int i = 0; i < Size; ++i)
305 a[i] = a[i] - scalar;
311 template <
typename T, IdComponent Size>
316 for (
int i = 0; i < Size; ++i)
318 a[i] = a[i] - scalar;
324 template <IdComponent Size>
329 for (
int i = 0; i < Size; ++i)
331 a[i] = a[i] - scalar;
337 template <
typename T, IdComponent Size>
342 for (
int i = 0; i < Size; ++i)
344 a[i] = scalar - a[i];
350 template <
typename T, IdComponent Size>
355 for (
int i = 0; i < Size; ++i)
357 a[i] = scalar - a[i];
363 template <IdComponent Size>
368 for (
int i = 0; i < Size; ++i)
370 a[i] = scalar - a[i];
378 template <
typename T, IdComponent Size>
383 for (
int i = 0; i < Size; ++i)
391 template <
typename T, IdComponent Size>
396 for (
int i = 0; i < Size; ++i)
398 a[i] = a[i] / scalar;
404 template <
typename T, IdComponent Size>
409 for (
int i = 0; i < Size; ++i)
411 a[i] = a[i] / scalar;
417 template <IdComponent Size>
422 for (
int i = 0; i < Size; ++i)
424 a[i] = a[i] / scalar;
430 template <
typename T, IdComponent Size>
435 for (
int i = 0; i < Size; ++i)
437 a[i] = scalar / a[i];
443 template <
typename T, IdComponent Size>
448 for (
int i = 0; i < Size; ++i)
450 a[i] = scalar / a[i];
456 template <IdComponent Size>
461 for (
int i = 0; i < Size; ++i)
463 a[i] = scalar / a[i];
472 template <
typename T>
481 template <
typename T>
490 template <
typename T>
507 template <
typename T>
516 template <
typename T>
533 template <
typename T>
542 template <
typename T>
551 template <
typename T>
568 template <
typename T>
577 template <
typename T>
594 template <
typename T>
603 template <
typename T>
612 template <
typename T>
629 template <
typename T>
638 template <
typename T>
655 template <
typename T>
664 template <
typename T>
673 template <
typename T>
690 template <
typename T>
699 template <
typename T>
718 template <
typename T>
727 template <
typename T>
736 template <
typename T>
753 template <
typename T>
762 template <
typename T>
779 template <
typename T>
788 template <
typename T>
797 template <
typename T>
814 template <
typename T>
823 template <
typename T>
840 template <
typename T>
849 template <
typename T>
858 template <
typename T>
875 template <
typename T>
884 template <
typename T>
901 template <
typename T>
910 template <
typename T>
919 template <
typename T>
936 template <
typename T>
945 template <
typename T>
964 template <
typename T>
973 template <
typename T>
982 template <
typename T>
999 template <
typename T>
1008 template <
typename T>
1025 template <
typename T>
1034 template <
typename T>
1043 template <
typename T>
1060 template <
typename T>
1069 template <
typename T>
1086 template <
typename T>
1095 template <
typename T>
1104 template <
typename T>
1121 template <
typename T>
1130 template <
typename T>
1147 template <
typename T>
1156 template <
typename T>
1165 template <
typename T>
1182 template <
typename T>
1191 template <
typename T>
1210 template <
typename T>
1219 template <
typename T>
1228 template <
typename T>
1245 template <
typename T>
1254 template <
typename T>
1271 template <
typename T>
1280 template <
typename T>
1289 template <
typename T>
1306 template <
typename T>
1315 template <
typename T>
1332 template <
typename T>
1341 template <
typename T>
1350 template <
typename T>
1367 template <
typename T>
1376 template <
typename T>
1393 template <
typename T>
1402 template <
typename T>
1411 template <
typename T>
1428 template <
typename T>
1437 template <
typename T>
1456 #if defined(VISKORES_MSVC)
1457 #pragma warning(pop)
1460 #if (defined(VISKORES_CUDA) && (__CUDACC_VER_MAJOR__ < 8))
1461 #if (defined(VISKORES_GCC) || defined(VISKORES_CLANG))
1462 #pragma GCC diagnostic pop
1463 #endif // gcc || clang
1464 #endif // use cuda < 8
1469 #endif //viskores_internal_VecOperators_h