aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/packetmath.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/packetmath.cpp')
-rw-r--r--test/packetmath.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/packetmath.cpp b/test/packetmath.cpp
index 7f2e69a50..032c0e4c8 100644
--- a/test/packetmath.cpp
+++ b/test/packetmath.cpp
@@ -447,6 +447,21 @@ template<typename Scalar,typename Packet> void packetmath_real()
VERIFY((numext::isnan)(data2[0]));
}
+ {
+ internal::scalar_logistic_op<Scalar> logistic;
+ for (int i=0; i<size; ++i)
+ {
+ data1[i] = internal::random<Scalar>(-20,20);
+ }
+ internal::pstore(data2, logistic.packetOp(internal::pload<Packet>(data1)));
+ for (int i=0; i<PacketSize; ++i) {
+ VERIFY_IS_APPROX(data2[i],logistic(data1[i]));
+ #ifdef EIGEN_VECTORIZE // don't check for exactness when using the i387 FPU
+ VERIFY_IS_EQUAL(data2[i],logistic(data1[i]));
+ #endif
+ }
+ }
+
#if EIGEN_HAS_C99_MATH && (__cplusplus > 199711L)
data1[0] = std::numeric_limits<Scalar>::infinity();
data1[1] = Scalar(-1);