375 Commits

Author SHA1 Message Date
Jos de Jong
e6af8ec92a Fix #2167: typo in error message 2021-04-14 10:07:55 +02:00
Viktor
91141bbbb6
Miller–Rabin primality test (#2139)
* Miller–Rabin primality test

* add tests for some big numbers

* Update isPrime.js

* Update isPrime.js

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2021-04-10 10:14:16 +02:00
Michal Grňo
2d83c394a9
fixed a link in the comments of usolveAll and lsolveAll (#2154)
* fixed a link in the comments of usolveAll

The overleaf link in `usolveAll` didn't work.

* fixed link in lsolveAll
2021-04-07 14:17:11 +02:00
Jos de Jong
1587d12389 Fix #2128: typo in docs of luSolveAll and usolveAll 2021-03-09 21:13:06 +01:00
Josef Wittmann
bf0eedfdd5
Implement count based on size (#2092)
* Implement count based on size

Closes #2085

* Improve count implementation

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2021-01-31 11:02:26 +01:00
Quentin Truong
02d36c1177
Check for equal number of arguments in simplify (#2090)
* Check for equal number of arguments when simplifying non-associative nodes

* Use === instead of ==

* Run linter and remove trailing space
2021-01-27 11:10:14 +01:00
Jos de Jong
6fc5d0e39b Fix merge conflicts 2021-01-24 11:03:55 +01:00
Josef Wittmann
b602e21852
Extract reshape wildcard processing 2021-01-06 17:12:51 +01:00
Colin Holzman
d12f3a5fac
Word size suffix and BigNumber support for bin oct hex literals (#1996)
* added support for word size suffix in getToken

* start modifying number(string) to support word size suffix for signed integers

* word size suffixes for Number

* initial support for BigNumber

* fix linter issues

* remove unused variable

* start extending bitwise operators for Number for values greater than 32 bits

* Revert "start extending bitwise operators for Number for values greater than 32 bits"

This reverts commit 6fac1a7b10665a221ab5de521c08fa9fcf959eb1.

* add a test for 53 bit literal

* added an optional second argument to bin, oct, and hex to allow formatting signed numbers with custom word size

* removed size checks

* Attempted to extend bin, oct, hex format functions to work with BigNumber, but not working fully.

Apparently Decimal.js toString method doesn't take a base parameter like js number does. I guess I have to do the formatting myself.

* Added n2base function to do formatting for BigNumber.

* Added check for zero in n2base.

* Removed old failing tests.

* Added some tests (failing).

* Extended 'format' function with 'base' and 'wordSize' options and changed 'bin', 'oct', and 'hex' to use 'format' function.

* Fixed lint issues.

* Fixed issues related to the merge.

* Corrected a test.

* Fixed bignumber formatter.

* Added tests for math.format with 'base' and 'wordSize' options.

* Fixed lint issue.

* Changed 'base' option to 'bin', 'oct', and 'hex' values for 'notation' option of 'format' function.

* Added word size suffix to the output of format, bin, oct, and hex.

* Updated documentation.
2021-01-06 09:46:58 +01:00
Josef Wittmann
dcab05272a
Add numpy-like reshape wildcard 2020-12-31 09:49:25 +01:00
Josef Wittmann
e62bff8506
Add Julia-like reshape wildcard (wip)
Problem: The parser tries to find `end` for the wildcard.
2020-12-31 09:19:42 +01:00
redbar0n
10decb0fed
Update clone.js with doc about deep copying arrays (#2040)
* Update clone.js with doc about deep copying arrays

Since it was missing, and it is important documentation for anyone using math.clone for arrays of arrays (matrices). The deep copying was inferred from the test case, but it shouldn't have been necessary. Now it will hopefully be shown in the doc on the webpage, too.

* Update description to be more general.

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-12-03 17:45:20 +01:00
Jos de Jong
4d035f6e66 Fix typo in examples of function round 2020-11-30 09:54:25 +01:00
Jos de Jong
9250f44e88 Fix #2026: introduce new option fractionsLimit in function simplify 2020-11-13 15:14:04 +01:00
Jos de Jong
488943d299 Fix #2026: have function simplify not output decimal values into fractions with very large numerator/denominator 2020-11-13 14:47:30 +01:00
Jos de Jong
46b5102f92 Add missing file extensions on import 2020-11-02 12:53:16 +01:00
Jos de Jong
41c5e2fabe Merge branch 'develop' into v8
# Conflicts:
#	HISTORY.md
#	package-lock.json
#	package.json
#	src/expression/embeddedDocs/embeddedDocs.js
#	src/factoriesAny.js
#	src/function/special/erf.js
#	src/plain/number/probability.js
#	src/version.js
2020-11-02 11:59:12 +01:00
Jos de Jong
68c6a91801 Update devDependencies 2020-11-02 09:33:11 +01:00
rnd-debug
5849038918
implementing rotate(w, theta) (#1992)
* emplementing rotate(w, theta)

* will return same type as input

* edge cases arraySize

* rising coverage

* making result type predictable

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-10-28 12:00:52 +01:00
Jos de Jong
e788c1d7f3 Fix #1990: improve pickRandom: return matrix output on matrix input, introduce new option elementWise, always return n number of random picks (see also #1976). 2020-10-18 12:25:02 +02:00
Jos de Jong
5f59174614 Fix unit test and missing import extension 2020-10-18 10:23:36 +02:00
Jos de Jong
83e1963cee Merge branch 'develop' into v8
# Conflicts:
#	HISTORY.md
#	src/function/probability/pickRandom.js
#	test/unit-tests/function/probability/pickRandom.test.js
2020-10-18 10:14:32 +02:00
Jos de Jong
c5ab722d95 Merge branch 'pickrandom-allow-any-array)' of https://github.com/KonradLinkowski/mathjs into develop 2020-10-07 15:06:52 +02:00
Jos de Jong
4633d702f3 Fix merge conflicts 2020-10-07 13:40:21 +02:00
Jos de Jong
adb259b194 Merge remote-tracking branch 'origin/develop' into v8
# Conflicts:
#	HISTORY.md
#	package-lock.json
#	package.json
#	src/expression/embeddedDocs/embeddedDocs.js
#	src/factoriesAny.js
2020-10-07 13:35:05 +02:00
rnd-debug
439ec41e13
Feat/rotate matrix (#1984)
* providing rotationMatrix(theta, v)

* increase coverage

* adding latex test as is

* fixing rounding issues with math.pi

* fixing lint

* Update rotationMatrix.js

remove non-sense doc

* Update rotationMatrix.js

Remove non-sense from docs

* removing nonsense from docs

* Renaming functions

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-10-07 12:41:50 +02:00
Jos de Jong
08ed775fe4 Fix merge conflicts 2020-10-07 12:37:44 +02:00
Jos de Jong
99b738f3e6 Merge branch 'develop' into v8
# Conflicts:
#	AUTHORS
#	HISTORY.md
#	package-lock.json
#	package.json
#	src/expression/embeddedDocs/embeddedDocs.js
#	src/factoriesAny.js
#	src/function/arithmetic/ceil.js
#	src/function/arithmetic/fix.js
#	src/function/arithmetic/floor.js
#	test/unit-tests/function/arithmetic/ceil.test.js
2020-10-07 12:12:35 +02:00
Konrad Linkowski
a5cbb6aa37 pickRandom - flatten the array 2020-10-03 19:37:21 +02:00
Konrad Linkowski
ca05c25546 Allow any array in pickRandom function 2020-10-03 19:37:21 +02:00
Konrad Linkowski
becab4099b
sqrtm - throw an error for matrices with dimension greater than two (#1977) 2020-09-30 12:37:32 +02:00
rnd-debug
9f06dad72f
floor and cell with precision (#1967)
* floor and cell with precision

* appends missing files

* fixing lint

* fixing ceil and floor tests: string typing issue

* fixing ceil and floor tests: string typing issue

* fixing ceil and floor tests: string typing issue

* fixing ceil and floor tests: string typing issue

* adding fix(x,n); adding more tests for floor and ceil

* rising coverage

* adding docs for fix(x,n)

* completing fix(x, n)

* fixing string typing issue
2020-09-27 17:07:38 +02:00
Colin Holzman
f5d843bbc6
Binary, octal, and hexadecimal literals and formatting (#1968)
* allow binary, octal, and hex literals as in JS (0b, 0o, 0x)

* add tests

* fix lint issues

* add notation for binary, octal, and hex in formatNumber

* remove the extra format notations

* add bin, oct, and hex functions for formatting

* move bin, oct, and hex from base.js to their own files, fixed built test error about documentation

* parse and format treat values as 32 bit signed 2s complement integers

* add section in syntax documentation

* typo

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-09-26 17:45:10 +02:00
ovk
36c53b72af
Fix negative dividend modulo for BigNumber and Fraction (#1973) 2020-09-23 11:42:10 +02:00
Jos de Jong
6f00715754
Specify import require paths (continuation of #1941) (#1962)
* Add `.js` extension to source file imports

* Specify package `exports` in `package.json`

Specify package type as `commonjs` (It's good to be specific)

* Move all compiled scripts into `lib` directory

Remove ./number.js (You can use the compiled ones in `./lib/*`)

Tell node that the `esm` directory is type `module` and enable tree shaking.

Remove unused files from packages `files` property

* Allow importing of package.json

* Make library ESM first

* - Fix merge conflicts
- Refactor `bundleAny` into `defaultInstance.js` and `browserBundle.cjs`
- Refactor unit tests to be able to run with plain nodejs (no transpiling)
- Fix browser examples

* Fix browser and browserstack tests

* Fix running unit tests on Node 10 (which has no support for modules)

* Fix node.js examples (those are still commonjs)

* Remove the need for `browserBundle.cjs`

* Generate minified bundle only

* [Security] Bump node-fetch from 2.6.0 to 2.6.1 (#1963)

Bumps [node-fetch](https://github.com/bitinn/node-fetch) from 2.6.0 to 2.6.1. **This update includes a security fix.**
- [Release notes](https://github.com/bitinn/node-fetch/releases)
- [Changelog](https://github.com/node-fetch/node-fetch/blob/master/docs/CHANGELOG.md)
- [Commits](https://github.com/bitinn/node-fetch/compare/v2.6.0...v2.6.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

* Cleanup console.log

* Add integration tests to test the entry points (commonjs/esm, full/number only)

* Create backward compatibility error messages in the files moved/removed since v8

* Describe breaking changes in HISTORY.md

* Bump karma from 5.2.1 to 5.2.2 (#1965)

Bumps [karma](https://github.com/karma-runner/karma) from 5.2.1 to 5.2.2.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v5.2.1...v5.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

Co-authored-by: Lee Langley-Rees <lee@greenimp.co.uk>
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-09-20 18:01:29 +02:00
PoppinL
943f1dbe70
Replace seed-random by seedrandom (#1955) 2020-09-06 10:25:41 +02:00
rnd-debug
d08f2bc893
enable variance() and std() to use arrays with units (#1959) 2020-09-06 09:29:25 +02:00
Michal Grňo
ba4ff2f9c9
Add usolveAll and lsolveAll methods (#1916)
* refactor solveValidation

* refactor usolve

* usolve algorithm implemented (for square mat.)

* added lsolve, consistent return type, fixed tests

* fixed lusolve and its tests, fixed linting issues

* added tests for usolve&lsolve, try-catch in lusolve

* put changes into separate files (u-/lsolveAll), revert changes to u-, l- and lusolve

* made *solveAll return [] for non-solvable, implemented sparse algorithms

* improved documentation for *solve(All)

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-08-29 13:11:16 +02:00
rnd-debug
97a56b8114
feat: implementing norm 2 for matrices (#1931)
* feat: implementing norm 2 for matrices

* norm2: adding edge test cases

* norm2: adding edge test cases

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2020-08-22 12:24:11 +02:00
Jos de Jong
80fb20fbe7 Fix some unit tests failing on IE 11 2020-07-19 11:50:17 +02:00
Jos de Jong
84f2746128 Merge branch 'Undo' of https://github.com/Veeloxfire/mathjs into Veeloxfire-Undo 2020-07-19 10:59:23 +02:00
Tom Hickson
1fd3c8bd10 Added one-based indexing for diff inside the parse
Also added bignumbers as indexes as that could be useful
2020-07-17 19:54:15 +01:00
Tom Hickson
fbebed77a1 added better(?) support for matrices
Matrices are all treated as arrays (of arrays) now. This was to prep for writing better docs
2020-07-17 18:29:51 +01:00
Tom Hickson
0c61d21c95 added unit tests for diff Errors
Added Unit tests for the 4 Errors. Also changed some small things
2020-07-17 17:49:17 +01:00
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
c19492a3c9 Fix functions sum, prod, min, and max not throwing a conversion error when passing a single string, like sum("abc") 2020-06-24 09:47:46 +02:00
josdejong
eef3b9e612 Fix prod("abc") not throwing a conversion error 2020-06-23 20:30:20 +02:00
josdejong
0ae2d49232 Fix sum("abc") not throwing a conversion error 2020-06-23 20:21:07 +02:00
josdejong
6c7f4c860e Fix #1882: have DenseMatrix.resize and SparseMatrix.resize accept DenseMatrix and SparseMatrix as inputs too 2020-06-13 13:19:40 +02:00
josdejong
e44cb97b06 Fix #1855: Fix error in the documentation for math.nthRoots(x) 2020-05-20 09:08:25 +02:00