70 Commits

Author SHA1 Message Date
jos
5dd0a9ba9c Get bundle working (with lazy loading) 2019-01-02 10:03:05 +01:00
jos
4b3561e426 Use math.evaluate everywhere in the unit tests 2018-12-05 12:22:21 +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
2fd6cbd568 Converted matrix classes. Fixes in dependency resolving/ordering. 2018-11-07 12:38:00 +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
a2ae756fd1 Remove semicolons 2018-10-31 21:18:51 +01:00
jos
247aeabffa Refactor all unit tests to ES6 import/export 2018-10-31 21:17:23 +01: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
f6f7bd2b25 Fixed #1088: function arguments not being passed to rawArgs functions 2018-07-04 14:05:07 +02:00
jos
0583771e4e Cleanup unused variables and imports 2018-06-13 17:25:51 +02:00
jos
0513898a4b Fix using new for side effects 2018-06-13 16:31:18 +02:00
jos
b6b36bfd9b Use strict equality checks everywhere (=== and !==) 2018-06-13 15:02:21 +02:00
jos
17f07ec098 Fixed incompatibility with v4 (index.js file) 2018-06-13 14:02:50 +02:00
jos
b3b96749bf Refactored var into const/let, and removed a lot of semicolons 2018-06-13 12:21:14 +02:00
jos
934ea83df7 Fixed linting issues "Expected consistent spacing" 2018-06-12 21:38:11 +02:00
jos
024b2a9e26 Fix most lint errors using npx standard --fix 2018-06-10 20:28:27 +02:00
jos
635cd0b574 Revert using /lib/ in tests, use /src/ again. Fixed coverage testing. WIP 2018-06-06 22:11:52 +02:00
jos
79071b5e4f Fixed npm run test:browser not working (WIP) 2018-06-06 21:30:41 +02:00
jos
0c084b8e20 npm test working now 2018-06-06 15:36:36 +02:00
jos
7fefa33d84 Fixed #1077: Serialization/deserialization to JSON with reviver not being supported by nodes 2018-04-04 22:09:43 +02:00
jos
924299c42b Changed ConstantNode(valueStr, valueType) to ConstantNode(value) (breaking change) 2018-01-23 12:08:29 +01:00
jos
1192bb6bbc Implemented compile without eval (see #1019) 2018-01-21 18:13:27 +01:00
jos
f8370bdaf1 Fixed #790: Expression parser did not pass function arguments of enclosing functions via scope to functions having rawArgs = true 2017-02-05 13:50:06 +01:00
jos
79993ceac7 Fixed #765: FunctionAssignmentNode.toString() returning a string incompatible with the function assignment syntax 2016-12-18 13:29:21 +01:00
jos
4306200c4c Implemented method Node.equals(other) for all nodes of the expression parser 2016-11-05 16:27:23 +01:00
jos
730a10749e FunctionAssignmentNode creates a TypedFunction 2016-05-22 14:25:48 +02:00
jos
5edecb56c8 Removed the check on the number of arguments from functions defined in the expression parser (see #665) 2016-05-18 21:08:40 +02:00
jos
9173fbd3b8 Large refactoring of nodes: AssignmentNode. UpdateNode, AccessorNode, IndexNode 2016-02-25 15:02:44 +01:00
jos
fad5d8cc07 Merged parseFunctions and parseIndex into parseAccessors. Restricted support for implicit multiplication, execute as accessors instead 2016-01-09 21:11:29 +01:00
jos
a92b978036 Merged develop into v2 2015-06-07 15:57:41 +02:00
jos
c810981238 Method Node.compile() no longer needs math to be passed as argument. 2015-05-27 13:30:35 +02:00
Max Bruckner
3f217cefdd toTex: no global configuration. Only pass around one local object 2015-05-16 13:30:25 +02:00
Max Bruckner
c0e1b2d268 toString: no global configuration. Only pass around one local object 2015-05-16 13:29:55 +02:00
Max Bruckner
8d3b3bbe35 Tests for custom toString 2015-05-16 13:29:20 +02:00
Max Bruckner
291d620972 Pass local configuration to toTex functions 2015-05-16 13:27:48 +02:00
Max Bruckner
aa7ca9178f Implement 'all' parenthesis option 2015-05-08 09:07:15 +02:00
jos
f7c5381a13 Fixed Node.transform not recursing over replaced parts of the node tree (see #349). 2015-05-02 17:27:14 +02:00
Max Bruckner
390a0060b4 Add is<NameOfNode> property to enable type checking across constructors 2015-04-28 09:14:53 +02:00
Max Bruckner
e62ab0dae4 Proper toTex for units and symbols.
Symbols now don't use `\mathrm` anymore by default, but units do.
2015-04-27 11:08:31 +02:00
jos
d3d3212633 Refactored all nodes into factory functions (see #342) 2015-04-26 21:25:31 +02:00
Max Bruckner
55a66aeaaf OperatorNode.toTex: get rid of unnecessary curly braces 2015-04-19 09:49:09 +02:00
Max Bruckner
978bc2bc31 FunctionAssignmentNode.toTex: get rid of unnecessary curly braces 2015-04-19 09:49:08 +02:00
Max Bruckner
8db07e23ad OperatorNode.toTex: BUGFIX: make clear where the exponent belongs to
Without proper parentheses it's impossible to decide whether an exponent
belongs to the numerator of a fraction or to the entire fraction.

For ConditionalNode, the exponent is hard to see without parentheses.
2015-04-19 02:11:20 +02:00
Max Bruckner
f2bcfed89f LaTeX: no spaces between operands and operators 2015-04-17 14:18:24 +02:00
Max Bruckner
7c1c9c0cef Show less unnecessary parentheses in LaTeX output
OperatorNodes with exponentiation, fractions and conditions use less
parentheses.
2015-04-16 22:31:02 +02:00
Jos de Jong
bc6f63b6c9 Merge pull request #318 from FSMaxB/latex-restructure
Restructure and complete the LaTeX generator.
2015-04-13 09:39:16 +02:00
jos
3150e21c8e Fixed #313: parsed functions did not handle recursive calls correctly 2015-04-09 20:29:51 +02:00
Max Bruckner
dacf9fba46 OperatorNode: bugfix: toTex creates invalid LaTeX
toTex has been creating invalid LaTeX for fractions where the operands
are in parenthesis, see '(1+1)/2' for example
2015-04-05 14:29:15 +02:00
Max Bruckner
0868987cdf util/latex: use ":=" for assignments and '=' 'equal' 2015-04-05 14:29:14 +02:00
Max Bruckner
6b1d09f2cb util/latex: new toSymbol 2015-04-05 14:29:12 +02:00