Skip to content

Commit 272d4ba

Browse files
committed
Add + unary fix
1 parent 4e90c50 commit 272d4ba

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

precision/index.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -300,14 +300,15 @@ export function configurePrecision (engine, constructor, compatible = true) {
300300
let overflow = 0
301301
for (let i = 0; i < data.length; i++) {
302302
const item = +data[i]
303-
if (Number.isInteger(data[i])) res += item
303+
if (Number.isInteger(item)) res += item
304304
else {
305305
res += item | 0
306306
overflow += +('0.' + item.toString().split('.')[1]) * 1e6
307307
}
308308
}
309+
309310
return res + (overflow / 1e6)
310-
}, { deterministic: true, sync: true })
311+
}, { deterministic: true, sync: true, optimizeUnary: true })
311312

312313
engine.addMethod('*', (data) => {
313314
const SCALE_FACTOR = 1e6 // Fixed scale for precision
@@ -344,14 +345,14 @@ export function configurePrecision (engine, constructor, compatible = true) {
344345
let overflow = 0
345346
for (let i = 1; i < data.length; i++) {
346347
const item = +data[i]
347-
if (Number.isInteger(data[i])) res -= item
348+
if (Number.isInteger(item)) res -= item
348349
else {
349350
res -= item | 0
350351
overflow += +('0.' + item.toString().split('.')[1]) * 1e6
351352
}
352353
}
353354
return res - (overflow / 1e6)
354-
}, { deterministic: true, sync: true })
355+
}, { deterministic: true, sync: true, optimizeUnary: true })
355356

356357
engine.addMethod('%', (data) => {
357358
let res = data[0]

0 commit comments

Comments
 (0)