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