xref: /titanic_41/usr/src/lib/libast/sparc/include/ast/ast_float.h (revision 3e14f97f673e8a630f076077de35afdd43dc1587)
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_sparc_32bit/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		 33
151 #endif
152 #ifndef LDBL_MAX
153 #define LDBL_MAX		 1.189731495357231765085759326628007016E+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.362103143112093506262677817321752603E-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		9
175 #define ULLONG_DIG		19
176 #define UINTMAX_DIG		ULLONG_DIG
177 
178 #define FLT_ULONG_MAX		4294967295.0F
179 #define FLT_ULLONG_MAX		18446744073709551615.0F
180 #define FLT_UINTMAX_MAX		FLT_ULLONG_MAX
181 #define FLT_LONG_MAX		2147483647.0F
182 #define FLT_LLONG_MAX		9223372036854775807.0F
183 #define FLT_INTMAX_MAX		FLT_LLONG_MAX
184 #define FLT_LONG_MIN		(-2147483648.0F)
185 #define FLT_LLONG_MIN		(-9223372036854775808.0F)
186 #define FLT_INTMAX_MIN		FLT_LLONG_MIN
187 
188 #define DBL_ULONG_MAX		4294967295.0
189 #define DBL_ULLONG_MAX		18446744073709551615.0
190 #define DBL_UINTMAX_MAX		DBL_ULLONG_MAX
191 #define DBL_LONG_MAX		2147483647.0
192 #define DBL_LLONG_MAX		9223372036854775807.0
193 #define DBL_INTMAX_MAX		DBL_LLONG_MAX
194 #define DBL_LONG_MIN		(-2147483648.0)
195 #define DBL_LLONG_MIN		(-9223372036854775808.0)
196 #define DBL_INTMAX_MIN		DBL_LLONG_MIN
197 
198 #define LDBL_ULONG_MAX		4294967295.0L
199 #define LDBL_ULLONG_MAX		18446744073709551615.0L
200 #define LDBL_UINTMAX_MAX	LDBL_ULLONG_MAX
201 #define LDBL_LONG_MAX		2147483647.0L
202 #define LDBL_LLONG_MAX		9223372036854775807.0L
203 #define LDBL_INTMAX_MAX		LDBL_LLONG_MAX
204 #define LDBL_LONG_MIN		(-2147483648.0L)
205 #define LDBL_LLONG_MIN		(-9223372036854775808.0L)
206 #define LDBL_INTMAX_MIN		LDBL_LLONG_MIN
207 
208 #define FLTMAX_UINTMAX_MAX	LDBL_UINTMAX_MAX
209 #define FLTMAX_INTMAX_MAX	LDBL_INTMAX_MAX
210 #define FLTMAX_INTMAX_MIN	LDBL_INTMAX_MIN
211 
212 typedef union _ast_dbl_exp_u
213 {
214 	uint32_t		e[sizeof(double)/4];
215 	double			f;
216 } _ast_dbl_exp_t;
217 
218 #define _ast_dbl_exp_index	0
219 #define _ast_dbl_exp_shift	20
220 
221 typedef union _fltmax_exp_u
222 {
223 	uint32_t		e[sizeof(_ast_fltmax_t)/4];
224 	_ast_fltmax_t		f;
225 } _ast_fltmax_exp_t;
226 
227 #define _ast_fltmax_exp_index	0
228 #define _ast_fltmax_exp_shift	16
229 
230 #define _ast_flt_unsigned_max_t	unsigned long long
231 #define _ast_flt_nan_init	0x7f,0xff,0xff,0xff
232 #define _ast_flt_inf_init	0x7f,0x80,0x00,0x00
233 #define _ast_dbl_nan_init	0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff
234 #define _ast_dbl_inf_init	0x7f,0xf0,0x00,0x00,0x00,0x00,0x00,0x00
235 #define _ast_ldbl_nan_init	0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
236 #define _ast_ldbl_inf_init	0x7f,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
237 #endif
238