Home | History | Annotate | Download | only in test

Lines Matching full:scalar

21 template<typename Scalar> bool isApproxAbs(const Scalar& a, const Scalar& b, const typename NumTraits<Scalar>::Real& refvalue)
26 template<typename Scalar> bool areApproxAbs(const Scalar* a, const Scalar* b, int size, const typename NumTraits<Scalar>::Real& refvalue)
32 std::cout << "[" << Map<const Matrix<Scalar,1,Dynamic> >(a,size) << "]" << " != " << Map<const Matrix<Scalar,1,Dynamic> >(b,size) << "\n";
39 template<typename Scalar> bool areApprox(const Scalar* a, const Scalar* b, int size)
45 std::cout << "[" << Map<const Matrix<Scalar,1,Dynamic> >(a,size) << "]" << " != " << Map<const Matrix<Scalar,1,Dynamic> >(b,size) << "\n";
100 template<typename Scalar> void packetmath()
103 typedef typename internal::packet_traits<Scalar>::type Packet;
104 const int PacketSize = internal::packet_traits<Scalar>::size;
105 typedef typename NumTraits<Scalar>::Real RealScalar;
108 EIGEN_ALIGN16 Scalar data1[internal::packet_traits<Scalar>::size*4];
109 EIGEN_ALIGN16 Scalar data2[internal::packet_traits<Scalar>::size*4];
111 EIGEN_ALIGN16 Scalar ref[internal::packet_traits<Scalar>::size*4];
115 data1[i] = internal::random<Scalar>()/RealScalar(PacketSize);
116 data2[i] = internal::random<Scalar>()/RealScalar(PacketSize);
155 if (!internal::is_same<Scalar,int>::value)
208 template<typename Scalar> void packetmath_real()
211 typedef typename internal::packet_traits<Scalar>::type Packet;
212 const int PacketSize = internal::packet_traits<Scalar>::size;
215 EIGEN_ALIGN16 Scalar data1[internal::packet_traits<Scalar>::size*4];
216 EIGEN_ALIGN16 Scalar data2[internal::packet_traits<Scalar>::size*4];
217 EIGEN_ALIGN16 Scalar ref[internal::packet_traits<Scalar>::size*4];
221 data1[i] = internal::random<Scalar>(-1,1) * std::pow(Scalar(10), internal::random<Scalar>(-3,3));
222 data2[i] = internal::random<Scalar>(-1,1) * std::pow(Scalar(10), internal::random<Scalar>(-3,3));
224 CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasSin, std::sin, internal::psin);
225 CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasCos, std::cos, internal::pcos);
226 CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasTan, std::tan, internal::ptan);
230 data1[i] = internal::random<Scalar>(-1,1);
231 data2[i] = internal::random<Scalar>(-1,1);
233 CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasASin, std::asin, internal::pasin);
234 CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasACos, std::acos, internal::pacos);
238 data1[i] = internal::random<Scalar>(-87,88);
239 data2[i] = internal::random<Scalar>(-87,88);
241 CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasExp, std::exp, internal::pexp);
245 data1[i] = internal::random<Scalar>(0,1) * std::pow(Scalar(10), internal::random<Scalar>(-6,6));
246 data2[i] = internal::random<Scalar>(0,1) * std::pow(Scalar(10), internal::random<Scalar>(-6,6));
250 CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasLog, std::log, internal::plog);
251 CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasSqrt, std::sqrt, internal::psqrt);
254 template<typename Scalar> void packetmath_notcomplex()
257 typedef typename internal::packet_traits<Scalar>::type Packet;
258 const int PacketSize = internal::packet_traits<Scalar>::size;
260 EIGEN_ALIGN16 Scalar data1[internal::packet_traits<Scalar>::size*4];
261 EIGEN_ALIGN16 Scalar data2[internal::packet_traits<Scalar>::size*4];
262 EIGEN_ALIGN16 Scalar ref[internal::packet_traits<Scalar>::size*4];
264 Array<Scalar,Dynamic,1>::Map(data1, internal::packet_traits<Scalar>::size*4).setRandom();
281 ref[i] = data1[0]+Scalar(i);
286 template<typename Scalar,bool ConjLhs,bool ConjRhs> void test_conj_helper(Scalar* data1, Scalar* data2, Scalar* ref, Scalar* pval)
288 typedef typename internal::packet_traits<Scalar>::type Packet;
289 const int PacketSize = internal::packet_traits<Scalar>::size;
293 internal::conj_helper<Scalar,Scalar,ConjLhs,ConjRhs> cj;
306 Scalar tmp = ref[i];
314 template<typename Scalar> void packetmath_complex()
316 typedef typename internal::packet_traits<Scalar>::type Packet;
317 const int PacketSize = internal::packet_traits<Scalar>::size;
320 EIGEN_ALIGN16 Scalar data1[PacketSize*4];
321 EIGEN_ALIGN16 Scalar data2[PacketSize*4];
322 EIGEN_ALIGN16 Scalar ref[PacketSize*4];
323 EIGEN_ALIGN16 Scalar pval[PacketSize*4];
327 data1[i] = internal::random<Scalar>() * Scalar(1e2);
328 data2[i] = internal::random<Scalar>() * Scalar(1e2);
331 test_conj_helper<Scalar,false,false> (data1,data2,ref,pval);
332 test_conj_helper<Scalar,false,true> (data1,data2,ref,pval);
333 test_conj_helper<Scalar,true,false> (data1,data2,ref,pval);
334 test_conj_helper<Scalar,true,true> (data1,data2,ref,pval);
338 ref[i] = Scalar(std::imag(data1[i]),std::real(data1[i]));