From 54331941bfda2dca0a59224d7219fc12f93b1c15 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Wed, 15 Jan 2014 14:19:01 -0800 Subject: [PATCH] fix Math_floor coercion in unrecommended codegen modes (no roundings correction or imprecise i64) --- src/parseTools.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/parseTools.js b/src/parseTools.js index b7f97a406..be0cbcab3 100644 --- a/src/parseTools.js +++ b/src/parseTools.js @@ -2150,9 +2150,9 @@ function makeRounding(value, bits, signed, floatConversion) { } } // Math.floor is reasonably fast if we don't care about corrections (and even correct if unsigned) - if (!correctRoundings() || !signed) return 'Math_floor(' + value + ')'; + if (!correctRoundings() || !signed) return '(+Math_floor(' + value + '))'; // We are left with >32 bits - return makeInlineCalculation(makeComparison('VALUE', '>=', '0', 'float') + ' ? Math_floor(VALUE) : Math_ceil(VALUE)', value, 'tempBigIntR'); + return makeInlineCalculation(makeComparison('VALUE', '>=', '0', 'float') + ' ? +Math_floor(VALUE) : +Math_ceil(VALUE)', value, 'tempBigIntR'); } }