diff options
author | 2011-05-18 21:11:03 +0200 | |
---|---|---|
committer | 2011-05-18 21:11:03 +0200 | |
commit | 8170ef0b2d3cc146fb2340226fe840e7caa287d0 (patch) | |
tree | a4c3e20131f1ebbf3e56fe79d82f21aff9a4ee78 /test | |
parent | 7f2a88c91f758ef42772e8c877730f5233d71817 (diff) |
add unit test for plset
Diffstat (limited to 'test')
-rw-r--r-- | test/packetmath.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/test/packetmath.cpp b/test/packetmath.cpp index 48f80d9db..a7a0cd132 100644 --- a/test/packetmath.cpp +++ b/test/packetmath.cpp @@ -44,7 +44,7 @@ template<typename Scalar> bool areApproxAbs(const Scalar* a, const Scalar* b, in { if (!isApproxAbs(a[i],b[i],refvalue)) { - std::cout << "a[" << i << "]: " << a[i] << " != b[" << i << "]: " << b[i] << std::endl; + std::cout << "[" << Map<const Matrix<Scalar,1,Dynamic> >(a,size) << "]" << " != " << Map<const Matrix<Scalar,1,Dynamic> >(b,size) << "\n"; return false; } } @@ -57,7 +57,7 @@ template<typename Scalar> bool areApprox(const Scalar* a, const Scalar* b, int s { if (!internal::isApprox(a[i],b[i])) { - std::cout << "a[" << i << "]: " << a[i] << " != b[" << i << "]: " << b[i] << std::endl; + std::cout << "[" << Map<const Matrix<Scalar,1,Dynamic> >(a,size) << "]" << " != " << Map<const Matrix<Scalar,1,Dynamic> >(b,size) << "\n"; return false; } } @@ -180,7 +180,7 @@ template<typename Scalar> void packetmath() internal::pstore(data2, internal::pset1<Packet>(data1[offset])); VERIFY(areApprox(ref, data2, PacketSize) && "internal::pset1"); } - + VERIFY(internal::isApprox(data1[0], internal::pfirst(internal::pload<Packet>(data1))) && "internal::pfirst"); if(PacketSize>1) @@ -275,6 +275,11 @@ template<typename Scalar> void packetmath_real() for (int i=0; i<PacketSize; ++i) ref[0] = std::max(ref[0],data1[i]); VERIFY(internal::isApprox(ref[0], internal::predux_max(internal::pload<Packet>(data1))) && "internal::predux_max"); + + for (int i=0; i<PacketSize; ++i) + ref[i] = data1[0]+Scalar(i); + internal::pstore(data2, internal::plset(data1[0])); + VERIFY(areApprox(ref, data2, PacketSize) && "internal::plset"); } template<typename Scalar,bool ConjLhs,bool ConjRhs> void test_conj_helper(Scalar* data1, Scalar* data2, Scalar* ref, Scalar* pval) |