1da2e3ebdSchin
2da2e3ebdSchin/* : : generated by proto : : */
3*b30d1939SAndy Fiddaman/* : : generated from contrib/ast/src/lib/libast/features/float by iffe version 2012-07-17 : : */
4*b30d1939SAndy Fiddaman
5da2e3ebdSchin#ifndef _def_float_ast
6da2e3ebdSchin#if !defined(__PROTO__)
7da2e3ebdSchin#  if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
8da2e3ebdSchin#    if defined(__cplusplus)
9da2e3ebdSchin#      define __LINKAGE__	"C"
10da2e3ebdSchin#    else
11da2e3ebdSchin#      define __LINKAGE__
12da2e3ebdSchin#    endif
13da2e3ebdSchin#    define __STDARG__
14da2e3ebdSchin#    define __PROTO__(x)	x
15da2e3ebdSchin#    define __OTORP__(x)
16da2e3ebdSchin#    define __PARAM__(n,o)	n
17da2e3ebdSchin#    if !defined(__STDC__) && !defined(__cplusplus)
18da2e3ebdSchin#      if !defined(c_plusplus)
19da2e3ebdSchin#      	define const
20da2e3ebdSchin#      endif
21da2e3ebdSchin#      define signed
22da2e3ebdSchin#      define void		int
23da2e3ebdSchin#      define volatile
24da2e3ebdSchin#      define __V_		char
25da2e3ebdSchin#    else
26da2e3ebdSchin#      define __V_		void
27da2e3ebdSchin#    endif
28da2e3ebdSchin#  else
29da2e3ebdSchin#    define __PROTO__(x)	()
30da2e3ebdSchin#    define __OTORP__(x)	x
31da2e3ebdSchin#    define __PARAM__(n,o)	o
32da2e3ebdSchin#    define __LINKAGE__
33da2e3ebdSchin#    define __V_		char
34da2e3ebdSchin#    define const
35da2e3ebdSchin#    define signed
36da2e3ebdSchin#    define void		int
37da2e3ebdSchin#    define volatile
38da2e3ebdSchin#  endif
39da2e3ebdSchin#  define __MANGLE__	__LINKAGE__
40da2e3ebdSchin#  if defined(__cplusplus) || defined(c_plusplus)
41da2e3ebdSchin#    define __VARARG__	...
42da2e3ebdSchin#  else
43da2e3ebdSchin#    define __VARARG__
44da2e3ebdSchin#  endif
45da2e3ebdSchin#  if defined(__STDARG__)
46da2e3ebdSchin#    define __VA_START__(p,a)	va_start(p,a)
47da2e3ebdSchin#  else
48da2e3ebdSchin#    define __VA_START__(p,a)	va_start(p)
49da2e3ebdSchin#  endif
50da2e3ebdSchin#  if !defined(__INLINE__)
51da2e3ebdSchin#    if defined(__cplusplus)
52da2e3ebdSchin#      define __INLINE__	extern __MANGLE__ inline
53da2e3ebdSchin#    else
54da2e3ebdSchin#      if defined(_WIN32) && !defined(__GNUC__)
55da2e3ebdSchin#      	define __INLINE__	__inline
56da2e3ebdSchin#      endif
57da2e3ebdSchin#    endif
58da2e3ebdSchin#  endif
59da2e3ebdSchin#endif
60da2e3ebdSchin#if !defined(__LINKAGE__)
61da2e3ebdSchin#define __LINKAGE__		/* 2004-08-11 transition */
62da2e3ebdSchin#endif
63da2e3ebdSchin
64da2e3ebdSchin#define _def_float_ast	1
65da2e3ebdSchin#define _sys_types	1	/* #include <sys/types.h> ok */
66da2e3ebdSchin#define _hdr_float	1	/* #include <float.h> ok */
67da2e3ebdSchin#define _hdr_limits	1	/* #include <limits.h> ok */
68da2e3ebdSchin#define _hdr_math	1	/* #include <math.h> ok */
69da2e3ebdSchin#define _hdr_values	1	/* #include <values.h> ok */
70da2e3ebdSchin#define _LIB_m	1	/* -lm is a library */
71da2e3ebdSchin#define _lib_frexp	1	/* frexp() in default lib(s) */
72da2e3ebdSchin#define _lib_frexpl	1	/* frexpl() in default lib(s) */
73da2e3ebdSchin#define _lib_ldexp	1	/* ldexp() in default lib(s) */
74da2e3ebdSchin#define _lib_ldexpl	1	/* ldexpl() in default lib(s) */
75da2e3ebdSchin#define _lib_finite	1	/* finite() in default lib(s) */
76da2e3ebdSchin#define _lib_isnanl	1	/* isnanl() in default lib(s) */
77da2e3ebdSchin#define _lib_copysign	1	/* copysign() in default lib(s) */
78da2e3ebdSchin#define _lib_copysignl	1	/* copysignl() in default lib(s) */
79*b30d1939SAndy Fiddaman#define _npt_finite	1	/* finite() needs a prototype */
80*b30d1939SAndy Fiddaman#define _npt_finitel	1	/* finitel() needs a prototype */
81*b30d1939SAndy Fiddaman#define _npt_isinfl	1	/* isinfl() needs a prototype */
82*b30d1939SAndy Fiddaman#define _lib_fpclassify	1	/* fpclassify present and works */
83*b30d1939SAndy Fiddaman#define _lib_isinf	1	/* isinf present and works */
84*b30d1939SAndy Fiddaman#define _lib_isnan	1	/* isnan present and works */
85*b30d1939SAndy Fiddaman#define _lib_signbit	1	/* signbit present and works */
86da2e3ebdSchin#include <ast_common.h>
87da2e3ebdSchin#include <float.h>
88da2e3ebdSchin#include <math.h>
89da2e3ebdSchin#ifndef FLT_DIG
90*b30d1939SAndy Fiddaman#define FLT_DIG 6
91da2e3ebdSchin#endif
92da2e3ebdSchin#ifndef FLT_MAX
93*b30d1939SAndy Fiddaman#define FLT_MAX 3.4028234663852885981170E+38F
94da2e3ebdSchin#endif
95da2e3ebdSchin#ifndef FLT_MAX_10_EXP
96*b30d1939SAndy Fiddaman#define FLT_MAX_10_EXP (+38)
97da2e3ebdSchin#endif
98da2e3ebdSchin#ifndef FLT_MAX_EXP
99*b30d1939SAndy Fiddaman#define FLT_MAX_EXP (+128)
100da2e3ebdSchin#endif
101da2e3ebdSchin#ifndef FLT_MIN
102*b30d1939SAndy Fiddaman#define FLT_MIN 1.1754943508222875079688E-38F
103da2e3ebdSchin#endif
104da2e3ebdSchin#ifndef FLT_MIN_10_EXP
105*b30d1939SAndy Fiddaman#define FLT_MIN_10_EXP (-37)
106da2e3ebdSchin#endif
107da2e3ebdSchin#ifndef FLT_MIN_EXP
108*b30d1939SAndy Fiddaman#define FLT_MIN_EXP (-125)
109da2e3ebdSchin#endif
110da2e3ebdSchin#ifndef DBL_DIG
111*b30d1939SAndy Fiddaman#define DBL_DIG 15
112da2e3ebdSchin#endif
113da2e3ebdSchin#ifndef DBL_MAX
114*b30d1939SAndy Fiddaman#define DBL_MAX 1.7976931348623157081452E+308
115da2e3ebdSchin#endif
116da2e3ebdSchin#ifndef DBL_MAX_10_EXP
117*b30d1939SAndy Fiddaman#define DBL_MAX_10_EXP (+308)
118da2e3ebdSchin#endif
119da2e3ebdSchin#ifndef DBL_MAX_EXP
120*b30d1939SAndy Fiddaman#define DBL_MAX_EXP (+1024)
121da2e3ebdSchin#endif
122da2e3ebdSchin#ifndef DBL_MIN
123*b30d1939SAndy Fiddaman#define DBL_MIN 2.2250738585072013830903E-308
124da2e3ebdSchin#endif
125da2e3ebdSchin#ifndef DBL_MIN_10_EXP
126*b30d1939SAndy Fiddaman#define DBL_MIN_10_EXP (-307)
127da2e3ebdSchin#endif
128da2e3ebdSchin#ifndef DBL_MIN_EXP
129*b30d1939SAndy Fiddaman#define DBL_MIN_EXP (-1021)
130da2e3ebdSchin#endif
131da2e3ebdSchin#ifndef LDBL_DIG
132*b30d1939SAndy Fiddaman#define LDBL_DIG 18
133da2e3ebdSchin#endif
134da2e3ebdSchin#ifndef LDBL_MAX
135*b30d1939SAndy Fiddaman#define LDBL_MAX 1.1897314953572317650213E+4932L
136da2e3ebdSchin#endif
137da2e3ebdSchin#ifndef LDBL_MAX_10_EXP
138*b30d1939SAndy Fiddaman#define LDBL_MAX_10_EXP (+4932)
139da2e3ebdSchin#endif
140da2e3ebdSchin#ifndef LDBL_MAX_EXP
141*b30d1939SAndy Fiddaman#define LDBL_MAX_EXP (+16384)
142da2e3ebdSchin#endif
143da2e3ebdSchin#ifndef LDBL_MIN
144*b30d1939SAndy Fiddaman#define LDBL_MIN 3.3621031431120935062627E-4932L
145da2e3ebdSchin#endif
146da2e3ebdSchin#ifndef LDBL_MIN_10_EXP
147*b30d1939SAndy Fiddaman#define LDBL_MIN_10_EXP (-4931)
148da2e3ebdSchin#endif
149da2e3ebdSchin#ifndef LDBL_MIN_EXP
150*b30d1939SAndy Fiddaman#define LDBL_MIN_EXP (-16381)
151da2e3ebdSchin#endif
152da2e3ebdSchin
153da2e3ebdSchin
154da2e3ebdSchin#define USHRT_DIG		4
155da2e3ebdSchin#define UINT_DIG		9
156da2e3ebdSchin#define ULONG_DIG		9
157da2e3ebdSchin#define ULLONG_DIG		19
158da2e3ebdSchin#define UINTMAX_DIG		ULLONG_DIG
159da2e3ebdSchin
160da2e3ebdSchin#define FLT_ULONG_MAX		4294967295.0F
161da2e3ebdSchin#define FLT_ULLONG_MAX		18446744073709551615.0F
162da2e3ebdSchin#define FLT_UINTMAX_MAX		FLT_ULLONG_MAX
163da2e3ebdSchin#define FLT_LONG_MAX		2147483647.0F
164da2e3ebdSchin#define FLT_LLONG_MAX		9223372036854775807.0F
165da2e3ebdSchin#define FLT_INTMAX_MAX		FLT_LLONG_MAX
166da2e3ebdSchin#define FLT_LONG_MIN		(-2147483648.0F)
167da2e3ebdSchin#define FLT_LLONG_MIN		(-9223372036854775808.0F)
168da2e3ebdSchin#define FLT_INTMAX_MIN		FLT_LLONG_MIN
169da2e3ebdSchin
170da2e3ebdSchin#define DBL_ULONG_MAX		4294967295.0
171da2e3ebdSchin#define DBL_ULLONG_MAX		18446744073709551615.0
172da2e3ebdSchin#define DBL_UINTMAX_MAX		DBL_ULLONG_MAX
173da2e3ebdSchin#define DBL_LONG_MAX		2147483647.0
174da2e3ebdSchin#define DBL_LLONG_MAX		9223372036854775807.0
175da2e3ebdSchin#define DBL_INTMAX_MAX		DBL_LLONG_MAX
176da2e3ebdSchin#define DBL_LONG_MIN		(-2147483648.0)
177da2e3ebdSchin#define DBL_LLONG_MIN		(-9223372036854775808.0)
178da2e3ebdSchin#define DBL_INTMAX_MIN		DBL_LLONG_MIN
179da2e3ebdSchin
180da2e3ebdSchin#define LDBL_ULONG_MAX		4294967295.0L
181da2e3ebdSchin#define LDBL_ULLONG_MAX		18446744073709551615.0L
182da2e3ebdSchin#define LDBL_UINTMAX_MAX	LDBL_ULLONG_MAX
183da2e3ebdSchin#define LDBL_LONG_MAX		2147483647.0L
184da2e3ebdSchin#define LDBL_LLONG_MAX		9223372036854775807.0L
185da2e3ebdSchin#define LDBL_INTMAX_MAX		LDBL_LLONG_MAX
186da2e3ebdSchin#define LDBL_LONG_MIN		(-2147483648.0L)
187da2e3ebdSchin#define LDBL_LLONG_MIN		(-9223372036854775808.0L)
188da2e3ebdSchin#define LDBL_INTMAX_MIN		LDBL_LLONG_MIN
189da2e3ebdSchin
190da2e3ebdSchin#define FLTMAX_UINTMAX_MAX	LDBL_UINTMAX_MAX
191da2e3ebdSchin#define FLTMAX_INTMAX_MAX	LDBL_INTMAX_MAX
192da2e3ebdSchin#define FLTMAX_INTMAX_MIN	LDBL_INTMAX_MIN
193da2e3ebdSchin
194da2e3ebdSchintypedef union _ast_dbl_exp_u
195da2e3ebdSchin{
196da2e3ebdSchin	uint32_t		e[sizeof(double)/4];
197da2e3ebdSchin	double			f;
198da2e3ebdSchin} _ast_dbl_exp_t;
199da2e3ebdSchin
200da2e3ebdSchin#define _ast_dbl_exp_index	1
201da2e3ebdSchin#define _ast_dbl_exp_shift	20
202da2e3ebdSchin
203da2e3ebdSchintypedef union _fltmax_exp_u
204da2e3ebdSchin{
205da2e3ebdSchin	uint32_t		e[sizeof(_ast_fltmax_t)/4];
206da2e3ebdSchin	_ast_fltmax_t		f;
207da2e3ebdSchin} _ast_fltmax_exp_t;
208da2e3ebdSchin
209da2e3ebdSchin#define _ast_fltmax_exp_index	2
210da2e3ebdSchin#define _ast_fltmax_exp_shift	0
211da2e3ebdSchin
212da2e3ebdSchin#define _ast_flt_unsigned_max_t	unsigned long long
213da2e3ebdSchin#define _ast_flt_nan_init	0xff,0xff,0xff,0x7f
214da2e3ebdSchin#define _ast_flt_inf_init	0x00,0x00,0x80,0x7f
215da2e3ebdSchin#define _ast_dbl_nan_init	0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f
216da2e3ebdSchin#define _ast_dbl_inf_init	0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x7f
217*b30d1939SAndy Fiddaman#define _ast_ldbl_nan_init	0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x00,0x00
218*b30d1939SAndy Fiddaman#define _ast_ldbl_inf_init	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x7f,0x00,0x00
219da2e3ebdSchin#endif
220