From 232761342383a45ffd6c7c432205b08fea5ce9b0 Mon Sep 17 00:00:00 2001 From: Sei Lisa Date: Wed, 21 Dec 2016 20:26:40 +0100 Subject: [PATCH] Follow-up to ba9511e: Fix rounding of result. --- lslopt/lslbasefuncs.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lslopt/lslbasefuncs.py b/lslopt/lslbasefuncs.py index 6b344af..1fbcd73 100644 --- a/lslopt/lslbasefuncs.py +++ b/lslopt/lslbasefuncs.py @@ -1062,8 +1062,9 @@ if lslcommon.IsCalc: val = random.random() * lim # Truncate, rather than rounding m, e = math.frexp(val) - m = math.floor(m * 8388608.0) / 8388608.0 - val = F32(math.ldexp(m, e)) + m = m * 16777216.0 + m = math.floor(m) if m > 0 else math.ceil(m) # don't invoke __trunc__ + val = F32(math.ldexp(m * 0.000000059604644775390625, e)) if val == lim: val = 0. return val