feat: Add complex numbers

With just the operations we have for numbers, and overall tests.
This commit is contained in:
Glen Whitney 2022-03-25 01:54:20 -07:00
parent 536656bfe8
commit 32bc9ca515
8 changed files with 80 additions and 7 deletions

View file

@ -1,14 +1,18 @@
export function isNumber(x) {
return typeof x === 'number'
}
export function allNumbers(args) {
for (let i = 0; i < args.length; ++i) {
if (typeof args[i] !== 'number') return false
}
return true
for (let i = 0; i < args.length; ++i) {
if (!isNumber(args[i])) return false
}
return true
}
export function oneNumber(args) {
return args.length === 1 && typeof args[0] === 'number'
return args.length === 1 && isNumber(args[0])
}
export default function create(pmath) {
return pmath('number', [() => true, x => Number(x)])
return pmath('number', [() => true, x => Number(x)])
}