feat: Implement subtypes
This should eventually be moved into typed-function itself, but for now it can be implemented on top of the existing typed-function. Uses subtypes to define (and error-check) gcd and lcm, which are only defined for integer arguments. Resolves #36.
This commit is contained in:
parent
4d38f4161c
commit
c429c19dfe
35 changed files with 294 additions and 43 deletions
|
@ -52,4 +52,16 @@ describe('bigint', () => {
|
|||
assert.deepStrictEqual(bo.sqrt(-3249n), bo.complex(0n, 57n))
|
||||
})
|
||||
|
||||
it('computes gcd', () => {
|
||||
assert.strictEqual(math.gcd(105n, 70n), 35n)
|
||||
})
|
||||
|
||||
it('computes lcm', () => {
|
||||
assert.strictEqual(math.lcm(105n, 70n), 210n)
|
||||
assert.strictEqual(math.lcm(15n, 60n), 60n)
|
||||
assert.strictEqual(math.lcm(0n, 17n), 0n)
|
||||
assert.strictEqual(math.lcm(20n, 0n), 0n)
|
||||
assert.strictEqual(math.lcm(0n, 0n), 0n)
|
||||
})
|
||||
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue