From 71780d5d518e9e39022147d2cb6f56899d115ddf Mon Sep 17 00:00:00 2001 From: Erik Schnetter Date: Wed, 3 Jul 2013 11:52:34 -0400 Subject: Correct frexp/ilogb tests --- test.cc | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/test.cc b/test.cc index a6183a1..c84465b 100644 --- a/test.cc +++ b/test.cc @@ -1031,10 +1031,10 @@ struct vecmathlib_test { } static int_t local_frexp1(real_t x) { + if (isinf(x)) return std::numeric_limits::max(); + if (isnan(x)) return std::numeric_limits::max(); int r; std::frexp(x, &r); - if (r==FP_ILOGB0) r=std::numeric_limits::min(); - if (r==FP_ILOGBNAN) r=std::numeric_limits::max(); return r; } static realvec_t local_vfrexp0(realvec_t x) @@ -1050,10 +1050,9 @@ struct vecmathlib_test { } static int_t local_ilogb(real_t x) { - int r = std::ilogb(x); - if (r==FP_ILOGB0) return std::numeric_limits::min(); - if (r==FP_ILOGBNAN) return std::numeric_limits::max(); - return r; + if (x==R(0.0)) return std::numeric_limits::min(); + if (isnan(x)) return std::numeric_limits::max(); + return std::ilogb(x); } static real_t local_ldexp(real_t x, int_t n) { return ldexp(x, n); } static void test_fabs() -- cgit v1.1