1/* Copyright (C) 1999, 2000, 2004, 2006, 2007 2 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, write to the Free 17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18 02111-1307 USA. */ 19 20#if !defined _MATH_H && !defined _COMPLEX_H 21# error "Never use <bits/mathdef.h> directly; include <math.h> instead" 22#endif 23 24#if defined __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF 25# define _MATH_H_MATHDEF 1 26 27/* GCC does not promote `float' values to `double'. */ 28typedef float float_t; /* `float' expressions are evaluated as 29 `float'. */ 30typedef double double_t; /* `double' expressions are evaluated as 31 `double'. */ 32 33/* Signal that both types are `long double'. */ 34# define FLT_EVAL_METHOD 2 35 36/* Define `INFINITY' as value of type `float'. */ 37# define INFINITY HUGE_VALF 38 39/* The values returned by `ilogb' for 0 and NaN respectively. */ 40# define FP_ILOGB0 (-2147483647) 41# define FP_ILOGBNAN (2147483647) 42 43#endif /* ISO C99 */ 44 45#ifndef __NO_LONG_DOUBLE_MATH 46/* Signal that we do not really have a `long double'. This disables the 47 declaration of all the `long double' function variants. */ 48# define __NO_LONG_DOUBLE_MATH 1 49#endif 50 51/* Number of decimal digits for the `long double' type. */ 52# define DECIMAL_DIG 21 53