From e2c4dce5350b8782d311467045c615734b2db270 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 5 Dec 2017 17:34:25 +0000 Subject: Add headers for _Float64, _Float32x testing. This patch adds the headers required for testing _Float64 and _Float32x function aliases (using double ulps). The corresponding makefile support will be included in the patch that actually adds those aliases; there doesn't seem much point in adding makefile conditionals for testing something that will be available unconditionally. In conjunction with other _Float64 / _Float32x changes, test for x86_64 and with build-many-glibcs.py. * math/test-float32x.h: New file. * math/test-float64.h: Likewise. --- ChangeLog | 3 +++ math/test-float32x.h | 37 +++++++++++++++++++++++++++++++++++++ math/test-float64.h | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 math/test-float32x.h create mode 100644 math/test-float64.h diff --git a/ChangeLog b/ChangeLog index afe13d3..8ed099d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2017-12-05 Joseph Myers + * math/test-float32x.h: New file. + * math/test-float64.h: Likewise. + * sysdeps/generic/libm-alias-double.h: Include . (libm_alias_double_other_r_f64): New macro. (libm_alias_double_other_r_f32x): Likewise. diff --git a/math/test-float32x.h b/math/test-float32x.h new file mode 100644 index 0000000..2d73958 --- /dev/null +++ b/math/test-float32x.h @@ -0,0 +1,37 @@ +/* Common definitions for libm tests for _Float32x. + + Copyright (C) 2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "test-math-floatn.h" + +/* Fixup builtins and constants for older compilers. */ +#include +#include + +#define FUNC(function) function ## f32x +#define FLOAT _Float32x +#define CFLOAT __CFLOAT32X +#define BUILD_COMPLEX(real, imag) (CMPLXF32X ((real), (imag))) +#define PREFIX FLT32X +#define TYPE_STR "double" +#define ULP_IDX ULP_DBL +#define ULP_I_IDX ULP_I_DBL +#define LIT(x) __f32x (x) +#define LITM(x) x ## f32x +#define FTOSTR strfromf32x +#define snan_value_MACRO SNANF32X diff --git a/math/test-float64.h b/math/test-float64.h new file mode 100644 index 0000000..8fff896 --- /dev/null +++ b/math/test-float64.h @@ -0,0 +1,37 @@ +/* Common definitions for libm tests for _Float64. + + Copyright (C) 2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include "test-math-floatn.h" + +/* Fixup builtins and constants for older compilers. */ +#include +#include + +#define FUNC(function) function ## f64 +#define FLOAT _Float64 +#define CFLOAT __CFLOAT64 +#define BUILD_COMPLEX(real, imag) (CMPLXF64 ((real), (imag))) +#define PREFIX FLT64 +#define TYPE_STR "double" +#define ULP_IDX ULP_DBL +#define ULP_I_IDX ULP_I_DBL +#define LIT(x) __f64 (x) +#define LITM(x) x ## f64 +#define FTOSTR strfromf64 +#define snan_value_MACRO SNANF64 -- cgit v1.1