Factor out initializers for libm-test.inc constants.

This commit is contained in:
Joseph Myers 2013-05-08 16:10:44 +00:00
parent ae08db3ba0
commit a0d9f9d745
2 changed files with 45 additions and 19 deletions

View File

@ -1,5 +1,22 @@
2013-05-08 Joseph Myers <joseph@codesourcery.com>
* 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.

View File

@ -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;