1 /* Common definitions for libm tests for long double. 2 Copyright (C) 1997-2022 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, see 17 <https://www.gnu.org/licenses/>. */ 18 19 #include <float.h> 20 21 #define FUNC(function) function##l 22 #define FLOAT long double 23 #define CFLOAT __complex__ long double 24 #define BUILD_COMPLEX(real, imag) (CMPLXL ((real), (imag))) 25 #define PREFIX LDBL 26 #if LDBL_MANT_DIG == DBL_MANT_DIG 27 # define TYPE_STR "double" 28 # define ULP_IDX ULP_DBL 29 /* On architectures which redirect long double to _Float128 ABI, we must 30 choose the float128 ulps. Similarly, on such architectures, the ABI 31 used may be dependent on how the compiler was invoked. */ 32 #elif __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 33 # define TYPE_STR "float128" 34 # define ULP_IDX ULP_FLT128 35 #else 36 # define TYPE_STR "ldouble" 37 # define ULP_IDX ULP_LDBL 38 #endif 39 #define LIT(x) (x ## L) 40 #define LITM(x) x ## l 41 #define FTOSTR strfroml 42 #define snan_value_MACRO SNANL 43 #define TEST_FLOATN 0 44