Lines Matching full:scalar

215 template <typename Scalar, typename Packet, typename EnableIf = void>
237 template <typename Scalar, typename Packet>
238 struct packetmath_pcast_ops_runner<Scalar, Packet, typename internal::enable_if<NumTraits<Scalar>::…
247 template <typename Scalar, typename Packet>
251 EIGEN_ALIGN_MAX Scalar data1[size]; in packetmath_boolean_mask_ops()
252 EIGEN_ALIGN_MAX Scalar data2[size]; in packetmath_boolean_mask_ops()
253 EIGEN_ALIGN_MAX Scalar ref[size]; in packetmath_boolean_mask_ops()
256 data1[i] = internal::random<Scalar>(); in packetmath_boolean_mask_ops()
261 data1[i] = Scalar(i); in packetmath_boolean_mask_ops()
262 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops()
269 data1[i] = Scalar(-0.0); in packetmath_boolean_mask_ops()
270 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops()
276 data1[i] = NumTraits<Scalar>::quiet_NaN(); in packetmath_boolean_mask_ops()
277 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops()
282 template <typename Scalar, typename Packet>
286 EIGEN_ALIGN_MAX Scalar data1[size]; in packetmath_boolean_mask_ops_real()
287 EIGEN_ALIGN_MAX Scalar data2[size]; in packetmath_boolean_mask_ops_real()
288 EIGEN_ALIGN_MAX Scalar ref[size]; in packetmath_boolean_mask_ops_real()
291 data1[i] = internal::random<Scalar>(); in packetmath_boolean_mask_ops_real()
292 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops_real()
299 data1[i] = Scalar(-0.0); in packetmath_boolean_mask_ops_real()
300 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops_real()
306 data1[i] = NumTraits<Scalar>::quiet_NaN(); in packetmath_boolean_mask_ops_real()
307 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops_real()
312 template <typename Scalar, typename Packet>
316 EIGEN_ALIGN_MAX Scalar data1[size]; in packetmath_boolean_mask_ops_notcomplex()
317 EIGEN_ALIGN_MAX Scalar data2[size]; in packetmath_boolean_mask_ops_notcomplex()
318 EIGEN_ALIGN_MAX Scalar ref[size]; in packetmath_boolean_mask_ops_notcomplex()
321 data1[i] = internal::random<Scalar>(); in packetmath_boolean_mask_ops_notcomplex()
322 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops_notcomplex()
330 data1[i] = Scalar(-0.0); in packetmath_boolean_mask_ops_notcomplex()
331 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops_notcomplex()
338 data1[i] = NumTraits<Scalar>::quiet_NaN(); in packetmath_boolean_mask_ops_notcomplex()
339 data1[i + PacketSize] = internal::random<bool>() ? data1[i] : Scalar(0); in packetmath_boolean_mask_ops_notcomplex()
345 // Packet16b representing bool does not support ptrue, pandnot or pcmp_eq, since the scalar path
352 template <typename Scalar, typename Packet>
356 EIGEN_ALIGN_MAX Scalar data1[size]; in packetmath_minus_zero_add()
357 EIGEN_ALIGN_MAX Scalar data2[size]; in packetmath_minus_zero_add()
358 EIGEN_ALIGN_MAX Scalar ref[size]; in packetmath_minus_zero_add()
361 data1[i] = Scalar(-0.0); in packetmath_minus_zero_add()
362 data1[i + PacketSize] = Scalar(-0.0); in packetmath_minus_zero_add()
364 CHECK_CWISE2_IF(internal::packet_traits<Scalar>::HasAdd, REF_ADD, internal::padd); in packetmath_minus_zero_add()
383 typedef typename internal::unpacket_traits<Packet>::type Scalar; in run() typedef
384 Scalar s = internal::random<Scalar>(); in run()
391 template <typename Scalar, typename Packet>
393 typedef internal::packet_traits<Scalar> PacketTraits; in packetmath()
395 typedef typename NumTraits<Scalar>::Real RealScalar; in packetmath()
398 std::cerr << "=== Testing packet of type '" << typeid(Packet).name() << "' and scalar type '" in packetmath()
399 << typeid(Scalar).name() << "' and size '" << PacketSize << "' ===\n"; in packetmath()
403 EIGEN_ALIGN_MAX Scalar data1[size]; in packetmath()
404 EIGEN_ALIGN_MAX Scalar data2[size]; in packetmath()
405 EIGEN_ALIGN_MAX Scalar data3[size]; in packetmath()
406 EIGEN_ALIGN_MAX Scalar ref[size]; in packetmath()
410 eigen_optimization_barrier_test<Scalar>::run(); in packetmath()
413 data1[i] = internal::random<Scalar>() / RealScalar(PacketSize); in packetmath()
414 data2[i] = internal::random<Scalar>() / RealScalar(PacketSize); in packetmath()
438 … 0; k < PacketSize; ++k) data3[k] = ((umask & (0x1ull << k)) >> k) ? data1[k + offset] : Scalar(0); in packetmath()
450 internal::pstore(data2, internal::pset1<Packet>(Scalar(0))); in packetmath()
452 … 0; k < PacketSize; ++k) data3[k] = ((umask & (0x1ull << k)) >> k) ? data1[k + offset] : Scalar(0); in packetmath()
517 ref[0] = Scalar(0); in packetmath()
523 for (int i = 0; i < HalfPacketSize; ++i) ref[i] = Scalar(0); in packetmath()
529 ref[0] = Scalar(1); in packetmath()
579 EIGEN_ALIGN_MAX Scalar result[size]; in packetmath()
591 for (int k = 0; k < int(sizeof(Scalar)); ++k) { in packetmath()
595 data1[i + PacketSize] = internal::random<Scalar>(); in packetmath()
597 data1[i + 2 * PacketSize] = internal::random<Scalar>(); in packetmath()
603 data1[i] = internal::random<Scalar>(); in packetmath()
610 packetmath_boolean_mask_ops<Scalar, Packet>(); in packetmath()
611 packetmath_pcast_ops_runner<Scalar, Packet>::run(); in packetmath()
612 packetmath_minus_zero_add<Scalar, Packet>(); in packetmath()
615 data1[i] = numext::abs(internal::random<Scalar>()); in packetmath()
623 template <typename Scalar>
624 Scalar log2(Scalar x) { in log2()
625 return Scalar(EIGEN_LOG2E) * std::log(x); in log2()
628 template <typename Scalar, typename Packet>
630 typedef internal::packet_traits<Scalar> PacketTraits; in packetmath_real()
634 EIGEN_ALIGN_MAX Scalar data1[PacketSize * 4]; in packetmath_real()
635 EIGEN_ALIGN_MAX Scalar data2[PacketSize * 4]; in packetmath_real()
636 EIGEN_ALIGN_MAX Scalar ref[PacketSize * 4]; in packetmath_real()
639 …data1[i] = Scalar(internal::random<double>(0, 1) * std::pow(10., internal::random<double>(-6, 6))); in packetmath_real()
640 …data2[i] = Scalar(internal::random<double>(0, 1) * std::pow(10., internal::random<double>(-6, 6))); in packetmath_real()
643 if (internal::random<float>(0, 1) < 0.1f) data1[internal::random<int>(0, PacketSize)] = Scalar(0); in packetmath_real()
650 …data1[i] = Scalar(internal::random<double>(-1, 1) * std::pow(10., internal::random<double>(-3, 3))… in packetmath_real()
651 …data2[i] = Scalar(internal::random<double>(-1, 1) * std::pow(10., internal::random<double>(-3, 3))… in packetmath_real()
662 packetmath_boolean_mask_ops_real<Scalar,Packet>(); in packetmath_real()
666 typedef typename internal::make_integer<Scalar>::type IntType; in packetmath_real()
668 Scalar val = numext::mini( in packetmath_real()
669 Scalar(2) * static_cast<Scalar>(NumTraits<IntType>::highest()), in packetmath_real()
670 NumTraits<Scalar>::highest()); in packetmath_real()
671 std::vector<Scalar> values; in packetmath_real()
672 while (val > Scalar(0.25)) { in packetmath_real()
675 values.push_back(val + Scalar(0.3)); in packetmath_real()
676 values.push_back(val + Scalar(0.5)); in packetmath_real()
677 values.push_back(val + Scalar(0.8)); in packetmath_real()
678 values.push_back(val + Scalar(1)); in packetmath_real()
679 values.push_back(val + Scalar(1.3)); in packetmath_real()
680 values.push_back(val + Scalar(1.5)); in packetmath_real()
681 values.push_back(val + Scalar(1.8)); in packetmath_real()
683 values.push_back(-val - Scalar(0.3)); in packetmath_real()
684 values.push_back(-val - Scalar(0.5)); in packetmath_real()
685 values.push_back(-val - Scalar(0.8)); in packetmath_real()
686 values.push_back(-val - Scalar(1)); in packetmath_real()
687 values.push_back(-val - Scalar(1.3)); in packetmath_real()
688 values.push_back(-val - Scalar(1.5)); in packetmath_real()
689 values.push_back(-val - Scalar(1.8)); in packetmath_real()
690 values.push_back(Scalar(-1.5) + val); // Bug 1785. in packetmath_real()
691 val = val / Scalar(2); in packetmath_real()
693 values.push_back(NumTraits<Scalar>::infinity()); in packetmath_real()
694 values.push_back(-NumTraits<Scalar>::infinity()); in packetmath_real()
695 values.push_back(NumTraits<Scalar>::quiet_NaN()); in packetmath_real()
707 data1[i] = Scalar(internal::random<double>(-1, 1)); in packetmath_real()
708 data2[i] = Scalar(internal::random<double>(-1, 1)); in packetmath_real()
714 data1[i] = Scalar(internal::random<double>(-87, 88)); in packetmath_real()
715 data2[i] = Scalar(internal::random<double>(-87, 88)); in packetmath_real()
723 data1[0] = Scalar(std::ldexp(1, NumTraits<Scalar>::min_exponent()-j)); in packetmath_real()
730 data1[0] = Scalar(0); in packetmath_real()
736 Scalar sout; in packetmath_real()
737 Scalar special[] = { NumTraits<Scalar>::infinity(), in packetmath_real()
738 -NumTraits<Scalar>::infinity(), in packetmath_real()
739 NumTraits<Scalar>::quiet_NaN()}; in packetmath_real()
742 ref[0] = Scalar(REF_FREXP(data1[0], ref[PacketSize])); in packetmath_real()
749 data1[i] = Scalar(internal::random<double>(-1, 1)); in packetmath_real()
750 data2[i] = Scalar(internal::random<double>(-1, 1)); in packetmath_real()
753 data1[i+PacketSize] = Scalar(internal::random<int>(-4, 4)); in packetmath_real()
754 data2[i+PacketSize] = Scalar(internal::random<double>(-4, 4)); in packetmath_real()
758 data1[0] = Scalar(-1); in packetmath_real()
760 data1[PacketSize] = Scalar(NumTraits<Scalar>::min_exponent()-55); in packetmath_real()
763 data1[PacketSize] = Scalar(NumTraits<Scalar>::max_exponent()+10); in packetmath_real()
766 data1[0] = NumTraits<Scalar>::quiet_NaN(); in packetmath_real()
770 data1[0] = NumTraits<Scalar>::infinity(); in packetmath_real()
771 data1[PacketSize] = Scalar(NumTraits<Scalar>::min_exponent()-10); in packetmath_real()
774 data1[0] = Scalar(0); in packetmath_real()
775 data1[PacketSize] = Scalar(NumTraits<Scalar>::max_exponent()+10); in packetmath_real()
778 data1[0] = Scalar(std::ldexp(Scalar(1.0), NumTraits<Scalar>::min_exponent()-1)); in packetmath_real()
779 data1[PacketSize] = Scalar(-NumTraits<Scalar>::min_exponent() in packetmath_real()
780 +NumTraits<Scalar>::max_exponent()); in packetmath_real()
783 data1[0] = Scalar(std::ldexp(Scalar(1.0), NumTraits<Scalar>::max_exponent()-1)); in packetmath_real()
784 data1[PacketSize] = Scalar(+NumTraits<Scalar>::min_exponent() in packetmath_real()
785 -NumTraits<Scalar>::max_exponent()); in packetmath_real()
790 …data1[i] = Scalar(internal::random<double>(-1, 1) * std::pow(10., internal::random<double>(-6, 6))… in packetmath_real()
791 …data2[i] = Scalar(internal::random<double>(-1, 1) * std::pow(10., internal::random<double>(-6, 6))… in packetmath_real()
793 data1[0] = Scalar(1e-20); in packetmath_real()
796 const Scalar small = NumTraits<Scalar>::epsilon(); in packetmath_real()
797 data1[0] = NumTraits<Scalar>::quiet_NaN(); in packetmath_real()
803 if (!internal::is_same<Scalar, bfloat16>::value) { in packetmath_real()
808 data1[1] = Scalar(0); in packetmath_real()
811 if (!internal::is_same<Scalar, bfloat16>::value) { in packetmath_real()
814 VERIFY_IS_EQUAL(std::exp(Scalar(0)), data2[1]); in packetmath_real()
816 data1[0] = (std::numeric_limits<Scalar>::min)(); in packetmath_real()
817 data1[1] = -(std::numeric_limits<Scalar>::min)(); in packetmath_real()
819 VERIFY_IS_APPROX(std::exp((std::numeric_limits<Scalar>::min)()), data2[0]); in packetmath_real()
820 VERIFY_IS_APPROX(std::exp(-(std::numeric_limits<Scalar>::min)()), data2[1]); in packetmath_real()
822 data1[0] = std::numeric_limits<Scalar>::denorm_min(); in packetmath_real()
823 data1[1] = -std::numeric_limits<Scalar>::denorm_min(); in packetmath_real()
825 VERIFY_IS_APPROX(std::exp(std::numeric_limits<Scalar>::denorm_min()), data2[0]); in packetmath_real()
826 VERIFY_IS_APPROX(std::exp(-std::numeric_limits<Scalar>::denorm_min()), data2[1]); in packetmath_real()
831 data1[0] = NumTraits<Scalar>::quiet_NaN(); in packetmath_real()
832 test::packet_helper<internal::packet_traits<Scalar>::HasTanh, Packet> h; in packetmath_real()
838 internal::scalar_logistic_op<Scalar> logistic; in packetmath_real()
840 data1[i] = Scalar(internal::random<double>(-20, 20)); in packetmath_real()
851 data1[0] = NumTraits<Scalar>::infinity(); in packetmath_real()
852 data1[1] = Scalar(-1); in packetmath_real()
854 data1[0] = NumTraits<Scalar>::infinity(); in packetmath_real()
855 data1[1] = -NumTraits<Scalar>::infinity(); in packetmath_real()
860 data1[0] = NumTraits<Scalar>::quiet_NaN(); in packetmath_real()
861 data1[1] = NumTraits<Scalar>::epsilon(); in packetmath_real()
867 if (!internal::is_same<Scalar, bfloat16>::value) { in packetmath_real()
871 data1[0] = -NumTraits<Scalar>::epsilon(); in packetmath_real()
872 data1[1] = Scalar(0); in packetmath_real()
875 VERIFY_IS_EQUAL(std::log(Scalar(0)), data2[1]); in packetmath_real()
877 data1[0] = (std::numeric_limits<Scalar>::min)(); in packetmath_real()
878 data1[1] = -(std::numeric_limits<Scalar>::min)(); in packetmath_real()
881 if (!internal::is_same<Scalar, bfloat16>::value) { in packetmath_real()
882 VERIFY_IS_APPROX(std::log((std::numeric_limits<Scalar>::min)()), data2[0]); in packetmath_real()
888 if (std::numeric_limits<Scalar>::has_denorm == std::denorm_present) { in packetmath_real()
889 data1[0] = std::numeric_limits<Scalar>::denorm_min(); in packetmath_real()
890 data1[1] = -std::numeric_limits<Scalar>::denorm_min(); in packetmath_real()
893 // VERIFY_IS_EQUAL(std::log(std::numeric_limits<Scalar>::denorm_min()), data2[0]); in packetmath_real()
898 data1[0] = Scalar(-1.0f); in packetmath_real()
902 data1[0] = NumTraits<Scalar>::infinity(); in packetmath_real()
908 data1[0] = Scalar(-2); in packetmath_real()
909 data1[1] = -NumTraits<Scalar>::infinity(); in packetmath_real()
916 data1[0] = Scalar(-1.0f); in packetmath_real()
917 if (std::numeric_limits<Scalar>::has_denorm == std::denorm_present) { in packetmath_real()
918 data1[1] = -std::numeric_limits<Scalar>::denorm_min(); in packetmath_real()
920 data1[1] = -NumTraits<Scalar>::epsilon(); in packetmath_real()
928 && !internal::is_same<Scalar, half>::value in packetmath_real()
929 && !internal::is_same<Scalar, bfloat16>::value) { in packetmath_real()
931 for (Scalar k = Scalar(1); k < Scalar(10000) / NumTraits<Scalar>::epsilon(); k *= Scalar(2)) { in packetmath_real()
933 …data1[0] = Scalar((2 * double(k) + k1) * double(EIGEN_PI) / 2 * internal::random<double>(0.8, 1.2)… in packetmath_real()
934 …data1[1] = Scalar((2 * double(k) + 2 + k1) * double(EIGEN_PI) / 2 * internal::random<double>(0.8, … in packetmath_real()
937 VERIFY(data2[0] <= Scalar(1.) && data2[0] >= Scalar(-1.)); in packetmath_real()
938 VERIFY(data2[1] <= Scalar(1.) && data2[1] >= Scalar(-1.)); in packetmath_real()
939 VERIFY(data2[PacketSize + 0] <= Scalar(1.) && data2[PacketSize + 0] >= Scalar(-1.)); in packetmath_real()
940 VERIFY(data2[PacketSize + 1] <= Scalar(1.) && data2[PacketSize + 1] >= Scalar(-1.)); in packetmath_real()
947 VERIFY_IS_APPROX(numext::abs2(data2[0]) + numext::abs2(data2[PacketSize + 0]), Scalar(1)); in packetmath_real()
948 VERIFY_IS_APPROX(numext::abs2(data2[1]) + numext::abs2(data2[PacketSize + 1]), Scalar(1)); in packetmath_real()
952 data1[0] = NumTraits<Scalar>::infinity(); in packetmath_real()
953 data1[1] = -NumTraits<Scalar>::infinity(); in packetmath_real()
962 data1[0] = NumTraits<Scalar>::quiet_NaN(); in packetmath_real()
968 data1[0] = -Scalar(0.); in packetmath_real()
972 VERIFY_IS_EQUAL(data2[0], Scalar(1)); in packetmath_real()
977 #define CAST_CHECK_CWISE1_IF(COND, REFOP, POP, SCALAR, REFTYPE) if(COND) { \ argument
980 ref[i] = SCALAR(REFOP(static_cast<REFTYPE>(data1[i]))); \
985 template <typename Scalar>
986 Scalar propagate_nan_max(const Scalar& a, const Scalar& b) { in propagate_nan_max()
992 template <typename Scalar>
993 Scalar propagate_nan_min(const Scalar& a, const Scalar& b) { in propagate_nan_min()
999 template <typename Scalar>
1000 Scalar propagate_number_max(const Scalar& a, const Scalar& b) { in propagate_number_max()
1006 template <typename Scalar>
1007 Scalar propagate_number_min(const Scalar& a, const Scalar& b) { in propagate_number_min()
1013 template <typename Scalar, typename Packet>
1015 typedef internal::packet_traits<Scalar> PacketTraits; in packetmath_notcomplex()
1018 EIGEN_ALIGN_MAX Scalar data1[PacketSize * 4]; in packetmath_notcomplex()
1019 EIGEN_ALIGN_MAX Scalar data2[PacketSize * 4]; in packetmath_notcomplex()
1020 EIGEN_ALIGN_MAX Scalar ref[PacketSize * 4]; in packetmath_notcomplex()
1022 Array<Scalar, Dynamic, 1>::Map(data1, PacketSize * 4).setRandom(); in packetmath_notcomplex()
1042 for (int i = 0; i < PacketSize; ++i) ref[i] = data1[0] + Scalar(i); in packetmath_notcomplex()
1049 // for (unsigned int i=0; i<PacketSize*sizeof(Scalar); ++i) data1_bits[i] = 0xff; in packetmath_notcomplex()
1053 // for (unsigned int i=0; i<sizeof(Scalar); ++i) data1_bits[k*sizeof(Scalar)+i] = 0x0; in packetmath_notcomplex()
1055 // for (unsigned int i=0; i<sizeof(Scalar); ++i) data1_bits[k*sizeof(Scalar)+i] = 0xff; in packetmath_notcomplex()
1059 for (unsigned int i = 0; i < PacketSize * sizeof(Scalar); ++i) data1_bits[i] = 0x0; in packetmath_notcomplex()
1062 for (unsigned int i = 0; i < sizeof(Scalar); ++i) data1_bits[k * sizeof(Scalar) + i] = 0xff; in packetmath_notcomplex()
1064 for (unsigned int i = 0; i < sizeof(Scalar); ++i) data1_bits[k * sizeof(Scalar) + i] = 0x00; in packetmath_notcomplex()
1070 if (!NumTraits<Scalar>::IsInteger) { in packetmath_notcomplex()
1086 data1[index] = NumTraits<Scalar>::quiet_NaN(); in packetmath_notcomplex()
1092 for (int i = 0; i < 4 * PacketSize; ++i) data1[i] = NumTraits<Scalar>::quiet_NaN(); in packetmath_notcomplex()
1100 data1[i] = internal::random<bool>() ? NumTraits<Scalar>::quiet_NaN() : Scalar(0); in packetmath_notcomplex()
1101 data1[i + PacketSize] = internal::random<bool>() ? NumTraits<Scalar>::quiet_NaN() : Scalar(0); in packetmath_notcomplex()
1110 packetmath_boolean_mask_ops_notcomplex<Scalar, Packet>(); in packetmath_notcomplex()
1113 template <typename Scalar, typename Packet, bool ConjLhs, bool ConjRhs>
1114 void test_conj_helper(Scalar* data1, Scalar* data2, Scalar* ref, Scalar* pval) { in test_conj_helper()
1119 internal::conj_helper<Scalar, Scalar, ConjLhs, ConjRhs> cj; in test_conj_helper()
1130 Scalar tmp = ref[i]; in test_conj_helper()
1139 template <typename Scalar, typename Packet>
1141 typedef internal::packet_traits<Scalar> PacketTraits; in packetmath_complex()
1142 typedef typename Scalar::value_type RealScalar; in packetmath_complex()
1146 EIGEN_ALIGN_MAX Scalar data1[PacketSize * 4]; in packetmath_complex()
1147 EIGEN_ALIGN_MAX Scalar data2[PacketSize * 4]; in packetmath_complex()
1148 EIGEN_ALIGN_MAX Scalar ref[PacketSize * 4]; in packetmath_complex()
1149 EIGEN_ALIGN_MAX Scalar pval[PacketSize * 4]; in packetmath_complex()
1152 data1[i] = internal::random<Scalar>() * Scalar(1e2); in packetmath_complex()
1153 data2[i] = internal::random<Scalar>() * Scalar(1e2); in packetmath_complex()
1156 test_conj_helper<Scalar, Packet, false, false>(data1, data2, ref, pval); in packetmath_complex()
1157 test_conj_helper<Scalar, Packet, false, true>(data1, data2, ref, pval); in packetmath_complex()
1158 test_conj_helper<Scalar, Packet, true, false>(data1, data2, ref, pval); in packetmath_complex()
1159 test_conj_helper<Scalar, Packet, true, true>(data1, data2, ref, pval); in packetmath_complex()
1163 for (int i = 0; i < PacketSize; ++i) ref[i] = Scalar(std::imag(data1[i]), std::real(data1[i])); in packetmath_complex()
1170 data1[i] = Scalar(internal::random<RealScalar>(), internal::random<RealScalar>()); in packetmath_complex()
1179 data1[0] = Scalar(zero, zero); in packetmath_complex()
1180 data1[1] = Scalar(-zero, zero); in packetmath_complex()
1181 data1[2] = Scalar(one, zero); in packetmath_complex()
1182 data1[3] = Scalar(zero, one); in packetmath_complex()
1184 data1[0] = Scalar(-one, zero); in packetmath_complex()
1185 data1[1] = Scalar(zero, -one); in packetmath_complex()
1186 data1[2] = Scalar(one, one); in packetmath_complex()
1187 data1[3] = Scalar(-one, -one); in packetmath_complex()
1189 data1[0] = Scalar(inf, zero); in packetmath_complex()
1190 data1[1] = Scalar(zero, inf); in packetmath_complex()
1191 data1[2] = Scalar(-inf, zero); in packetmath_complex()
1192 data1[3] = Scalar(zero, -inf); in packetmath_complex()
1194 data1[0] = Scalar(inf, inf); in packetmath_complex()
1195 data1[1] = Scalar(-inf, inf); in packetmath_complex()
1196 data1[2] = Scalar(inf, -inf); in packetmath_complex()
1197 data1[3] = Scalar(-inf, -inf); in packetmath_complex()
1199 data1[0] = Scalar(nan, zero); in packetmath_complex()
1200 data1[1] = Scalar(zero, nan); in packetmath_complex()
1201 data1[2] = Scalar(nan, one); in packetmath_complex()
1202 data1[3] = Scalar(one, nan); in packetmath_complex()
1204 data1[0] = Scalar(nan, nan); in packetmath_complex()
1205 data1[1] = Scalar(inf, nan); in packetmath_complex()
1206 data1[2] = Scalar(nan, inf); in packetmath_complex()
1207 data1[3] = Scalar(-inf, nan); in packetmath_complex()
1212 template <typename Scalar, typename Packet>
1214 typedef typename NumTraits<Scalar>::Real RealScalar; in packetmath_scatter_gather()
1216 EIGEN_ALIGN_MAX Scalar data1[PacketSize]; in packetmath_scatter_gather()
1219 data1[i] = internal::random<Scalar>() / RealScalar(PacketSize); in packetmath_scatter_gather()
1225 EIGEN_ALIGN_MAX Scalar buffer[PacketSize * 20] = {}; in packetmath_scatter_gather()
1228 internal::pscatter<Scalar, Packet>(buffer, packet, stride); in packetmath_scatter_gather()
1234 VERIFY(test::isApproxAbs(buffer[i], Scalar(0), refvalue) && "pscatter"); in packetmath_scatter_gather()
1239 buffer[i] = internal::random<Scalar>() / RealScalar(PacketSize); in packetmath_scatter_gather()
1241 packet = internal::pgather<Scalar, Packet>(buffer, 7); in packetmath_scatter_gather()
1251 template <typename Scalar, typename PacketType>
1252 struct runall<Scalar, PacketType, false, false> { // i.e. float or double
1254 packetmath<Scalar, PacketType>(); in run()
1255 packetmath_scatter_gather<Scalar, PacketType>(); in run()
1256 packetmath_notcomplex<Scalar, PacketType>(); in run()
1257 packetmath_real<Scalar, PacketType>(); in run()
1261 template <typename Scalar, typename PacketType>
1262 struct runall<Scalar, PacketType, false, true> { // i.e. int
1264 packetmath<Scalar, PacketType>(); in run()
1265 packetmath_scatter_gather<Scalar, PacketType>(); in run()
1266 packetmath_notcomplex<Scalar, PacketType>(); in run()
1270 template <typename Scalar, typename PacketType>
1271 struct runall<Scalar, PacketType, true, false> { // i.e. complex
1273 packetmath<Scalar, PacketType>(); in run()
1274 packetmath_scatter_gather<Scalar, PacketType>(); in run()
1275 packetmath_complex<Scalar, PacketType>(); in run()