From f4d623ffa772093169a0ac949c7955bf38bf1bbf Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Fri, 6 Jul 2018 17:13:36 +0200 Subject: Complete Packet8h implementation and test it in packetmath unit test --- test/packetmath.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'test') diff --git a/test/packetmath.cpp b/test/packetmath.cpp index 4b19be92d..94ee91e3b 100644 --- a/test/packetmath.cpp +++ b/test/packetmath.cpp @@ -123,7 +123,7 @@ template void packetmath() EIGEN_ALIGN_MAX Scalar data2[size]; EIGEN_ALIGN_MAX Packet packets[PacketSize*2]; EIGEN_ALIGN_MAX Scalar ref[size]; - RealScalar refvalue = 0; + RealScalar refvalue = RealScalar(0); for (int i=0; i()/RealScalar(PacketSize); @@ -178,7 +178,8 @@ template void packetmath() VERIFY((!PacketTraits::Vectorizable) || PacketTraits::HasSub); VERIFY((!PacketTraits::Vectorizable) || PacketTraits::HasMul); VERIFY((!PacketTraits::Vectorizable) || PacketTraits::HasNegate); - VERIFY((internal::is_same::value) || (!PacketTraits::Vectorizable) || PacketTraits::HasDiv); + // Disabled as it is not clear why it would be mandatory to support division. + //VERIFY((internal::is_same::value) || (!PacketTraits::Vectorizable) || PacketTraits::HasDiv); CHECK_CWISE2_IF(PacketTraits::HasAdd, REF_ADD, internal::padd); CHECK_CWISE2_IF(PacketTraits::HasSub, REF_SUB, internal::psub); @@ -242,29 +243,30 @@ template void packetmath() } } - ref[0] = 0; + ref[0] = Scalar(0); for (int i=0; i(data1)), refvalue) && "internal::predux"); + if(PacketSize==8 && internal::unpacket_traits::half>::size ==4) // so far, predux_half_dowto4 is only required in such a case { int HalfPacketSize = PacketSize>4 ? PacketSize/2 : PacketSize; for (int i=0; i(data1))); VERIFY(areApprox(ref, data2, HalfPacketSize) && "internal::predux_half_dowto4"); } - ref[0] = 1; + ref[0] = Scalar(1); for (int i=0; i(data1))) && "internal::predux_mul"); for (int j=0; j(data1+j*PacketSize); @@ -630,6 +632,7 @@ void test_packetmath() CALL_SUBTEST_3( packetmath() ); CALL_SUBTEST_4( packetmath >() ); CALL_SUBTEST_5( packetmath >() ); + CALL_SUBTEST_6( packetmath() ); CALL_SUBTEST_1( packetmath_notcomplex() ); CALL_SUBTEST_2( packetmath_notcomplex() ); -- cgit v1.2.3