diff options
-rw-r--r-- | src/internal/floatscan.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/internal/floatscan.c b/src/internal/floatscan.c index f6e331d4..eef70df9 100644 --- a/src/internal/floatscan.c +++ b/src/internal/floatscan.c @@ -15,12 +15,20 @@ #define LD_B1B_MAX 9007199, 254740991 #define KMAX 128 -#else /* LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 */ +#elif LDBL_MANT_DIG == 64 && LDBL_MAX_EXP == 16384 #define LD_B1B_DIG 3 #define LD_B1B_MAX 18, 446744073, 709551615 #define KMAX 2048 +#elif LDBL_MANT_DIG == 113 && LDBL_MAX_EXP == 16384 + +#define LD_B1B_DIG 4 +#define LD_B1B_MAX 10384593, 717069655, 257060992, 658440191 +#define KMAX 2048 + +#else +#error Unsupported long double representation #endif #define MASK (KMAX-1) |