blob: b0168abbb3f5265caf9ea2bbfc5ad0147ce51a25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#pragma force_top_level
#pragma include_only_once
/* float.h: ANSI 'C' (X3J11 Oct 88) library header, section 2.2.4.2 */
/* Copyright (C) Codemist Ltd, 1988 */
/* Copyright (C) Advanced Risc Machines Ltd., 1991 */
/* version 0.01 */
#ifndef __float_h
#define __float_h
/* IEEE version: the following values are taken from the above ANSI draft. */
/* The ACORN FPE (v17) is known not to precisely implement IEEE arithmetic. */
#define FLT_RADIX 2
/* radix of exponent representation */
#define FLT_ROUNDS 1
/*
* The rounding mode for floating-point addition is characterised by the
* value of FLT_ROUNDS:
* -1 : indeterminable.
* 0 : towards zero.
* 1 : to nearest.
* 2 : towards positive infinity.
* 3 : towards negative infinity.
* ? : any other is implementation-defined.
*/
#define FLT_MANT_DIG 24
#define DBL_MANT_DIG 53
#define LDBL_MANT_DIG 53
/* number of base-FLT_RADIX digits in the floating point mantissa */
/* The values that follow are not achieved under Acorn's FPE version 17 */
/* but they should be correct in due course! */
#define FLT_DIG 6
#define DBL_DIG 15
#define LDBL_DIG 15
/* number of decimal digits of precision */
#define FLT_MIN_EXP (-125)
#define DBL_MIN_EXP (-1021)
#define LDBL_MIN_EXP (-1021)
/* minimum negative integer such that FLT_RADIX raised to that power */
/* minus 1 is a normalised floating-point number. */
#define FLT_MIN_10_EXP (-37)
#define DBL_MIN_10_EXP (-307)
#define LDBL_MIN_10_EXP (-307)
/* minimum negative integer such that 10 raised to that power is in the */
/* range of normalised floating-point numbers. */
#define FLT_MAX_EXP 128
#define DBL_MAX_EXP 1024
#define LDBL_MAX_EXP 1024
/* maximum integer such that FLT_RADIX raised to that power minus 1 is a */
#define FLT_MAX_10_EXP 38
#define DBL_MAX_10_EXP 308
#define LDBL_MAX_10_EXP 308
/* maximum integer such that 10 raised to that power is in the range of */
/* representable finite floating-point numbers. */
#define FLT_MAX 3.40282347e+38F
#define DBL_MAX 1.79769313486231571e+308
#define LDBL_MAX 1.79769313486231571e+308L
/* maximum representable finite floating-point number. */
#define FLT_EPSILON 1.19209290e-7F
#define DBL_EPSILON 2.2204460492503131e-16
#define LDBL_EPSILON 2.2204460492503131e-16L
/* minimum positive floating point number x such that 1.0 + x != 1.0 */
#define FLT_MIN 1.17549435e-38F
#define DBL_MIN 2.22507385850720138e-308
#define LDBL_MIN 2.22507385850720138e-308L
/* minimum normalised positive floating-point number. */
#endif
/* end of float.h */
|