112 Commits

Author SHA1 Message Date
Nick Ewing
859cfa208a
Replace recursive calls in typed-functions with this-style calls (#1903)
* Fix #1902: typo in an example in the documentation

* Replace recursive calls in typed-functions with `this`-style calls

* Replace more recursive calls in typed-functions with `this`-style calls

* Refactor compareNatural to use this-style recursion

Co-authored-by: josdejong <wjosdejong@gmail.com>
2020-07-13 17:37:30 +02:00
josdejong
e44cb97b06 Fix #1855: Fix error in the documentation for math.nthRoots(x) 2020-05-20 09:08:25 +02:00
josdejong
23e38bea60 Remove all deprecated code and warnings 2020-05-06 21:57:33 +02:00
Michal Grňo
aafef5760c
Improve dot product (#1773)
* make dot product faster and correct for ℂ

* minor fixes

* added tests, fixed bugs

* add dot for sparse matrices

* make multiply(vec, vec) use dot

* add test for complex vectors

* added test for mul(vec, vec), removed one TODO comment

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-03-29 17:04:57 +02:00
Harry Sarson
462f46947f fix qr and sign edge cases (#1670)
* fix qr and sign edge cases

qr() was throwing an error if the pivots of a matrix were zero.
This commit fixes that and ensures that the results are consistant
with wolfram alpha.

Whilst doing this I found a bug in complex.js, I have added a work
around but we should flag this upstream.

I also addressed the long standing concerns about assert statements
within the body of the qr function.

Fixes #1669
Fixes #942

* further improvements to qr and sign

mainly fixing things I got wrong in previous commit

* add array test

* fix: remove only from tests and disallow

Uses mochas `--forbid-only` flag as advised by
https://github.com/standard/standard/issues/988
2019-11-18 20:03:09 +01:00
jos
d8a4f3a00a Update to standard@13.0.2 2019-07-20 13:46:31 +02:00
jos
35fc780d2a Refactor import to first flatten the functions and then import them, allowing to import dependency collections 2019-06-05 10:57:48 +02:00
jos
41efed79d3 Fix #1473: remove 'use strict' in every file 2019-05-26 20:21:18 +02:00
jos
33cead1327 Improved deprecation errors and warnings. Introduce lazy again for factories. 2019-04-22 09:45:57 +02:00
jos
6081360d6a Merged develop into modular_architecture 2019-04-13 16:51:51 +02:00
Eric Mansfield
c0ca6da6a4 Gracefully handle round-off errors in fix, ceil, and floor (#1432)
* Fixed unit base recognition and formatting for user-defined units

* Manually copied work from another branch

* Removed semicolons

* Replaced assert.equal with assert.strictEqual

* Added support for bignumber

* Replaced var with const
2019-03-10 13:36:50 +01:00
jos
6acadd71a0 Create number implementations of all functions in mainNumber.js 2019-03-06 21:49:30 +01:00
jos
70cbc3ec30 Replace http urls with https where supported 2019-02-27 13:08:42 +01:00
jos
7d00987a3f Fix #1404: inconsistent rounding of negative numbers 2019-02-20 16:54:10 +01:00
jos
83df09800b Merge branch 'develop' into modular_architecture_merge
# Conflicts:
#	HISTORY.md
#	gulpfile.js
#	package-lock.json
#	package.json
#	src/core/function/typed.js
#	src/expression/transform/index.js
#	src/function/statistics/sum.js
#	src/function/utils/index.js
#	src/type/unit/Unit.js
#	src/version.js
#	test/expression/node/FunctionNode.test.js
#	test/type/unit/function/createUnit.test.js
#	test/utils/bignumber/formatter.test.js
#	test/utils/number.test.js
2019-02-09 21:26:25 +01:00
jos
869d4960f9 Create and use factory.js to import all dependencies in main instance. Deprecate all old nested index.js files. 2019-01-30 14:38:47 +01:00
jos
c42844a5d8 Flatten all type.* dependencies 2019-01-30 13:47:45 +01:00
jos
016e10109d Fix functions having the actual config values.
Fix classes not listening for changes in config.
Decouple creating classes from `core`.
2018-12-30 20:41:06 +01:00
jos
01a230a996 Add /* #__PURE__ */ everywhere to enable tree-shaking in webpack 2018-12-01 11:21:36 +01:00
jos
c7e0d211b7 All functions use plain object config properties, and use a copy of the config (finalize them) 2018-11-21 21:09:20 +01:00
jos
9750beb841 Cleanup redundant local variables 2018-11-21 18:18:10 +01:00
jos
19275e5eaa Moved all toTex properties to latex util file 2018-11-21 18:08:21 +01:00
Jos de Jong
2bd8829eb0
Fixed a typo in the docs of sign (see #1325) 2018-11-15 20:03:24 +01:00
jos
7a48d972ce Refactored all statistics functions. Renamed var to variance 2018-11-09 12:33:13 +01:00
jos
d7ed170ba5 Converted all function transforms, expression functions, and embedded docs 2018-11-09 11:16:55 +01:00
jos
b0ec1cc20c Add embedded docs again. Disable travis testing on node 6 for now (slow) 2018-11-08 15:13:31 +01:00
jos
9faf91f697 Convert all data types, converted all algebra functions. Fixes in order of importing factories. 2018-11-08 15:02:18 +01:00
jos
75b18b103c Slim down dependencies on DenseMatrix and SparseMatrix 2018-11-07 17:36:45 +01:00
jos
2d7a407ee2 Create mainAll.js. Change algorithm functions to be internal factory functions (not injected). Convert more functions and data types. 2018-11-07 16:43:06 +01:00
jos
2fd6cbd568 Converted matrix classes. Fixes in dependency resolving/ordering. 2018-11-07 12:38:00 +01:00
jos
046173c531 Converted all arithmetic functions 2018-11-06 13:13:52 +01:00
jos
b9fb67483a Converted all matrix algorithm util functions and some arithmetic functions 2018-11-06 11:30:55 +01:00
jos
ee4442b17a Allow importing nested dependencies 2018-11-06 10:28:34 +01:00
jos
f6b524a966 Use object destructuring in factory function callback. Rename typeof to typeOf. Only pass dependencies in scope to factory function. 2018-11-06 09:17:21 +01:00
jos
c1a8004a12 - Created a util function factory
- Implemented resolving dependencies
- Converted the first few factory functions
2018-11-05 17:27:42 +01:00
jos
c4d245bc02 Implement resolving dependencies in correct order 2018-11-05 10:53:42 +01:00
jos
51960aafe0 Change the structure of a factory function from an function to an object with meta data 2018-11-05 10:25:32 +01:00
jos
94e9668b4a Refactor functions into ES6 import/export 2018-10-31 20:53:01 +01:00
jos
9800f25b35 Reorganized utils functions and refactored to ES6 import/export 2018-10-31 19:58:33 +01:00
jos
e3211a7efc Move all is* functions like isComplex into is.js 2018-10-31 15:28:51 +01:00
jos
d36d54cfc9 Rename hypot.js back to createHypot.js othwerwise we get confusing naming issues 2018-10-31 09:44:06 +01:00
jos
efd4f46f9c Merge branch 'develop' into modular_architecture 2018-10-31 09:14:00 +01:00
jos
216c1cd480 Publish v5.2.3 2018-10-30 20:21:16 +01:00
jos
5b6863e364 Fixed #1304: function pow not supporting inputs pow(Unit, BigNumber) 2018-10-30 20:13:15 +01:00
jos
3019b4a526 Merge branch 'develop' into modular_architecture 2018-10-20 18:25:43 +02:00
jos
a68c14b7f1 Rename factory function to hypot again 2018-10-20 18:24:54 +02:00
Eric Mansfield
aadb63ef3b Bugfix for bignumber divided by unit (#1270)
* Bugfix for bignumber divided by unit

* Expanded out numeric.js, improved divideScalar.js

* Minor comments
2018-10-05 20:53:49 +02:00
jos
c13466bd0a Merge branch 'develop' into modular_architecture 2018-09-21 20:11:47 +02:00
greenkeeper[bot]
c5971b371a Update standard to the latest version 🚀 (#1226)
* chore(package): update standard to version 12.0.0

* update to new lint version with --fix

I believe this mainly adds whitespace to `{}`'s.

* Replace assert.equal with assert.strictEqual

This breaks a lot of tests which I will endevour to fix in the next
commits.

* Fix most errors due to assert.strictEquals

Some instances of `strictEquals` are replaced by `deepEquals`.
`toString` has been used to make some string comparisions explicit.
Tests will still fail untill #1236 and #1237 are fixed.

* Fix assertion erros due to -0

With node 10, assert.strictEqual no longer considers `0 === -0`.
I missed these first time round as I was using node 8.

* Put toString correct side of bracket

I was converting the constructor to a string rather
than the result of the computation. Oops.

* Fixed #1236: quantileSeq has inconsistant return

* Update package-lock

* Fixed #1237: norm sometimes returning a complex number instead of number

* Fix cli tests

* More changes for standardjs, and fixes in unit tests
2018-09-08 16:33:58 +02:00
jos
56a52f6dfd Fix unit tests broken on Nodejs 6 and 8 (no proper NaN assertions) 2018-08-21 21:27:11 +02:00