1601 Commits

Author SHA1 Message Date
jos
a5df5e4c47 Fixed #762: expression parser failing to invoke a function returned by a function 2016-12-10 11:41:38 +01:00
Sebastian Ruhleder
fe52d51c0a Add median absolute deviation 2016-12-08 18:29:11 +01:00
jos
b866ca3e48 Released v3.8.0 2016-11-18 19:41:40 +01:00
jos
e6a049abe7 Fixed #749: Units rad, deg, and grad can now have prefixes like millirad 2016-11-18 19:27:50 +01:00
jos
7152142661 Fixed #732: Allow letter-like unicode characters like Ohm \u2126 2016-11-18 19:19:17 +01:00
jos
e0123c7355 Implemented a method cloneDeep for the expression Nodes. See #745. 2016-11-18 15:37:07 +01:00
jos
a168041374 Functions add and multiply now accept more than two arguments. See #739. 2016-11-18 15:06:37 +01:00
Max Bruckner
ab6d9268f3 OperatorNode: Use map instead of foreach in many places 2016-11-14 18:51:21 +07:00
Max Bruckner
493bd7f6b0 OperatorNode: Support more than two operands in toTex/String
Only for multiplication and addition though.
2016-11-13 15:50:32 +07:00
Max Bruckner
f4ef42271b OperatorNode: toString/Tex: switch case -> if
This is in preparation for the next step, where the conditions will get
complexer than a simple switch case.
2016-11-11 20:45:10 +07:00
Max Bruckner
0dcd2f2ef4 OperatorNode: fix: implicit multiplication was not cloned 2016-11-11 11:59:24 +07:00
jos
f491873452 Merge branch 'develop' into algebraic_differentiation 2016-11-07 20:57:27 +01:00
tetslee
5a75a8c222 Simplify terms and factors seperated by inverse operators.
The simplify algorithm now applies rules one at a time.
2016-11-07 11:20:28 +10:30
Eric
feb834b040 Units no longer search for the best prefix if the current prefix results in a value approximately between 0.1 and 1000.
Adjusted unit tests.
2016-11-06 06:59:12 -07:00
jos
af551ff1cf Released v3.7.0 2016-11-05 20:18:11 +01:00
jos
1ecfdf1a0e Implemented BigNumber support in function arg() 2016-11-05 19:52:22 +01:00
jos
c9591339b1 Throw an error for implicit conversion between BigNumber and Fraction (see #710) 2016-11-05 19:44:04 +01:00
jos
4306200c4c Implemented method Node.equals(other) for all nodes of the expression parser 2016-11-05 16:27:23 +01:00
tetslee
23bf1031eb Improved constant folding in simplify. 2016-11-04 18:02:42 +10:30
tetslee
67b69b49c5 Improvements to simplify(). Also changes to the way simplify and derivative are used. 2016-11-02 16:26:22 +10:30
tetslee
12cdee2956 Merge branch 'algebraic_differentiation' into derivative 2016-10-25 13:06:37 +10:30
jos
2b95c65a30 Released v3.6.0 2016-10-21 20:10:11 +02:00
jos
4b458d1779 Removed redundant imports 2016-10-21 17:58:53 +02:00
jos
22508ed8eb Moved constants in erf to the bottom (doc generator picks the first comment from a function) 2016-10-21 17:57:39 +02:00
jos
064eb31381 Fixed #715: Parser now exposes test functions like isAlpha which can be replaced in order to adjust the allowed characters in variables names 2016-10-21 16:33:38 +02:00
jos
80c55add2a Parser not throwing an error for invalid implicit multiplications like -2 2 and 2^3 4 2016-10-21 15:23:20 +02:00
Pat Grasso
d2ae67cca3 erf(Infinity) should return 1, not NaN
Likewise, erf(-Infinity) should be -1. This is true for any really large
|x|...say, |x| > 2^53.
2016-10-20 15:54:02 -04:00
Pat Grasso
a71cba9a7d Add TODO comments for future considerations
Specifically, implementation of erfi() (complex error function) and
precision when x is a bignumber.
2016-10-20 15:33:10 -04:00
Pat Grasso
57f082f64d Use internal sign() (Math.sign only in ES2015+) 2016-10-20 15:33:10 -04:00
Pat Grasso
ee41e35b5c Fix erf(bignumber) -> bignumber to return proper value
Note: The precision for the bignumber returned may not be accurate, as
the `erf()` approximation only guarantees precision to a certain degree.
2016-10-20 15:33:10 -04:00
Pat Grasso
80fd73c115 Update submodule index files to include erf 2016-10-20 15:33:09 -04:00
Pat Grasso
6ae793edea Implement erf(x) using W. J. Cody's approximation
Translate the Fortran77 implementation of W. J. Cody's "Rational
Chebyshev Approximations for the Error Function".
Place in new function subdirectory, `function/special`, because this
function doesn't seem to fit into any other category.
2016-10-20 15:33:09 -04:00
Jos de Jong
cd12316ec8 Merge pull request #679 from woylie/master
add pickMultipleRandom function
2016-10-19 21:39:05 +02:00
Mathias Polligkeit
cf857a3a09 some more minor code format changes 2016-10-18 02:02:09 +02:00
Mathias Polligkeit
b5a9695746 code formatting 2016-10-18 01:45:06 +02:00
Mathias Polligkeit
78f0c942bd clean up distribution.js 2016-10-18 01:43:49 +02:00
Mathias Polligkeit
f81abbab25 add type validation 2016-10-18 01:43:19 +02:00
Mathias Polligkeit
239cabec37 Revert "add an intermediary typed function that will fail a test"
This reverts commit fc2b730e044d3ec5a93c010d789eac47768fccc2.
2016-10-18 01:27:18 +02:00
Mathias Polligkeit
94d102e758 Revert "add randomHelper function for duplicate logic of random/randomInt; fails"
This reverts commit c464010234c73144df142cdb6fb7d32d0533bdf3.
2016-10-18 01:27:13 +02:00
Mathias Polligkeit
bfcfeafd2e Revert "refactor distribution.js"
This reverts commit ed0df31293f92171c44d06d5bdc04d408b967402.
2016-10-18 01:25:08 +02:00
patgrasso
431d58ac4e Fix issue with thrown exceptions on edge cases
Return DimensionError when `sizes = []` and a TypeError if either type
presented is incorrect.
2016-10-15 21:28:00 -04:00
patgrasso
014e0e3ec0 Introduce reshape() to utils.array
`reshape()` takes an n-d array and a list of sizes for each dimension,
and fits the data into the specified shape. If the product of the sizes
of the new dimensions does not match that of the old, a DimensionError
is thrown.
2016-10-15 20:36:23 -04:00
Jos de Jong
af6ede218d Merge pull request #717 from patgrasso/develop
Extend cross() to support n-d vectors
2016-10-15 10:35:13 +02:00
Pat Grasso
30ae9c071f Change dimensionality of vector returned by cross()
If one of the input vectors/matrices has a dimension greater than 1, the
output vector will be a 1x3 matrix. Otherwise, the result will be a flat
3-component vector. Closes #716
2016-10-12 01:20:59 -04:00
jos
84755ca968 Cleaned up unused imports 2016-10-02 14:37:52 +02:00
patgrasso
a7f5bb27ef Extend cross() to support n-d vectors. Closes #716
Squeeze arrays before attempting to cross them so that n-dimensional
vectors can be cross multiplied (as long as only one direction has a
series of 3 elements)
2016-09-25 21:22:40 -04:00
jos
d6ce2cd332 Released v3.5.3 2016-09-21 21:25:36 +02:00
jos
7742b36c5c Some more fixes regarding numbers ending with a decimal mark (like 2.). See #711. 2016-09-20 21:35:19 +02:00
jos
68c3475f6d Released v3.5.2 2016-09-20 21:18:27 +02:00
jos
924694eeda Improved docs on transpose function (see #706) 2016-09-20 21:07:23 +02:00