From 22730d65608db06500cc6e0be4aaec03238f996b Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 17 May 2013 18:38:42 -0400 Subject: [PATCH] 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. --- arch/arm/bits/float.h | 1 + arch/i386/bits/float.h | 1 + arch/microblaze/bits/float.h | 1 + arch/mips/bits/float.h | 1 + arch/powerpc/bits/float.h | 1 + arch/x86_64/bits/float.h | 1 + include/float.h | 2 ++ 7 files changed, 8 insertions(+) diff --git a/arch/arm/bits/float.h b/arch/arm/bits/float.h index dce9e2d9..89e9eb6e 100644 --- a/arch/arm/bits/float.h +++ b/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 diff --git a/arch/i386/bits/float.h b/arch/i386/bits/float.h index e18267d3..c356cba9 100644 --- a/arch/i386/bits/float.h +++ b/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 diff --git a/arch/microblaze/bits/float.h b/arch/microblaze/bits/float.h index dce9e2d9..89e9eb6e 100644 --- a/arch/microblaze/bits/float.h +++ b/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 diff --git a/arch/mips/bits/float.h b/arch/mips/bits/float.h index dce9e2d9..89e9eb6e 100644 --- a/arch/mips/bits/float.h +++ b/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 diff --git a/arch/powerpc/bits/float.h b/arch/powerpc/bits/float.h index dce9e2d9..89e9eb6e 100644 --- a/arch/powerpc/bits/float.h +++ b/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 diff --git a/arch/x86_64/bits/float.h b/arch/x86_64/bits/float.h index 17fd74d7..9ea29914 100644 --- a/arch/x86_64/bits/float.h +++ b/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 diff --git a/include/float.h b/include/float.h index ea25f270..c7b208af 100644 --- a/include/float.h +++ b/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 -- 2.20.1