* chore: Rename `apply` to `mapSlices`
This renaming conforms with the Julia name for the function formerly
called `apply`, and allows it to be called from the expression parser.
The previous name `apply` is kept as an alias for `mapSlices`, for
backward compatibility. This commit implements an `alias` metadata
property for function factories to facilitate the `apply` alias for
`mapSlices`.
As a separate bonus, this PR corrects several typos in function docs
and removes now-passing doc tests from the list of "known failing" doc
tests to get down to 45 known failures and 136 total issues in doc tests.
(Most of the excess of 136 as compared to 45 are just due to roundoff
error/slight inaccuracy of what the documentation claims the result will
be and the actual result returned by mathjs. When the 45 are eliminated,
a reasonable numeric tolerance can be decided on for doc testing and
then the doc tests can be made binding rather than advisory.
* refactor: changes per PR review
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* fix: Handle bigints properly in more cases
* Allow a bigint to appear in a max/min of nonhomogeneous arguments
* If randomInt is called with a bigint or a pair of bigints, return
a bigint.
* Preserve uniformity of results if randomInt is called with a very large
range.
* Extend log, log2, and log10 to bigints
* Add tests for all of the above issues.
* Bonus: fix one JSDoc comment issue. If every PR fixes one, we will soon
get through the 150+
* fix: Refactors per comments and 1 bonus doc test (isInteger)
* chore: fix lint
---------
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* broadcasting
* Simplified broadcasting
* Updated for broadcasting
* Changed to camel case
* Camel case and auto formating
* Added comments
* Skip if matrices have the same size
* Fixed issue with undefined variable
missing dot in `A._size`
* Implemented broadcasting in all functions
* Added helper functions
* Added function to check for broadcasting rules
* Tests for broadcasted arithmetic
* Fixed issue with matrix the size of a vector
* Documented and updated broadcasting
* Included broadcast.test
* Included math to syntax when missing
* Added print transform and tests
* Simplify conditional
* Included regex in an util
---------
Co-authored-by: David Contreras <david.contreras@guentner.com>
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
* setup linting with eslint-config-standard, prettier
* [autofix] npm run lint -- --fix with new setup
* [manual] fix types/ directory errors
* [manual] fix linting errors in test/ directory
* [manual] fix single linting error in src/
* revert ts-expect-error comment change
* error on .only in mocha tests
* fix test description typo
* move some short objects to single line
* add and gitignore eslintcache
* individually suppress ts any
* set --max-warnings to 0
* extract matrices to constants
* update ts-expect-error comments
* fix(FunctionNode): Improve error message when a non-function is called
Also adds tests for as many different varieties of function calls
and their associate messages when the entity being called is not
a function as I could come up with.
Resolves#2493.
* feat(format): Add a truncate option to limit result length.
Also uses the new option in FunctionNode.js to limit the length of the value
portion of its new error messages. (As requested in review)
* docs: Add 'truncate' option to the list in the exported version of 'format'
* 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.
* 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>
* 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>