1 /* Test requirements on FP_LLOGB* constants. 2 Copyright (C) 2016-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 <limits.h> 20 #include <math.h> 21 22 #if FP_LLOGB0 >= 0 23 # error "FP_LLOGB0 is positive" 24 #endif 25 26 #if FP_LLOGB0 != LONG_MIN && FP_LLOGB0 != -LONG_MAX 27 # error "FP_LLOGB0 must be LONG_MIN or -LONG_MAX" 28 #endif 29 30 #if FP_LLOGBNAN >= 0 && FP_LLOGBNAN != LONG_MAX 31 # error "FP_LLOGBNAN must be LONG_MIN or LONG_MAX" 32 #endif 33 34 #if FP_LLOGBNAN < 0 && FP_LLOGBNAN != LONG_MIN 35 # error "FP_LLOGBNAN must be LONG_MIN or LONG_MAX" 36 #endif 37 38 #if (FP_ILOGB0 == INT_MIN) != (FP_LLOGB0 == LONG_MIN) 39 # error "FP_ILOGB0 and FP_LLOGB0 inconsistent" 40 #endif 41 42 #if (FP_ILOGBNAN == INT_MIN) != (FP_LLOGBNAN == LONG_MIN) 43 # error "FP_ILOGBNAN and FP_LLOGBNAN inconsistent" 44 #endif 45 46 /* This is a compilation test. */ 47 #define TEST_FUNCTION 0 48 #include "../test-skeleton.c" 49