Max Bruckner
5767f1f912
OperatorNode: Fix bug from wrong use of getIdentifier
...
1+(1+1) with parenthesis set to 'auto' triggered a bug because
getPrecedence gets the precedence of the content of a node, but
getIdentifier still returns the 'ParenthesisNode' identifier in case of
a ParenthesisNode.
2015-05-07 12:04:53 +02:00
Max Bruckner
2959858b99
operators: Use config when calculating precedence etc.
...
Use the parenthesis configuration to decide wether ParenthesisNodes
should be skipped or not.
2015-05-07 10:13:43 +02:00
Max Bruckner
60e2b5700a
ParenthesisNode: Make use of the parenthesis config option
2015-05-07 10:13:41 +02:00
Max Bruckner
6c2cd7f7b7
Node: add method 'getContent()'
...
The 'getContent' method returns the next node down the node tree that
isn't a ParenthesisNode.
2015-05-07 10:12:41 +02:00
Max Bruckner
ea04373028
New ParenthesisNode to represent parentheses in the node tree
2015-05-07 10:12:40 +02:00
Max Bruckner
bc2c29be8c
Make _toString functions call the wrapper
2015-05-07 10:12:32 +02:00
jos
06b9664b87
Removed more instanceof checks
2015-05-05 15:21:57 +02:00
jos
7e3eda8603
Moved all data types and their construction functions into a folder of their own under ./lib/type
2015-05-05 13:51:24 +02:00
Max Bruckner
472aba4e35
BlockNode: add whitespaces to the LaTeX output
2015-05-03 22:17:21 +02:00
jos
e348cb70a2
Refactored Range and Index. Reorganized index.js
2015-04-30 20:36:45 +02:00
Max Bruckner
6235fd6ce1
Make toString a wrapper around _toString
...
This enables preparating the node tree in `toString` before generating
the actual string output with `_toString` methods
2015-04-30 00:12:54 +02:00
Max Bruckner
dca94e67b7
Node.toTex: improve 'not implemented' error message to contain the type.
2015-04-29 23:59:31 +02:00
Max Bruckner
15eb602a8f
Remove workarounds from Node and ArrayNode
2015-04-29 12:12:46 +02:00
jos
1204259209
Refactored Complex and Unit into factory functions
2015-04-28 22:04:42 +02:00
jos
e5e2625838
Enclosed ResultSet in a factory function
2015-04-28 21:40:35 +02:00
Max Bruckner
8282f424c2
Use the prototype for is<Node> instead of the constructor
2015-04-28 20:13:53 +02:00
Max Bruckner
1c76430dda
Get rid of 'instanceof' for Nodes (except for constructors)
2015-04-28 10:09:19 +02:00
Max Bruckner
250707b668
Convert the isNode function into a boolean property.
2015-04-28 09:56:01 +02:00
Max Bruckner
390a0060b4
Add is<NameOfNode> property to enable type checking across constructors
2015-04-28 09:14:53 +02:00
jos
84512de60b
Added a few more index.js files. Removed caching mechanism for function transforms (will be improved upon later again)
2015-04-27 14:54:03 +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
Max Bruckner
ca4a0bfda4
Change LaTeX output of string function
...
toTex shouldn't do operations like toString on the node tree
2015-04-27 10:09:42 +02:00
jos
d3d3212633
Refactored all nodes into factory functions (see #342 )
2015-04-26 21:25:31 +02:00
jos
6e96d5a808
Merge branch 'develop' into v2
...
Conflicts:
HISTORY.md
bower.json
component.json
dist/math.js
dist/math.map
dist/math.min.js
lib/function/arithmetic/abs.js
lib/function/probability/gamma.js
lib/version.js
package.json
2015-04-22 21:43:56 +02:00
Max Bruckner
ee4486c3df
SymbolNode.toTex: Prevent symbols from breaking operators
...
If a symbol comes after an operator like '\cdot', there needs to be a
space in between, otherwise the cdot won't get recognized by the LaTeX
parser.
2015-04-19 09:49:10 +02:00
Max Bruckner
1c73dc1262
ConstantNode.toTex: simplify exponential notatian and add test
2015-04-19 09:49:09 +02:00
Max Bruckner
2cd3da416e
UpdateNode.toTex: Fix syntax of assignment and fix test
2015-04-19 09:49:09 +02:00
Max Bruckner
55a66aeaaf
OperatorNode.toTex: get rid of unnecessary curly braces
2015-04-19 09:49:09 +02:00
Max Bruckner
753a0e7893
IndexNode.toTex: Bugfix: execute toTex on Range Arguments
...
Also changes the Layout of the LaTeX output of IndexNode.
2015-04-19 09:49:08 +02:00
Max Bruckner
978bc2bc31
FunctionAssignmentNode.toTex: get rid of unnecessary curly braces
2015-04-19 09:49:08 +02:00
Max Bruckner
816b6314a7
AssignmentNode.toTex: get rid of unnecessary curly braces
2015-04-19 02:13:27 +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
349e9845e8
Merge branch 'develop' into v2_merge
...
Conflicts:
HISTORY.md
bower.json
component.json
dist/math.js
dist/math.map
dist/math.min.js
docs/reference/units.md
lib/version.js
package.json
test/function/construction/chain.test.js
test/function/matrix/det.test.js
test/function/matrix/transpose.test.js
test/function/utils/import.test.js
2015-04-13 21:42:43 +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
671734f215
util/latex: Use function names as keys for map of operators
2015-04-05 14:29:14 +02:00
Max Bruckner
0868987cdf
util/latex: use ":=" for assignments and '=' 'equal'
2015-04-05 14:29:14 +02:00
Max Bruckner
e536af8328
OperatorNode: get rid of util/latex's toFunction
2015-04-05 14:29:13 +02:00
Max Bruckner
0772a1fb81
util/latex: Get rid of toUnit ( hasn't been working anyway )
2015-04-05 14:29:12 +02:00
Max Bruckner
6b1d09f2cb
util/latex: new toSymbol
2015-04-05 14:29:12 +02:00
Max Bruckner
e160efbb66
util/latex: get rid of the toOperator function
2015-04-05 14:29:11 +02:00
Max Bruckner
5dcb87aeaa
util/latex: Remove unused functions
...
* toArgs
* addBraces
* dots and curly functions
util/latex.js: Remove Function addBraces
util/latex.js remove dots and curly functions
2015-04-05 14:29:09 +02:00
Max Bruckner
13e35217b7
Latex restructure
2015-04-05 14:25:54 +02:00
jos
8a68bb56e4
Merged math.js v1.5 into v2. Format support of functions eye and diag still needs to be fixed
2015-03-31 22:07:47 +02:00
jos
5cab0641e9
Simplified the factory structure a little bit. Reworked reviver and BigNumber to factories
2015-03-26 21:03:55 +01:00
Rogelio J. Baucells
0d34992080
Merge pull request #23 from josdejong/develop
...
Sync
2015-03-19 00:06:26 -04:00
Max Bruckner
e04dfd26bc
Rename customFuncions to callbacks
2015-03-17 18:30:26 +01:00