aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/packetmath.cpp
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2018-12-23 15:40:52 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2018-12-23 15:40:52 +0100
commit5713fb7febf24140bfe748d8b868391f01828992 (patch)
treef3acd9a13d0c898817cbde424beae4c7eae890b2 /test/packetmath.cpp
parent6dd93f7e3b92be11991049605655e0bb84ad7a13 (diff)
Fix plog(+INF): it returned ~87 instead of +INF
Diffstat (limited to 'test/packetmath.cpp')
-rw-r--r--test/packetmath.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/test/packetmath.cpp b/test/packetmath.cpp
index 916b37bef..7e46b01de 100644
--- a/test/packetmath.cpp
+++ b/test/packetmath.cpp
@@ -520,10 +520,11 @@ template<typename Scalar,typename Packet> void packetmath_real()
CHECK_CWISE1_IF(internal::packet_traits<Scalar>::HasErfc, std::erfc, internal::perfc);
#endif
- if(PacketTraits::HasLog && PacketSize>=2)
+ if(PacketSize>=2)
{
data1[0] = std::numeric_limits<Scalar>::quiet_NaN();
data1[1] = std::numeric_limits<Scalar>::epsilon();
+ if(PacketTraits::HasLog)
{
packet_helper<PacketTraits::HasLog,Packet> h;
h.store(data2, internal::plog(h.load(data1)));
@@ -551,6 +552,10 @@ template<typename Scalar,typename Packet> void packetmath_real()
data1[0] = Scalar(-1.0f);
h.store(data2, internal::plog(h.load(data1)));
VERIFY((numext::isnan)(data2[0]));
+
+ data1[0] = std::numeric_limits<Scalar>::infinity();
+ h.store(data2, internal::plog(h.load(data1)));
+ VERIFY((numext::isinf)(data2[0]));
}
{
packet_helper<PacketTraits::HasSqrt,Packet> h;