fix(Types): Move distinct types into distinct identifiers
This allows types to be collected; prior to this commit they were conflicting from different modules. Uses this fix to extend sqrt to bigint, with the convention that it is undefined for non-perfect squares when 'predictable' is false and is the "best" approximation to the square root when 'predictable' is true. Furthermore, for negative bigints, you might get a Gaussian integer when predictable is false; or you will just get your argument back when 'predictable' is true because what other bigint could you give back for a negative bigint? Also had to modify tests on the sign in sqrt(Complex) and add functions 'zero' and 'one' to get types to match, as expected in #27. Adds numerous tests. Resolves #26. Resolves #27.
This commit is contained in:
parent
b21d2b59fa
commit
f68c7bd1fb
44 changed files with 287 additions and 109 deletions
|
|
@ -1,8 +1,7 @@
|
|||
{
|
||||
name: 'pocomath',
|
||||
version: '0.0.0',
|
||||
description: 'A little proof-of-concept for organizing mathjs by module\
|
||||
inclusion, avoiding factory functions.',
|
||||
description: 'A little proof-of-concept for organizing mathjs by module inclusion, avoiding factory functions.',
|
||||
main: 'index.js',
|
||||
scripts: {
|
||||
'test:filecase': '!(find . | sort -f | uniq -i -c | grep -v " 1 ")',
|
||||
|
|
@ -24,6 +23,7 @@
|
|||
mocha: '^10.0.0',
|
||||
},
|
||||
dependencies: {
|
||||
'bigint-isqrt': '^0.2.1',
|
||||
'typed-function': '^3.0.0',
|
||||
},
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue