Browse Source

add FLT_TRUE_MIN, etc. macros from C11

there was some question as to how many decimal places to use, since
one decimal place is always sufficient to identify the smallest
denormal uniquely. for now, I'm following the example in the C
standard which is consistent with the other min/max macros we already
had in place.
Rich Felker 11 years ago
parent
commit
22730d6560

+ 1 - 0
arch/arm/bits/float.h

@@ -1,6 +1,7 @@
 #define FLT_ROUNDS 1
 #define FLT_EVAL_METHOD 0
 
+#define LDBL_TRUE_MIN 4.9406564584124654e-324
 #define LDBL_MIN 2.2250738585072014e-308
 #define LDBL_MAX 1.7976931348623157e+308
 #define LDBL_EPSILON 2.2204460492503131e-16

+ 1 - 0
arch/i386/bits/float.h

@@ -5,6 +5,7 @@
 #define FLT_EVAL_METHOD 2
 #endif
 
+#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L
 #define LDBL_MIN     3.3621031431120935063e-4932L
 #define LDBL_MAX     1.1897314953572317650e+4932L
 #define LDBL_EPSILON 1.0842021724855044340e-19L

+ 1 - 0
arch/microblaze/bits/float.h

@@ -1,6 +1,7 @@
 #define FLT_ROUNDS 1
 #define FLT_EVAL_METHOD 0
 
+#define LDBL_TRUE_MIN 4.9406564584124654e-324
 #define LDBL_MIN 2.2250738585072014e-308
 #define LDBL_MAX 1.7976931348623157e+308
 #define LDBL_EPSILON 2.2204460492503131e-16

+ 1 - 0
arch/mips/bits/float.h

@@ -1,6 +1,7 @@
 #define FLT_ROUNDS 1
 #define FLT_EVAL_METHOD 0
 
+#define LDBL_TRUE_MIN 4.9406564584124654e-324
 #define LDBL_MIN 2.2250738585072014e-308
 #define LDBL_MAX 1.7976931348623157e+308
 #define LDBL_EPSILON 2.2204460492503131e-16

+ 1 - 0
arch/powerpc/bits/float.h

@@ -1,6 +1,7 @@
 #define FLT_ROUNDS 1
 #define FLT_EVAL_METHOD 0
 
+#define LDBL_TRUE_MIN 4.9406564584124654e-324
 #define LDBL_MIN 2.2250738585072014e-308
 #define LDBL_MAX 1.7976931348623157e+308
 #define LDBL_EPSILON 2.2204460492503131e-16

+ 1 - 0
arch/x86_64/bits/float.h

@@ -5,6 +5,7 @@
 #define FLT_EVAL_METHOD 0
 #endif
 
+#define LDBL_TRUE_MIN 3.6451995318824746025e-4951L
 #define LDBL_MIN     3.3621031431120935063e-4932L
 #define LDBL_MAX     1.1897314953572317650e+4932L
 #define LDBL_EPSILON 1.0842021724855044340e-19L

+ 2 - 0
include/float.h

@@ -3,6 +3,7 @@
 
 #define FLT_RADIX 2
 
+#define FLT_TRUE_MIN 1.40129846e-45F
 #define FLT_MIN 1.17549435e-38F
 #define FLT_MAX 3.40282347e+38F
 #define FLT_EPSILON 1.19209290e-07F
@@ -15,6 +16,7 @@
 #define FLT_MIN_10_EXP (-37)
 #define FLT_MAX_10_EXP 38
 
+#define DBL_TRUE_MIN 4.9406564584124654e-324
 #define DBL_MIN 2.2250738585072014e-308
 #define DBL_MAX 1.7976931348623157e+308
 #define DBL_EPSILON 2.2204460492503131e-16