* nearlyEqual with absolute and relative tolerances
* Format
* nearlyEqual for bigNumber
* Added skip for NaN
* Reduce diff a bit
* Issue with examples in jsdcos
* Updated all calls for nearlyEqual
* Fixed failing tests
* Changed epsilon to relTol, absTol
* Changed references to epsilon in docs and tests
* Added warning for config.epsilon
* Fix warning in zeta.test
* Added config test
* Added sinon to test console.warn
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* Use referToSelf() to recursively check if various types are NaN in an array or matrix
* fix array test description from isNegative to isNaN
* Add test for units in a matrix
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* Fixing rounding bug from issue 3100
* Corrected syntax and converted if...else to logic using ternary operator
* Removing nearlyEqual comparison because a false
return value was mathematically impossible by
user input.
Adding dynamic epsilon logic to cover cases when
a user requests to round a number to a higher
precision than epsilon in the config file.
Also adding tests to cover dynamic epsilon cases.
* Removing dynamic epsilon and adding test for changing config.epsilon during runtime
* Reintroducing nearly equal verification for
round function.
Adding test case for changing epsilon at runtime.
Both tests for changing epsilon at runtime also
verify the false nearlyEqual scenario.
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* fix: mode type signatures
* Add ts tests for mode
* Add assertions mode type tests
* Update author Rich in AUTHORS file
---------
Co-authored-by: Rich Martinez <richmartinez@Edinas-MacBook-Pro.local>
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* chore: write unit tests using `and` and `or` inside a function definition (WIP)
* fix: #3143 fix scope issues in rawArgs functions by implementing a `PartitionedMap`
* fix: add more unit tests for `ObjectWrappingMap`
* fix: don't let `ObjectWrappingMap` and `PartitionedMap` extend `Map` (risk of having non-overwritten methods)
* docs: update docs about `rawArgs` functions
* Prefer inferring types of nodes as tuples
* Implement for IndexNode
* Test for types
* Use tuple type for array node
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* Add new test for degC toSI
* Convert value using to() if needed
* Only set ret.value = null when it is not already null
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* Add test for conversion to unitless quantity
* Avoid access to missing array index
* Also check that other.units is not empty
* Add test for abs of dimensionless unit
* Fix: avoid access to missing units array index
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* added Q, R, r, q metrix prefixes
* tests added for new prefixes
* removed duplicate tests
* maybe square and cubic tests will bump code cov into the positive
* Check numeric value
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* If fn has rawArgs set, pass unevaluated args
* Add shared helper function for evaluating truthiness
* Add and & or transform functions for lazy evaluation
* Add lazy evaluation of bitwise & and | operators
* Add unit tests for lazy evaluation
* Add lazy evaluation note to docs
* Move documentation to Syntax page
* Replace `testCondition()` with test evaluation
of logical function itself
* Use `isCollection()` to simplify bitwise transform functions
* fix: do not copy scope in raw OperatorNode, test lazy operators scope
* fix: linting issues
---------
Co-authored-by: Brooks Smith <brooks.smith@clearcalcs.com>
* fix#2761: implement support for units in function `round` (WIP)
* fix#2761: extend function `round` with support for units
* docs: describe all signatures in the docs of function round
* chore: fix linting issue
* chore: remove less-useful signatures for round with units and matrices