www.pudn.com > gccl2.rar > float.h, change:2002-01-04,size:9137b
#if 0
Chronologic VCS simulator copyright 1991-1997
Contains Viewlogic proprietary information.
Compiler version 4.0; Runtime version 4.0; Feb 28 09:03 1998
PMON version 4.3.16 [EB], LSI LOGIC Corp. Sat Feb 28 08:42:35 1998
This is free software, and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it without restriction.
CPU type 4080. 100 MHz CPU clock assumed. Avail RAM 3072 KBytes.
Debugger support: CROSSVIEW, DBX. Type 'h' for on-line help.
PMON> g 0xA0100000
#endif
/* float.h */
#ifndef _FLOAT_H___
#define _FLOAT_H___
/* Produced by enquire version 4.3, CWI, Amsterdam */
/* Compiler claims to be ANSI C level 1 */
/* SIZES */
/* char = 8 bits, signed */
/* short=16 int=32 long=32 float=32 double=64 bits */
/* long double=64 bits */
/* char*=32 bits */
/* int* =32 bits */
/* func*=32 bits */
/* Type size_t is unsigned int/long */
/* Type size_t is unsigned int/long */
/* ALIGNMENTS */
/* char=1 short=2 int=4 long=4 */
/* float=4 double=8 */
/* long double=8 */
/* char*=4 int*=4 func*=4 */
/* CHARACTER ORDER */
/* short: AB */
/* int: ABCD */
/* long: ABCD */
/* PROPERTIES OF POINTERS */
/* Char and int pointer formats seem identical */
/* Char and function pointer formats seem identical */
/* Strings are shared */
/* Type ptrdiff_t is signed int/long */
/* PROPERTIES OF INTEGRAL TYPES */
/* Overflow of a short does not generate a trap */
/* Maximum short = 32767 (= 2**15-1) */
/* Minimum short = -32768 */
/* Overflow of an int does not generate a trap */
/* Maximum int = 2147483647 (= 2**31-1) */
/* Minimum int = -2147483648 */
/* Overflow of a long does not generate a trap */
/* Maximum long = 2147483647 (= 2**31-1) */
/* Minimum long = -2147483648 */
/* Maximum unsigned short = 65535 */
/* Maximum unsigned int = 4294967295 */
/* Maximum unsigned long = 4294967295 */
/* PROMOTIONS */
/* unsigned short promotes to signed int/long */
/* long+unsigned gives unsigned int/long */
/* PROPERTIES OF FLOAT */
/* Base = 2 */
/* Radix of exponent representation */
#undef FLT_RADIX
#define FLT_RADIX 2
/* Significant base digits = 24 (= at least 6 decimal digits) */
/* Number of base-FLT_RADIX digits in the significand of a float */
#undef FLT_MANT_DIG
#define FLT_MANT_DIG 24
/* Number of decimal digits of precision in a float */
#undef FLT_DIG
#define FLT_DIG 6
/* Arithmetic rounds towards nearest */
/* Tie breaking rounds to even */
/* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */
#undef FLT_ROUNDS
#define FLT_ROUNDS 1
/* Smallest x such that 1.0-base**x != 1.0 = -24 */
/* Smallest x such that 1.0-x != 1.0 = 2.98023259e-08 */
/* Smallest x such that 1.0+base**x != 1.0 = -23 */
/* Smallest x such that 1.0+x != 1.0 = 5.96046519e-08 */
/* (Above number + 1.0) - 1.0 = 1.19209290e-07 */
/* Difference between 1.0 and the minimum float greater than 1.0 */
#undef FLT_EPSILON
#define FLT_EPSILON 1.19209290e-07F
/* Number of bits used for exponent = 8 */
/* Minimum normalised exponent = -126 */
/* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */
#undef FLT_MIN_EXP
#define FLT_MIN_EXP (-125)
/* Minimum normalised positive number = 1.17549435e-38 */
/* Minimum normalised float */
#undef FLT_MIN
#define FLT_MIN 1.17549435e-38F
/* *** WARNING: Possibly bad output from printf above */
/* expected value around 1.17549435e-38, bit pattern:
00000000 10000000 00000000 00000000 */
/* sscanf gave 1.17549421e-38, bit pattern:
00000000 01111111 11111111 11111111 */
/* difference= 1.40129846e-45 */
/* Minimum int x such that 10**x is a normalised float */
#undef FLT_MIN_10_EXP
#define FLT_MIN_10_EXP (-37)
/* The smallest numbers are not kept normalised */
/* Smallest unnormalised positive number = 1.40129846e-45 */
/* *** WARNING: Possibly bad output from printf above */
/* expected value around 1.40129846e-45, bit pattern:
00000000 00000000 00000000 00000001 */
/* sscanf gave 0.00000000e+00, bit pattern:
00000000 00000000 00000000 00000000 */
/* difference= 1.40129846e-45 */
/* There is an 'infinite' value */
/* Maximum exponent = 128 */
/* Maximum int x such that FLT_RADIX**(x-1) is a representable float */
#undef FLT_MAX_EXP
#define FLT_MAX_EXP 128
/* Maximum number = 3.40282347e+38 */
/* Maximum float */
#undef FLT_MAX
#define FLT_MAX 3.40282347e+38F
/* Maximum int x such that 10**x is a representable float */
#undef FLT_MAX_10_EXP
#define FLT_MAX_10_EXP 38
/* Arithmetic uses a hidden bit */
/* It looks like single length IEEE format */
/* PROPERTIES OF DOUBLE */
/* Base = 2 */
/* Significant base digits = 53 (= at least 15 decimal digits) */
/* Number of base-FLT_RADIX digits in the significand of a double */
#undef DBL_MANT_DIG
#define DBL_MANT_DIG 53
/* Number of decimal digits of precision in a double */
#undef DBL_DIG
#define DBL_DIG 15
/* Arithmetic rounds towards nearest */
/* Tie breaking rounds to even */
/* Smallest x such that 1.0-base**x != 1.0 = -53 */
/* Smallest x such that 1.0-x != 1.0 = 5.5511151231257839e-17 */
/* Smallest x such that 1.0+base**x != 1.0 = -52 */
/* Smallest x such that 1.0+x != 1.0 = 1.1102230246251568e-16 */
/* (Above number + 1.0) - 1.0 = 2.2204460492503131e-16 */
/* Difference between 1.0 and the minimum double greater than 1.0 */
#undef DBL_EPSILON
#define DBL_EPSILON 2.2204460492503131e-16
/* Number of bits used for exponent = 11 */
/* Minimum normalised exponent = -1022 */
/* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */
#undef DBL_MIN_EXP
#define DBL_MIN_EXP (-1021)
/* Minimum normalised positive number = 2.2250738585072014e-308 */
/* Minimum normalised double */
#undef DBL_MIN
#define DBL_MIN 2.2250738585072014e-308
/* Minimum int x such that 10**x is a normalised double */
#undef DBL_MIN_10_EXP
#define DBL_MIN_10_EXP (-307)
/* The smallest numbers are not kept normalised */
/* Smallest unnormalised positive number = 4.9406564584124654e-324 */
/* There is an 'infinite' value */
/* Maximum exponent = 1024 */
/* Maximum int x such that FLT_RADIX**(x-1) is a representable double */
#undef DBL_MAX_EXP
#define DBL_MAX_EXP 1024
/* Maximum number = 1.7976931348623157e+308 */
/* Maximum double */
#undef DBL_MAX
#define DBL_MAX 1.7976931348623157e+308
/* Maximum int x such that 10**x is a representable double */
#undef DBL_MAX_10_EXP
#define DBL_MAX_10_EXP 308
/* Arithmetic uses a hidden bit */
/* It looks like double length IEEE format */
/* PROPERTIES OF LONG DOUBLE */
/* Base = 2 */
/* Significant base digits = 53 (= at least 15 decimal digits) */
/* Number of base-FLT_RADIX digits in the significand of a long double */
#undef LDBL_MANT_DIG
#define LDBL_MANT_DIG 53
/* Number of decimal digits of precision in a long double */
#undef LDBL_DIG
#define LDBL_DIG 15
/* Arithmetic rounds towards nearest */
/* Tie breaking rounds to even */
/* Smallest x such that 1.0-base**x != 1.0 = -53 */
/* Smallest x such that 1.0-x != 1.0 = 5.5511151231257839e-17 */
/* Smallest x such that 1.0+base**x != 1.0 = -52 */
/* Smallest x such that 1.0+x != 1.0 = 1.1102230246251568e-16 */
/* (Above number + 1.0) - 1.0 = 2.2204460492503131e-16 */
/* Difference between 1.0 and the minimum long double greater than 1.0 */
#undef LDBL_EPSILON
#define LDBL_EPSILON 2.2204460492503131e-16L
/* Number of bits used for exponent = 11 */
/* Minimum normalised exponent = -1022 */
/* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */
#undef LDBL_MIN_EXP
#define LDBL_MIN_EXP (-1021)
/* Minimum normalised positive number = 2.2250738585072014e-308 */
/* Minimum normalised long double */
#undef LDBL_MIN
#define LDBL_MIN 2.2250738585072014e-308L
/* Minimum int x such that 10**x is a normalised long double */
#undef LDBL_MIN_10_EXP
#define LDBL_MIN_10_EXP (-307)
/* The smallest numbers are not kept normalised */
/* Smallest unnormalised positive number = 4.9406564584124654e-324 */
/* There is an 'infinite' value */
/* Maximum exponent = 1024 */
/* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */
#undef LDBL_MAX_EXP
#define LDBL_MAX_EXP 1024
/* Maximum number = 1.7976931348623157e+308 */
/* Maximum long double */
#undef LDBL_MAX
#define LDBL_MAX 1.7976931348623157e+308L
/* Maximum int x such that 10**x is a representable long double */
#undef LDBL_MAX_10_EXP
#define LDBL_MAX_10_EXP 308
/* Arithmetic uses a hidden bit */
/* It looks like double length IEEE format */
/* Float expressions are evaluated in float precision */
/* Double expressions are evaluated in double precision */
/* Long double expressions are evaluated in double precision */
#endif /* _FLOAT_H___ */
/* For hints on dealing with the 2 problems above
see the section 'TROUBLESHOOTING' in the file enquire.c */
#if 0
2372786380000 tests/enquire.bin ( 0 NOPS) PASSES
$finish at simulation time 2372786430000
V C S S i m u l a t i o n R e p o r t
Time: 23727864300000 ps
CPU Time: 100776.220 seconds; Data structure size: 8.1Mb
Sun Mar 1 13:09:30 1998
#endif