mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-26 20:51:11 +00:00
596f70134a
This patch adds support for running libm tests for float128 in the case where the float128 functions are aliases of long double functions. In this case, the sysdeps Makeconfig file (i.e. sysdeps/ieee754/ldbl-128/Makeconfig) will need to define "float128-alias-fcts = yes" to enable the tests. Tested for x86_64. Also tested with build-many-glibcs.py; installed stripped shared libraries are unchanged by the patch. Also tested together with changes to enable the float128 aliases. * math/Makefile (test-types): Add $(type-float128-$(float128-alias-fcts)). * math/test-float128.h (TYPE_STR): Define conditional on [FLT128_MANT_DIG == LDBL_MANT_DIG]. (ULP_IDX): Likewise. (ULP_I_IDX): Likewise.
44 lines
1.4 KiB
C
44 lines
1.4 KiB
C
/* Common definitions for libm tests for _Float128.
|
|
|
|
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
|
|
<http://www.gnu.org/licenses/>. */
|
|
|
|
#include "test-math-floatn.h"
|
|
|
|
/* Fixup builtins and constants for older compilers. */
|
|
#include <bits/floatn.h>
|
|
#include <float.h>
|
|
|
|
#define FUNC(function) function ## f128
|
|
#define FLOAT _Float128
|
|
#define CFLOAT __CFLOAT128
|
|
#define BUILD_COMPLEX(real, imag) (CMPLXF128 ((real), (imag)))
|
|
#define PREFIX FLT128
|
|
#if FLT128_MANT_DIG == LDBL_MANT_DIG
|
|
# define TYPE_STR "ldouble"
|
|
# define ULP_IDX ULP_LDBL
|
|
# define ULP_I_IDX ULP_I_LDBL
|
|
#else
|
|
# define TYPE_STR "float128"
|
|
# define ULP_IDX ULP_FLT128
|
|
# define ULP_I_IDX ULP_I_FLT128
|
|
#endif
|
|
#define LIT(x) __f128 (x)
|
|
#define LITM(x) x ## f128
|
|
#define FTOSTR strfromf128
|
|
#define snan_value_MACRO SNANF128
|