diff options
author | Gael Guennebaud <g.gael@free.fr> | 2014-10-20 11:38:51 +0200 |
---|---|---|
committer | Gael Guennebaud <g.gael@free.fr> | 2014-10-20 11:38:51 +0200 |
commit | aa5f79206fb632d141c3555338f89f59d1bb4633 (patch) | |
tree | a16506f4dcb277c129301dac1a8408cba1136a1d /Eigen/src/Core/arch/SSE/MathFunctions.h | |
parent | b4a9b3f4960657bf2fc156ba5c25a3a32417b861 (diff) |
Fix bug #859: pexp(NaN) returned Inf instead of NaN
Diffstat (limited to 'Eigen/src/Core/arch/SSE/MathFunctions.h')
-rw-r--r-- | Eigen/src/Core/arch/SSE/MathFunctions.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Eigen/src/Core/arch/SSE/MathFunctions.h b/Eigen/src/Core/arch/SSE/MathFunctions.h index 8f78b3a6c..b549e4870 100644 --- a/Eigen/src/Core/arch/SSE/MathFunctions.h +++ b/Eigen/src/Core/arch/SSE/MathFunctions.h @@ -167,7 +167,7 @@ Packet4f pexp<Packet4f>(const Packet4f& _x) emm0 = _mm_cvttps_epi32(fx); emm0 = _mm_add_epi32(emm0, p4i_0x7f); emm0 = _mm_slli_epi32(emm0, 23); - return pmul(y, Packet4f(_mm_castsi128_ps(emm0))); + return pmax(pmul(y, Packet4f(_mm_castsi128_ps(emm0))), _x); } template<> EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED Packet2d pexp<Packet2d>(const Packet2d& _x) |