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