Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add + unary fix
  • Loading branch information
TotalTechGeek committed Dec 27, 2024
commit 272d4ba90c13a265821f78072d7d186bbb91ee19
9 changes: 5 additions & 4 deletions precision/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -300,14 +300,15 @@ export function configurePrecision (engine, constructor, compatible = true) {
let overflow = 0
for (let i = 0; i < data.length; i++) {
const item = +data[i]
if (Number.isInteger(data[i])) res += item
if (Number.isInteger(item)) res += item
else {
res += item | 0
overflow += +('0.' + item.toString().split('.')[1]) * 1e6
}
}

return res + (overflow / 1e6)
}, { deterministic: true, sync: true })
}, { deterministic: true, sync: true, optimizeUnary: true })

engine.addMethod('*', (data) => {
const SCALE_FACTOR = 1e6 // Fixed scale for precision
Expand Down Expand Up @@ -344,14 +345,14 @@ export function configurePrecision (engine, constructor, compatible = true) {
let overflow = 0
for (let i = 1; i < data.length; i++) {
const item = +data[i]
if (Number.isInteger(data[i])) res -= item
if (Number.isInteger(item)) res -= item
else {
res -= item | 0
overflow += +('0.' + item.toString().split('.')[1]) * 1e6
}
}
return res - (overflow / 1e6)
}, { deterministic: true, sync: true })
}, { deterministic: true, sync: true, optimizeUnary: true })

engine.addMethod('%', (data) => {
let res = data[0]
Expand Down
Loading