xref: /onnv-gate/usr/src/lib/libast/amd64/include/ast/ast_float.h (revision 12068:08a39a083754)
1 /***********************************************************************
2 *                                                                      *
3 *               This software is part of the ast package               *
4 *          Copyright (c) 1985-2010 AT&T Intellectual Property          *
5 *                      and is licensed under the                       *
6 *                  Common Public License, Version 1.0                  *
7 *                    by AT&T Intellectual Property                     *
8 *                                                                      *
9 *                A copy of the License is available at                 *
10 *            http://www.opensource.org/licenses/cpl1.0.txt             *
11 *         (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9)         *
12 *                                                                      *
13 *              Information and Software Systems Research               *
14 *                            AT&T Research                             *
15 *                           Florham Park NJ                            *
16 *                                                                      *
17 *                 Glenn Fowler <gsf@research.att.com>                  *
18 *                  David Korn <dgk@research.att.com>                   *
19 *                   Phong Vo <kpv@research.att.com>                    *
20 *                                                                      *
21 ***********************************************************************/
22 
23 /* : : generated by proto : : */
24 /* : : generated from /home/gisburn/ksh93/ast_ksh_20100309/build_i386_64bit/src/lib/libast/features/float by iffe version 2009-12-04 : : */
25 
26 #ifndef _def_float_ast
27 #if !defined(__PROTO__)
28 #  if defined(__STDC__) || defined(__cplusplus) || defined(_proto) || defined(c_plusplus)
29 #    if defined(__cplusplus)
30 #      define __LINKAGE__	"C"
31 #    else
32 #      define __LINKAGE__
33 #    endif
34 #    define __STDARG__
35 #    define __PROTO__(x)	x
36 #    define __OTORP__(x)
37 #    define __PARAM__(n,o)	n
38 #    if !defined(__STDC__) && !defined(__cplusplus)
39 #      if !defined(c_plusplus)
40 #      	define const
41 #      endif
42 #      define signed
43 #      define void		int
44 #      define volatile
45 #      define __V_		char
46 #    else
47 #      define __V_		void
48 #    endif
49 #  else
50 #    define __PROTO__(x)	()
51 #    define __OTORP__(x)	x
52 #    define __PARAM__(n,o)	o
53 #    define __LINKAGE__
54 #    define __V_		char
55 #    define const
56 #    define signed
57 #    define void		int
58 #    define volatile
59 #  endif
60 #  define __MANGLE__	__LINKAGE__
61 #  if defined(__cplusplus) || defined(c_plusplus)
62 #    define __VARARG__	...
63 #  else
64 #    define __VARARG__
65 #  endif
66 #  if defined(__STDARG__)
67 #    define __VA_START__(p,a)	va_start(p,a)
68 #  else
69 #    define __VA_START__(p,a)	va_start(p)
70 #  endif
71 #  if !defined(__INLINE__)
72 #    if defined(__cplusplus)
73 #      define __INLINE__	extern __MANGLE__ inline
74 #    else
75 #      if defined(_WIN32) && !defined(__GNUC__)
76 #      	define __INLINE__	__inline
77 #      endif
78 #    endif
79 #  endif
80 #endif
81 #if !defined(__LINKAGE__)
82 #define __LINKAGE__		/* 2004-08-11 transition */
83 #endif
84 
85 #define _def_float_ast	1
86 #define _sys_types	1	/* #include <sys/types.h> ok */
87 #define _hdr_float	1	/* #include <float.h> ok */
88 #define _hdr_limits	1	/* #include <limits.h> ok */
89 #define _hdr_math	1	/* #include <math.h> ok */
90 #define _hdr_values	1	/* #include <values.h> ok */
91 #define _LIB_m	1	/* -lm is a library */
92 #define _lib_fpclassify	1	/* fpclassify() in default lib(s) */
93 #define _lib_frexp	1	/* frexp() in default lib(s) */
94 #define _lib_frexpl	1	/* frexpl() in default lib(s) */
95 #define _lib_ldexp	1	/* ldexp() in default lib(s) */
96 #define _lib_ldexpl	1	/* ldexpl() in default lib(s) */
97 #define _lib_finite	1	/* finite() in default lib(s) */
98 #define _lib_isinf	1	/* isinf() in default lib(s) */
99 #define _lib_isnan	1	/* isnan() in default lib(s) */
100 #define _lib_isnanl	1	/* isnanl() in default lib(s) */
101 #define _lib_signbit	1	/* signbit() in default lib(s) */
102 #define _lib_copysign	1	/* copysign() in default lib(s) */
103 #define _lib_copysignl	1	/* copysignl() in default lib(s) */
104 #include <ast_common.h>
105 #include <float.h>
106 #include <math.h>
107 #ifndef FLT_DIG
108 #define FLT_DIG		 6
109 #endif
110 #ifndef FLT_MAX
111 #define FLT_MAX		 3.4028234663852885981170E+38F
112 #endif
113 #ifndef FLT_MAX_10_EXP
114 #define FLT_MAX_10_EXP	 ( + 38 )
115 #endif
116 #ifndef FLT_MAX_EXP
117 #define FLT_MAX_EXP	 ( + 128 )
118 #endif
119 #ifndef FLT_MIN
120 #define FLT_MIN		 1.1754943508222875079688E-38F
121 #endif
122 #ifndef FLT_MIN_10_EXP
123 #define FLT_MIN_10_EXP	 ( - 37 )
124 #endif
125 #ifndef FLT_MIN_EXP
126 #define FLT_MIN_EXP	 ( - 125 )
127 #endif
128 #ifndef DBL_DIG
129 #define DBL_DIG		 15
130 #endif
131 #ifndef DBL_MAX
132 #define DBL_MAX		 1.7976931348623157081452E+308
133 #endif
134 #ifndef DBL_MAX_10_EXP
135 #define DBL_MAX_10_EXP	 ( + 308 )
136 #endif
137 #ifndef DBL_MAX_EXP
138 #define DBL_MAX_EXP	 ( + 1024 )
139 #endif
140 #ifndef DBL_MIN
141 #define DBL_MIN		 2.2250738585072013830903E-308
142 #endif
143 #ifndef DBL_MIN_10_EXP
144 #define DBL_MIN_10_EXP	 ( - 307 )
145 #endif
146 #ifndef DBL_MIN_EXP
147 #define DBL_MIN_EXP	 ( - 1021 )
148 #endif
149 #ifndef LDBL_DIG
150 #define LDBL_DIG		 18
151 #endif
152 #ifndef LDBL_MAX
153 #define LDBL_MAX		 1.1897314953572317650213E+4932L
154 #endif
155 #ifndef LDBL_MAX_10_EXP
156 #define LDBL_MAX_10_EXP	 ( + 4932 )
157 #endif
158 #ifndef LDBL_MAX_EXP
159 #define LDBL_MAX_EXP	 ( + 16384 )
160 #endif
161 #ifndef LDBL_MIN
162 #define LDBL_MIN		 3.3621031431120935062627E-4932L
163 #endif
164 #ifndef LDBL_MIN_10_EXP
165 #define LDBL_MIN_10_EXP	 ( - 4931 )
166 #endif
167 #ifndef LDBL_MIN_EXP
168 #define LDBL_MIN_EXP	 ( - 16381 )
169 #endif
170 
171 
172 #define USHRT_DIG		4
173 #define UINT_DIG		9
174 #define ULONG_DIG		19
175 #define UINTMAX_DIG		ULONG_DIG
176 
177 #define FLT_ULONG_MAX		18446744073709551615.0F
178 #define FLT_ULLONG_MAX		FLT_ULONG_MAX
179 #define FLT_UINTMAX_MAX		FLT_ULONG_MAX
180 #define FLT_LONG_MAX		9223372036854775807.0F
181 #define FLT_LLONG_MAX		FLT_LONG_MAX
182 #define FLT_INTMAX_MAX		FLT_LONG_MAX
183 #define FLT_LONG_MIN		(-9223372036854775808.0F)
184 #define FLT_LLONG_MIN		FLT_LONG_MIN
185 #define FLT_INTMAX_MIN		FLT_LONG_MIN
186 
187 #define DBL_ULONG_MAX		18446744073709551615.0
188 #define DBL_ULLONG_MAX		DBL_ULONG_MAX
189 #define DBL_UINTMAX_MAX		DBL_ULONG_MAX
190 #define DBL_LONG_MAX		9223372036854775807.0
191 #define DBL_LLONG_MAX		DBL_LONG_MAX
192 #define DBL_INTMAX_MAX		DBL_LONG_MAX
193 #define DBL_LONG_MIN		(-9223372036854775808.0)
194 #define DBL_LLONG_MIN		DBL_LONG_MIN
195 #define DBL_INTMAX_MIN		DBL_LONG_MIN
196 
197 #define LDBL_ULONG_MAX		18446744073709551615.0L
198 #define LDBL_ULLONG_MAX		LDBL_ULONG_MAX
199 #define LDBL_UINTMAX_MAX	LDBL_ULONG_MAX
200 #define LDBL_LONG_MAX		9223372036854775807.0L
201 #define LDBL_LLONG_MAX		LDBL_LONG_MAX
202 #define LDBL_INTMAX_MAX		LDBL_LONG_MAX
203 #define LDBL_LONG_MIN		(-9223372036854775808.0L)
204 #define LDBL_LLONG_MIN		LDBL_LONG_MIN
205 #define LDBL_INTMAX_MIN		LDBL_LONG_MIN
206 
207 #define FLTMAX_UINTMAX_MAX	LDBL_UINTMAX_MAX
208 #define FLTMAX_INTMAX_MAX	LDBL_INTMAX_MAX
209 #define FLTMAX_INTMAX_MIN	LDBL_INTMAX_MIN
210 
211 typedef union _ast_dbl_exp_u
212 {
213 	uint32_t		e[sizeof(double)/4];
214 	double			f;
215 } _ast_dbl_exp_t;
216 
217 #define _ast_dbl_exp_index	1
218 #define _ast_dbl_exp_shift	20
219 
220 typedef union _fltmax_exp_u
221 {
222 	uint32_t		e[sizeof(_ast_fltmax_t)/4];
223 	_ast_fltmax_t		f;
224 } _ast_fltmax_exp_t;
225 
226 #define _ast_fltmax_exp_index	2
227 #define _ast_fltmax_exp_shift	0
228 
229 #define _ast_flt_unsigned_max_t	unsigned long long
230 #define _ast_flt_nan_init	0xff,0xff,0xff,0x7f
231 #define _ast_flt_inf_init	0x00,0x00,0x80,0x7f
232 #define _ast_dbl_nan_init	0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f
233 #define _ast_dbl_inf_init	0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x7f
234 #define _ast_ldbl_nan_init	0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0x40,0x00,0x00,0x00,0x00,0x00
235 #define _ast_ldbl_inf_init	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xff,0x7f,0x40,0x00,0x00,0x00,0x00,0x00
236 #endif
237