19 constexpr
int ensemble_size = 8;
25 scalar a = (scalar) 1.;
28 scalar b = (scalar) 2.;
31 std::cout << std::endl;
32 std::cout << a << std::endl;
33 std::cout << b << std::endl;
34 std::cout << m1 << std::endl;
39 for (
auto i=3; i<ensemble_size; ++i)
47 constexpr
int ensemble_size = 16;
53 scalar a = (scalar) 1.;
56 scalar b = (scalar) 2.;
59 std::cout << std::endl;
60 std::cout << a << std::endl;
61 std::cout << b << std::endl;
62 std::cout << m1 << std::endl;
67 for (
auto i=3; i<ensemble_size; ++i)
75 constexpr
int ensemble_size = 8;
81 scalar a = (scalar) 1.;
84 scalar b = (scalar) 2.;
88 std::cout << m1 << std::endl;
89 std::cout << m2 << std::endl;
90 for (
auto i=0; i<ensemble_size; ++i)
96 constexpr
int ensemble_size = 8;
102 scalar a = (scalar) 1.;
105 scalar b = (scalar) 2.;
113 std::cout << m1 << std::endl;
114 std::cout << mul << std::endl;
116 std::cout << mul2 << std::endl;
117 std::cout << mul3 << std::endl;
122 for (
auto i=3; i<ensemble_size; ++i)
130 constexpr
int ensemble_size = 16;
136 scalar a = (scalar) 1.;
139 scalar b = (scalar) 2.;
143 std::cout << m1 << std::endl;
144 std::cout << mul << std::endl;
149 for (
auto i=3; i<ensemble_size; ++i)
155 constexpr
int ensemble_size = 8;
161 scalar a = (scalar) 1.;
164 scalar b = (scalar) 2.;
167 scalar mul = m1*a + !m1*b;
168 scalar mul2 = a*m1 + !m1*b;
169 std::cout << m1 << std::endl;
170 std::cout << mul << std::endl;
171 std::cout << mul2 << std::endl;
176 for (
auto i=3; i<ensemble_size; ++i)
184 constexpr
int ensemble_size = 8;
191 using namespace MaskLogic;
193 scalar a = (scalar) 1.;
196 scalar b = (scalar) 2.;
199 auto m2 = a>(scalar) 0.;
202 std::cout << m1 << std::endl;
203 std::cout << m2 << std::endl;
204 std::cout << m3<< std::endl;
205 std::cout << m4<< std::endl;
229 constexpr
int ensemble_size = 8;
235 using namespace MaskLogic;
237 scalar a = (scalar) 1.;
240 scalar b = (scalar) 2.;
244 std::cout << m1 << std::endl;
245 std::cout << m2 << std::endl;
258 constexpr
int ensemble_size = 8;
264 using namespace MaskLogic;
266 scalar a = (scalar) 1.;
269 scalar b = (scalar) 2.;
273 std::cout << m1 << std::endl;
274 std::cout << m2 << std::endl;
287 constexpr
int ensemble_size = 8;
293 using namespace MaskLogic;
295 scalar a = (scalar) 1.;
297 scalar b = (scalar) 2.;
301 std::cout << m1 << std::endl;
302 std::cout << m2 << std::endl;
315 constexpr
int ensemble_size = 8;
321 scalar a = (scalar) 1.;
323 scalar b = (scalar) 2.;
328 std::cout << m1 << std::endl;
329 std::cout << m2 << std::endl;
357 constexpr
int ensemble_size = 8;
364 scalar a = (scalar) 1.;
366 scalar b = (scalar) 2.;
372 std::cout << m1 << std::endl;
373 std::cout << m2 << std::endl;
374 std::cout << m3 << std::endl;
380 constexpr
int ensemble_size = 8;
387 scalar a = (scalar) 1.;
389 scalar b = (scalar) 2.;
395 std::cout << m1 << std::endl;
396 std::cout << m2 << std::endl;
397 std::cout << m3 << std::endl;
403 constexpr
int ensemble_size = 8;
410 scalar a = (scalar) 1.;
412 scalar b = (scalar) 2.;
414 std::cout << a << std::endl;
415 std::cout << b << std::endl;
423 std::cout << m3 << std::endl;
429 constexpr
int ensemble_size = 8;
436 scalar a = (scalar) 1.;
438 scalar b = (scalar) 2.;
442 std::cout << m1 << std::endl;
443 std::cout << m2 << std::endl;
444 auto m3 = (a>0.) - (a>b);
445 std::cout << m3 << std::endl;
451 constexpr
int ensemble_size = 8;
458 scalar a = (scalar) 1.;
469 constexpr
int ensemble_size = 8;
475 scalar a = (scalar) 1.;
478 scalar b = (scalar) 2.;
482 std::cout << std::endl;
483 std::cout << a << std::endl;
484 std::cout << b << std::endl;
486 std::cout << a << std::endl;
487 std::cout << b << std::endl;
493 constexpr
int ensemble_size = 8;
499 scalar a = (scalar) 1.;
520 constexpr
int ensemble_size = 8;
526 scalar a = (scalar) 1.;
538 constexpr
int ensemble_size = 8;
544 scalar a2 = {0.,2.,2.,2.,2.,2.,2.,2.};
545 std::cout << a2 << std::endl;
547 scalar a = (scalar) 1.;
549 auto m = (a>(scalar) 0.);
550 std::cout <<
"m is computed" << std::endl;
551 std::cout << m << std::endl;
553 std::cout <<
"m is computed" << std::endl;
554 std::cout << m << std::endl;
556 std::cout << a << std::endl;
557 std::cout << m << std::endl;
558 std::cout << (a>=(scalar) 0. )<< std::endl;
559 std::cout << (a> 0. )<< std::endl;
560 std::cout << (a>= 0.) << std::endl;
561 std::cout << (0.<a )<< std::endl;
562 std::cout << (0.<=a) << std::endl;
564 mask_assign<scalar>(m,a) /= {a, 2.,-1.};
576 mask_assign<scalar>(m,a) /= {4.,2.,-1.};
KOKKOS_INLINE_FUNCTION Vector< S > copysign(const Vector< S > &a1, const Vector< S > &a2)
Stokhos::StandardStorage< int, double > storage_type
Statically allocated storage class.
Kokkos::DefaultExecutionSpace execution_space
KOKKOS_INLINE_FUNCTION bool OR(Mask< T > m)
KOKKOS_INLINE_FUNCTION MaskedAssign< scalar > mask_assign(bool b, scalar *s)
KOKKOS_INLINE_FUNCTION bool AND(Mask< T > m)
KOKKOS_INLINE_FUNCTION bool XOR(Mask< T > m)
#define TEST_EQUALITY(v1, v2)
KOKKOS_INLINE_FUNCTION Mask< Sacado::MP::Vector< S > > signbit_v(const Sacado::MP::Vector< S > &a1)