aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2011-05-18 21:11:03 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2011-05-18 21:11:03 +0200
commit8170ef0b2d3cc146fb2340226fe840e7caa287d0 (patch)
treea4c3e20131f1ebbf3e56fe79d82f21aff9a4ee78 /test
parent7f2a88c91f758ef42772e8c877730f5233d71817 (diff)
add unit test for plset
Diffstat (limited to 'test')
-rw-r--r--test/packetmath.cpp11
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)