refactor: Convert resolution to two-tier system
Typed-function's sort order/matching algorithm was interfering with template resolution. This commit solves the difficulty by moving the "catchall" implementations that implement generation of new template instances into a separate "fallback" typed-function universe, so that Pocomath can control exactly when that is searched. Removes a couple of the matching anomalies already noted in the tests. Also extends return types to somewhat more functions.
This commit is contained in:
parent
a2f76a55b8
commit
de42c22ab4
13 changed files with 428 additions and 278 deletions
|
@ -39,8 +39,8 @@ describe('complex', () => {
|
|||
})
|
||||
|
||||
it('checks for equality', () => {
|
||||
assert.ok(math.equal(math.complex(3,0), 3))
|
||||
assert.ok(math.equal(math.complex(3,2), math.complex(3, 2)))
|
||||
assert.ok(math.equal(math.complex(3, 0), 3))
|
||||
assert.ok(math.equal(math.complex(3, 2), math.complex(3, 2)))
|
||||
assert.ok(!(math.equal(math.complex(45n, 3n), math.complex(45n, -3n))))
|
||||
assert.ok(!(math.equal(math.complex(45n, 3n), 45n)))
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue