66 Commits

Author SHA1 Message Date
Max Bruckner
35ce7f7fb4 Make Node.toTex a wrapper like Node.compile
Node.prototype.toTex is now a wrapper that calls the node's _toTex
2015-03-13 21:23:14 +01:00
Max Bruckner
6a9c2df38c Update FunctionAssignmentNode to better handle parenthesis 2015-03-01 17:10:09 +01:00
Max Bruckner
bb2bfc939c Update AssignmentNode to better handle parenthesis 2015-03-01 17:02:42 +01:00
Max Bruckner
b2d868c2ed Update OperatorNode's toTex to better handle parens
Use the new infrastructure in OperatorNode's toTex
2015-03-01 16:34:09 +01:00
Max Bruckner
b5ce799e9d New generic toString for AssignmentNode 2015-03-01 10:35:04 +01:00
Max Bruckner
1f2f42012c New generic toString for FunctionAssignmentNode 2015-03-01 10:35:04 +01:00
Max Bruckner
b1a438fd7f New generic toString for RangeNode 2015-03-01 10:35:03 +01:00
Max Bruckner
9489fbf9dc New generic toString for ConditionalNode 2015-03-01 10:35:03 +01:00
Max Bruckner
1ac3319656 OperatorNode: validate input 2015-03-01 10:35:03 +01:00
Max Bruckner
0e5a6e5a38 New generic toString for OperatorNode 2015-03-01 10:35:03 +01:00
Max Bruckner
d593e749e9 New function getIdentifier() for Nodes
getIdentifier() returns a String that contains the name of the node and
the function associated with it ( in case of FunctionNode and
OperatorNode ).
2015-03-01 10:35:03 +01:00
Max Bruckner
e587f0ce00 New tests for Operator mode
* Factorial of Operator node
* Test unaryMinus with sums and differences
* Test OperatorNode that substracts an OperatorNode
2015-02-14 16:31:05 +01:00
jos
3d84b47658 Fixed #258: missing parentheses in the toTex representation of function permutations. 2015-01-03 10:29:55 +01:00
jos
309bf3938d Added proper error messages to Node.map 2014-11-15 13:32:02 +01:00
jos
9257ec3c33 Added unit tests for Node.map and Node.forEach 2014-11-15 13:16:32 +01:00
jos
5669ae1365 Some refactoring 2014-11-14 11:35:13 +01:00
jos
a1f60db0d1 Created Node.map, changed traverse to use Node.map 2014-11-14 11:25:48 +01:00
jos
20c96894ab Enforcing implementation of _traverse on Nodes 2014-11-13 22:16:57 +01:00
jos
be9a8629ea Node.transform does not create a clone of the tree anymore 2014-11-13 22:01:48 +01:00
jos
92627f2c94 Nodes for a BlockNode must now be passed via the constructor instead of via a function add 2014-11-13 21:54:41 +01:00
jos
423909e6f1 Changed constructor of RangeNode to new RangeNode(start: Node, end: Node [, step: Node]). 2014-11-13 21:25:37 +01:00
jos
72a1b03850 Documented expression tree API. Some internal refactoring in nodes. 2014-11-12 22:30:15 +01:00
jos
7132a6f3c2 Fixed #221 for one-based implementations of map and forEach 2014-10-14 09:03:04 +02:00
jos
bd1981ecd0 Renamed Node.map and Node.forEach back to traverse and transform 2014-10-13 21:42:48 +02:00
jos
238281e28a Renamed traverse and transform to forEach and map 2014-10-12 19:32:51 +02:00
jos
ba70c07509 Added unit tests for Node.clone 2014-10-11 22:29:48 +02:00
jos
95a49fe156 Node.transform first clones the node tree 2014-10-11 21:59:47 +02:00
jos
839e596772 Implemented transform and traverse 2014-10-11 18:03:41 +02:00
jos
5f08307391 Implemented a function replace for nodes of a parsed expression. 2014-10-11 15:33:23 +02:00
jos
a172b52fdc Renamed raw to rawArgs (see #207) 2014-08-18 09:02:04 +02:00
jos
4a98f6efd4 Updated docs 2014-08-16 18:00:23 +02:00
jos
396777f724 Raw functions are now invoked as fn(args, math, scope) 2014-08-16 15:06:11 +02:00
jos
99fc9a0ead Implemented support for raw functions 2014-08-16 12:13:57 +02:00
jos
8a12c8e9bc Fixed #200: A new instanceof of math.js must now be created as math.create([options]) instead of math([options]) 2014-08-03 21:42:12 +02:00
jos
6b833a581c Renamed FunctionNode to FunctionAssignmentNode, and renamed ParamsNode to FunctionNode for more clarity (see #203) 2014-08-03 21:13:24 +02:00
jos
e5ce909524 Reworked the way matrices are resized when dimensions are added/removed 2014-08-03 15:56:39 +02:00
jos
1a9ceac955 Multi-line expressions now return a ResultSet instead of an Array. 2014-07-18 21:34:37 +02:00
jos
4645529f40 Removed function ifElse 2014-06-30 14:52:54 +02:00
jos
5e1cfbf545 Implemented implicit multiplication. Fixed a bug with multiplying non-valued temperatures with a number 2014-06-30 13:43:50 +02:00
jos
7c761e390a Refactored ConstantNode to make it more flexible to various types of input 2014-06-23 11:51:01 +02:00
jos
7d84e4daf0 Math.js now immediately returns a default instance of mathjs, no need to create an instance every time you want to use the library. 2014-06-20 23:11:14 +02:00
jos
dd65864d6c Fixed a test 2014-06-20 21:29:57 +02:00
jos
a9226ef70d Fixed #187: changed the behavior of the conditional operator (a ? b : c) to lazy evaluation. 2014-06-20 21:14:58 +02:00
jos
2fe9f0d736 Fixed #151: end is now a reserved keyword 2014-06-10 21:13:27 +02:00
jos
ced18ecfca Implemented functions dotEqual and dotUnequal, renamed functions smallereq to smallerEq and largereq to largerEq (all functions are now camelcase) 2014-06-09 14:07:21 +02:00
jos
abf1b02ee9 Renamed function unary to unaryminus. Documented and tested constant phi. 2014-06-08 20:12:07 +02:00
Niels Heisterkamp
086e59061a Fixed test and removed remaining console.log. 2014-05-19 20:32:25 +02:00
Niels Heisterkamp
b7fe0bfbf1 Added LaTeX conversion of expressions using toTex() on expression.
Also added some basic tests, which cover some use cases; but should be expanded.
2014-05-19 08:20:06 +02:00
jos
1189efd4d8 Added property type to all expression nodes in a node tree. 2014-04-24 20:26:51 +02:00
josdejong
ad554ef1f7 Updates and fixes to work with a different BigNumber instance per math.js instance 2014-04-05 22:42:03 +02:00