aboutsummaryrefslogtreecommitdiff
path: root/kernel/float64.ml
diff options
context:
space:
mode:
authorGuillaume Bertholon2018-08-03 17:38:48 +0200
committerPierre Roux2019-11-01 10:20:27 +0100
commitdda50a88aab0fa0cfb74c8973b5a4353fe5c8447 (patch)
treead80b6386f39dda5666308658ef7d9fa79c4cd20 /kernel/float64.ml
parent55d32c9f3a91058f69f34c17c17701d0dc81874d (diff)
Put axioms on ldshiftexp and frshiftexp
Axioms on ldexp and frexp are replaced by proofs inside FloatLemmas. The shift value has been increased to 2 * emax + prec because in ldexp we want to be able to transform the smallest denormalized to the biggest float value in one call.
Diffstat (limited to 'kernel/float64.ml')
-rw-r--r--kernel/float64.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/float64.ml b/kernel/float64.ml
index 0b22e07e82..a625c0f551 100644
--- a/kernel/float64.ml
+++ b/kernel/float64.ml
@@ -51,7 +51,7 @@ let normfr_mantissa f =
if f >= 0.5 && f < 1. then Uint63.of_float (ldexp f prec)
else Uint63.zero
-let eshift = 1022 + 52 (* minimum negative exponent + binary precision *)
+let eshift = 2101 (* 2*emax + prec *)
(* When calling frexp on a nan or an infinity, the returned value inside
the exponent is undefined.