Commit Graph

90 Commits

Author SHA1 Message Date
bakk
48e94b1cdb Switched to Simpson's rule (composite, 3/8) for integration 2021-05-17 18:05:22 +02:00
bakk
08617640a5 Fixed "dx" in integrals, and created calculus.rs
Previously, eg. "dx" would not be parsed as "dx" after a function, since
the parser did not keep track of whether or not it was currently inside
an integral or not, properly. This commit fixes that, and also makes it
possible to use any variable after the "d", eg. "dy". The integration
function was also put in its own file: calculus.rs.
2021-05-17 16:51:16 +02:00
bakk
1d9237d30d Integration estimation
Needs more a bit more accuracy though. Currently the n value in the
trapezoidal rule is fixed.
2021-05-16 15:15:34 +02:00
bakk
d5c991ffdf Fixed zeroes being trimmed for non-rug numbers 2021-05-15 16:15:25 +02:00
PaddiM8
4751bbffe0 kalk: Fixed type error in kalk_num/regular.rs 2021-02-22 21:21:43 +01:00
PaddiM8
561bd61c3f Trimming trailing zeroes for non-rug numbers 2021-02-22 20:45:58 +01:00
PaddiM8
31878f9f1f Fixed xy^z precedence, from (xy)^2 to x(y^2) 2021-02-22 20:27:42 +01:00
PaddiM8
2714ed0f8c Fixed gamma and factorial functions for f64 2021-01-04 17:49:11 +01:00
PaddiM8
9de16e0fbe Fixed semantic errors 2021-01-03 00:19:22 +01:00
PaddiM8
dd63bace58 Removed regex dependency from kalk crate and made 'test-case' a dev-dependency 2021-01-03 00:07:30 +01:00
PaddiM8
0c802df3d5 Implemented prelude gamma function for kalk without rug 2021-01-02 19:25:10 +01:00
PaddiM8
f81e1731b3 Moved js_eval into Context 2020-12-31 01:03:16 +01:00
PaddiM8
3fc5a71b34 Return Option from js_eval 2020-12-31 00:16:39 +01:00
PaddiM8
b59d3e1f51 JavaScript bindings to KalkNum and ScientificNotation 2020-12-31 00:15:16 +01:00
PaddiM8
8a30ee7163 Added ToString trait to CalcError enum 2020-12-30 22:54:32 +01:00
PaddiM8
efbeb0857f WebAssembly foundation 2020-12-30 22:50:39 +01:00
PaddiM8
8014a61f1a Created a cargo feature for rug, f64 will be used instead if it's disabled 2020-12-30 16:03:02 +01:00
PaddiM8
e8c362c72e Prevent self-referencing variables 2020-12-28 23:54:12 +01:00
PaddiM8
865947dccd Improved consonant precision 2020-12-28 23:06:53 +01:00
PaddiM8
17f5a0604e Fixed function declarations not being parsed 2020-12-28 19:13:39 +01:00
PaddiM8
b7153d68b7 Interpretation timeout 2020-12-28 19:09:21 +01:00
PaddiM8
58bb2fd60f Simple equation solving, mostly using pre-existing logic from the inverter 2020-12-14 19:21:30 +01:00
PaddiM8
7c05d1ab22 Added sum function to symbol_table::contains_fn 2020-12-13 23:47:44 +01:00
PaddiM8
fd29599e31 Fixed bug where symbol_table::contains_fn didn't check in the BINARY_FUNCS map 2020-12-13 23:44:33 +01:00
PaddiM8
912779811c Allow multiplication with parenthesis without star symbol 2020-12-13 23:16:47 +01:00
PaddiM8
c92512d79d Added 'Copy' to TokenKind, and added a missing line related to the sum function 2020-12-13 22:09:49 +01:00
PaddiM8
339d98e2c6 User-configurable precision 2020-12-13 18:12:33 +01:00
PaddiM8
1233ad4269 Optimised 'sum' function 2020-12-13 17:45:06 +01:00
PaddiM8
a1af433ebd Allow spaces in input number literals 2020-12-13 16:44:45 +01:00
PaddiM8
6d8e182578 Fixed constant rounding 2020-12-13 15:53:38 +01:00
PaddiM8
c6d75104b3 Store number literals as f64 2020-12-13 15:52:22 +01:00
PaddiM8
c7b0b27117 Moved some unit logic into kalk_num 2020-12-13 15:31:11 +01:00
PaddiM8
98014166a9 Trimming zeroes at the start of scientific notation, and scientific notation exponent value fix 2020-12-13 02:25:33 +01:00
PaddiM8
9212581ebd Fixed tests 2020-12-13 02:11:19 +01:00
PaddiM8
f29104e489 Created KalkNum and moved output formatting from kalk_cli to kalk 2020-12-13 01:27:55 +01:00
PaddiM8
29f8ac94f3 replaced phf with lazy_static 2020-12-10 23:40:29 +01:00
PaddiM8
3836d6e326 updated test_percent() 2020-12-10 15:13:02 +01:00
PaddiM8
e0384d3653 fixed multiplication with percent 2020-12-10 09:27:19 +01:00
PaddiM8
dd1b4d723f added percentage unit and modulo 2020-12-09 22:18:00 +01:00
PaddiM8
4d17210b49 allow letters after underscore in variables, eg. x_a 2020-12-09 10:47:46 +01:00
PaddiM8
f322bcbc7d fixed panic on trailing spaces 2020-12-09 09:36:49 +01:00
PaddiM8
1d93e60d91 Made lexer lex '°' as 'deg'. 2020-06-18 18:06:17 +02:00
PaddiM8
fe6df0ff32 Fixed merge issues, updated version numbers, and updated README with syntax instructions. 2020-06-18 18:03:40 +02:00
PaddiM8
d041a28f1d Merge branch 'units' 2020-06-18 17:42:36 +02:00
PaddiM8
3b492f5119 Added units to prelude functions. 2020-06-18 17:41:57 +02:00
PaddiM8
5de759b56b Fixed parser documentation and interpreter units tests. 2020-06-18 17:06:21 +02:00
PaddiM8
ce824511ff Created unit convertion expression. Syntax: <expr> to <unit> 2020-06-18 16:58:01 +02:00
PaddiM8
3259e78597 Changed nth_sqrt to nth_root. 2020-06-18 16:20:52 +02:00
PaddiM8
07e34c6bbb Implemented inversion for some prelude functions. 2020-06-18 16:20:18 +02:00
PaddiM8
7d845523d8 Made the unit be displayed in the result. 2020-06-18 02:02:48 +02:00