574 Commits

Author SHA1 Message Date
Ramesh Vijayaraghavan
c7f4c53483
Support for Percentage Operation (#2304)
* Support for Percentage Operation

* Fixed Style issue

* Added Test case to check for modulo followed by pi

* Support for % addition and % subtraction

* Fixed Documentation comment

* Support - Should not calculate mod for negative divisor

* Updated Docs

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2021-09-22 11:45:37 +02:00
CRIMX
fe7d8a7100
docs(expressions): fix incorrect example link (#2273) 2021-07-07 08:28:01 +02:00
Jos de Jong
8b3e0e1067 Fix #2255: document the implicit property of OperatorNode 2021-06-23 10:02:33 +02:00
jhugman
e80995d52d
Add support for scopes with get and set methods (#2166)
* Add support for scopes with get and set methods

* Fix build for node v12

* Fixup cli and parser tests

* Add tests for simplify and evaluate

* Add example for a custom scope object

* Function calls need child scopes

* Transitionary step: Separate Safe and Scope Property calls

* Renamed identifiers in FunctionNode

* Evaluate with ObjectScopeWrapper

* Simplify tests passing

* Assume all scopes are map-like. Except parser

* Remove isMapLike check in customs.*SafeProperty() methods

* Change MapLike to Map

* Move keywords from an Object to a Set

* Move ScopeProperty functions in to scope.js

* Removed deprecation warning

* Rename scope.js to map.js

* Rename ScopeProperty to MapProperty

* Add tests and docs for map.js

* Put back the micro-optimization of function calls

* Use Map in the parser

* Called scope methods directly in cli.js

* Coercing of scope into a Map is done in Node, not evaluate

* Move createSubScope to its own file

* Fixup following self-review

* Add scope docs

* Final self-review changes

* Address reviewer comments

* Remove MapProperty witness marks

* Converted broken benchmark possibly lost in a rebase

* Use bare map as scope in benchmark

Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
2021-05-16 13:33:01 +02:00
Jos de Jong
06052ecc86 Fix #2142: clarify the meaning of matrix dimensions in the docs 2021-04-05 14:44:50 +02:00
Colin Holzman
90e15c6d95
Support for parsing non decimal numbers with radix point (#2122)
* Basic untested support for parsing non decimal numbers with radix point.

* Added some documentation for function parseNonDecimalWithRadix.

* Renamed variable in BigNumber constructor.

Not related to current feature branch but is a good change.

* Improved some variable and function names in number.js and fixed an error when parsing octal numbers with radix point.

* Added some tests and fixed linter issues.

* Added some documentation on new syntax.

* Added more tests.

* Added more tests for edge cases.
2021-03-10 09:01:08 +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
Jos de Jong
af6e93ba04 Fix documentation of serialization 2020-12-16 10:25:16 +01:00
rnd-debug
a34ebc2478
Providing overridable Unit.isValidAlpha (#2000)
* first commit

* providing some tests

* some docs
2020-10-28 11:50:45 +01: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
Jos de Jong
9e462268e5 Fix #1940: error in the documentation about resizing matrices 2020-08-10 21:49:40 +02:00
josdejong
e9cf247c7d Fix #1902: typo in an example in the documentation 2020-07-03 08:29:15 +02:00
josdejong
ca6aa45a88 Fix typo 2020-06-28 22:14:44 +02:00
josdejong
2df28bb609 Fix #1899: documentation on expression trees still using old namespace
`math.expression.node.*` instead of `math.*`
2020-06-28 22:14:27 +02:00
josdejong
28b7a02f01 Fix #1834: value Infinity cannot be serialized and deserialized 2020-05-03 15:41:03 +02:00
jos
3153de27ee Clarify the documentation on scope when using rawArgs, see #1055 2020-04-04 17:24:36 +02:00
Eric Mansfield
97ff95b32c Added baseName option to createUnit (#1708)
* Fixed unit base recognition and formatting for user-defined units

* Added baseName option to createUnit

* Trailing spaces

* Fixed line in docs
2020-01-08 10:23:23 +01:00
Tanmay
4c5aa0d23e toHTML() method example corrected. (#1627) 2019-09-21 14:56:10 +02:00
jos
718b93b2b4 Create unit aliases bit and byte 2019-08-28 15:41:39 +02:00
jos
294515f600 Publish v6.0.4 2019-08-05 21:28:48 +02:00
0xflotus
71a02f3164 fixed vulnerabilities (#1583) 2019-07-31 19:27:02 +02:00
jos
b390a23f4b Fix function reference not published in npm library 2019-06-09 20:44:16 +02:00
jos
bb14f62dd9 Describe mathjs/number in getting started 2019-06-05 09:43:36 +02:00
jos
ec44199dc0 Ignore generated docs in repo, cleanup generated docs before generation 2019-05-22 14:25:42 +02:00
jos
29866f3437 Remove generated docs from repo 2019-05-22 14:21:58 +02:00
jos
a602a38340 Updated docs for v6 2019-05-20 21:42:49 +02:00
jos
ab1b83a2f6 Remove generated files from repo, make tests independent from generated files 2019-05-12 15:14:13 +02:00
jos
217c2dcf57 Merge v5 branch in develop 2019-05-08 22:17:05 +02:00
jos
df4b334be7 Updated decimal.js. Remove node 6 and add node 12 to travis. Publish v5.10.0 2019-05-08 21:51:51 +02:00
jos
b4f2eb005e Merge remote-tracking branch 'origin/fix/1428' into develop
# Conflicts:
#	HISTORY.md
#	src/function/algebra/simplify.js
2019-05-04 10:07:39 +02:00
jos
850886f361 Fix occurrences of CommonCS exports 2019-04-13 17:07:21 +02:00
jos
6081360d6a Merged develop into modular_architecture 2019-04-13 16:51:51 +02:00
jos
e6c5df5af5 Fix merge conflicts in row+column PR 2019-03-21 21:51:05 +01:00
jos
d2a99f9bec Publish v5.8.0 2019-03-20 15:36:59 +01:00
bnlcas
0db42306ec Extend std var for variable dimensions request 999 (#1444)
* initial implementation of multidimensional std and var

* consolidated std function into var, cleaned up the interface for var, fixed bias correction

* added documentation of variable axis for std and var

* updated documentation for std and var

* changed the order of normalization and dimension for a three parameter input in the functions

* updated documentation for var and std

* add transform expressions for std and var with variable axis

* added test coverage for std and var with a variable axis

* update to documentation

* change n dim std to use apply function

* fixed tests, removed unnecessary code, updated docs

* fixed typo in docs

* update docs to remove a type

* changed location of apply function

* updated tests to use deepStrictEqual to pass linter

* adding test coverage for var.transform and std.transform
2019-03-20 15:21:55 +01:00
SzechuanSage
f7364372fb Merge branch 'develop' of https://github.com/SzechuanSage/mathjs into develop 2019-03-08 23:56:31 +10:00
SzechuanSage
4677bfdd8c Add row and column to functions reference doc 2019-03-08 23:37:20 +10:00
SzechuanSage
b4e309073f Add reference docs for functions row and column 2019-03-08 22:28:27 +10:00
jos
5c263d3dff Fixed #1428: transform iterating over replaced nodes 2019-03-05 21:10:59 +01:00
jos
70cbc3ec30 Replace http urls with https where supported 2019-02-27 13:08:42 +01:00
jos
6c700d12a2 Publish v5.5.0 2019-02-20 17:10:03 +01:00
jos
c0486162dd Update latest docs for hasNumericValue and update package-lock.json 2019-02-09 22:13:23 +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
99da53da0e Flatten everything in a mathjs instance to make it consistent with the ES6 exports. Create deprecation warnings for the old classes and functions 2019-02-07 21:24:51 +01:00
jos
9402f0ee94 Moved class math.expression.Parser to math.type.Parser 2019-02-03 20:45:04 +01:00
jos
25be459ed3 Merge math.expression.parse into math.parse 2019-02-03 20:30:43 +01:00
jos
19bc1e0fce Implemented snapshot testing for all exported bundles and instances 2019-01-23 14:50:29 +01:00
jos
078f1dd69f Renamed methods .eval to .evaluate, updated all docs and examples accordingly 2019-01-16 10:11:32 +01:00
jos
ec0f9bd715 Publish v5.4.1 2019-01-10 22:07:03 +01:00
jos
9f3ec22ec8 Get bundles, bin, cli, and all travis tests working again 🎉 2019-01-09 11:36:03 +01:00