From a0d9f9d745b9181f64c31fec2d353717f2b8a9a3 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Wed, 8 May 2013 16:10:44 +0000 Subject: [PATCH] Factor out initializers for libm-test.inc constants. --- ChangeLog | 17 +++++++++++++++++ math/libm-test.inc | 47 ++++++++++++++++++++++++++++------------------- 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1e84dc0..89e0f75 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,22 @@ 2013-05-08 Joseph Myers + * math/libm-test.inc (PLUS_ZERO_INIT): New macro. + (MINUS_ZERO_INIT): Likewise. + (PLUS_INFTY_INIT): Likewise. + (MINUS_INFTY_INIT): Likewise. + (QNAN_VALUE_INIT): Likewise. + (MAX_VALUE_INIT): Likewise. + (MIN_VALUE_INIT): Likewise. + (MIN_SUBNORM_VALUE_INIT): Likewise. + (plus_zero): Initialize with PLUS_ZERO_INIT. + (minus_zero): Initialize with MINUS_ZERO_INIT. + (plus_infty): Initialize with PLUS_INFTY_INIT. + (minus_infty): Initialize with MINUS_INFTY_INIT. + (qnan_value): Initialize with QNAN_VALUE_INIT. + (max_value): Initialize with MAX_VALUE_INIT. + (min_value): Initialize with MIN_VALUE_INIT. + (min_subnorm_value): Initialize with MIN_SUBNORM_VALUE_INIT. + * math/libm-test.inc (RUN_TEST_if_f): New macro. (jn_test): Use TEST_if_f instead of TEST_ff_f. (ldexp_text): Use TEST_fi_i instead of TEST_ff_f. diff --git a/math/libm-test.inc b/math/libm-test.inc index 5cd0bc6..6294f72 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -229,25 +229,34 @@ static int output_max_error; /* Should the maximal errors printed? */ static int output_points; /* Should the single function results printed? */ static int ignore_max_ulp; /* Should we ignore max_ulp? */ -static const FLOAT plus_zero = CHOOSE (0.0L, 0.0, 0.0f, - 0.0L, 0.0, 0.0f); -static const FLOAT minus_zero = CHOOSE (-0.0L, -0.0, -0.0f, - -0.0L, -0.0, -0.0f); -static const FLOAT plus_infty = CHOOSE (HUGE_VALL, HUGE_VAL, HUGE_VALF, - HUGE_VALL, HUGE_VAL, HUGE_VALF); -static const FLOAT minus_infty = CHOOSE (-HUGE_VALL, -HUGE_VAL, -HUGE_VALF, - -HUGE_VALL, -HUGE_VAL, -HUGE_VALF); -static const FLOAT qnan_value = FUNC (__builtin_nan) (""); -static const FLOAT max_value = CHOOSE (LDBL_MAX, DBL_MAX, FLT_MAX, - LDBL_MAX, DBL_MAX, FLT_MAX); -static const FLOAT min_value = CHOOSE (LDBL_MIN, DBL_MIN, FLT_MIN, - LDBL_MIN, DBL_MIN, FLT_MIN); -static const FLOAT min_subnorm_value = CHOOSE (__LDBL_DENORM_MIN__, - __DBL_DENORM_MIN__, - __FLT_DENORM_MIN__, - __LDBL_DENORM_MIN__, - __DBL_DENORM_MIN__, - __FLT_DENORM_MIN__); +#define PLUS_ZERO_INIT CHOOSE (0.0L, 0.0, 0.0f, \ + 0.0L, 0.0, 0.0f) +#define MINUS_ZERO_INIT CHOOSE (-0.0L, -0.0, -0.0f, \ + -0.0L, -0.0, -0.0f) +#define PLUS_INFTY_INIT CHOOSE (HUGE_VALL, HUGE_VAL, HUGE_VALF, \ + HUGE_VALL, HUGE_VAL, HUGE_VALF) +#define MINUS_INFTY_INIT CHOOSE (-HUGE_VALL, -HUGE_VAL, -HUGE_VALF, \ + -HUGE_VALL, -HUGE_VAL, -HUGE_VALF) +#define QNAN_VALUE_INIT FUNC (__builtin_nan) ("") +#define MAX_VALUE_INIT CHOOSE (LDBL_MAX, DBL_MAX, FLT_MAX, \ + LDBL_MAX, DBL_MAX, FLT_MAX) +#define MIN_VALUE_INIT CHOOSE (LDBL_MIN, DBL_MIN, FLT_MIN, \ + LDBL_MIN, DBL_MIN, FLT_MIN) +#define MIN_SUBNORM_VALUE_INIT CHOOSE (__LDBL_DENORM_MIN__, \ + __DBL_DENORM_MIN__, \ + __FLT_DENORM_MIN__, \ + __LDBL_DENORM_MIN__, \ + __DBL_DENORM_MIN__, \ + __FLT_DENORM_MIN__) + +static const FLOAT plus_zero = PLUS_ZERO_INIT; +static const FLOAT minus_zero = MINUS_ZERO_INIT; +static const FLOAT plus_infty = PLUS_INFTY_INIT; +static const FLOAT minus_infty = MINUS_INFTY_INIT; +static const FLOAT qnan_value = QNAN_VALUE_INIT; +static const FLOAT max_value = MAX_VALUE_INIT; +static const FLOAT min_value = MIN_VALUE_INIT; +static const FLOAT min_subnorm_value = MIN_SUBNORM_VALUE_INIT; static FLOAT max_error, real_max_error, imag_max_error; -- 2.7.4