Commit Graph

125 Commits

Author SHA1 Message Date
bakk
7a56322e0f Basics of derivation
Derivation implemented for function calls (only). Eg. f'(2). It is not
yet possible to do something like f''(2), but this should be implemented
in the future. It should also be possible to derive normal expressions,
but this is not yet possible.
2021-05-17 20:36:53 +02:00
bakk
126e2e86f3 Created 'Identifier' struct that contains prime count and name without primes (ticks ') 2021-05-17 20:17:34 +02:00
bakk
b2a128d4d1 Fixed integrate function test 2021-05-17 18:15:49 +02:00
bakk
455db4f0f1 Lex '**' as power sign 2021-05-17 18:14:48 +02:00
bakk
4a46fe9fc7 Switched to Simpson's rule (composite, 3/8) for integration 2021-05-17 18:05:22 +02:00
bakk
0dc2e0572f 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
651b289f4b 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
439f732013 kalk_web: Updated kalk and fixed audit problems 2021-05-15 17:22:18 +02:00
bakk
4912e34ec6 Fixed zeroes being trimmed for non-rug numbers 2021-05-15 16:15:25 +02:00
PaddiM8
aefdb59882 Updated the kalk version in web related things 2021-03-31 22:10:05 +02:00
PaddiM8
f4e6265d2e kalk: Fixed type error in kalk_num/regular.rs 2021-02-22 21:21:43 +01:00
PaddiM8
4fe8f8b77c Trimming trailing zeroes for non-rug numbers 2021-02-22 20:45:58 +01:00
PaddiM8
4334c40c3e Fixed xy^z precedence, from (xy)^2 to x(y^2) 2021-02-22 20:27:42 +01:00
Oliver Waldemar
36742abf5a Created kalk_mobile capacitor app with android and electron targets 2021-01-07 16:34:55 +01:00
PaddiM8
d9c3807877 v0.3.12 2021-01-04 18:01:03 +01:00
PaddiM8
49f3522cd0 Fixed gamma and factorial functions for f64 2021-01-04 17:49:11 +01:00
PaddiM8
ae5fdf215e Fixed semantic errors 2021-01-03 00:19:22 +01:00
PaddiM8
9591241b8d kalk 1.4.1 2021-01-03 00:10:58 +01:00
PaddiM8
c0210d7c3f Removed regex dependency from kalk crate and made 'test-case' a dev-dependency 2021-01-03 00:07:30 +01:00
PaddiM8
d18e437fc2 Implemented prelude gamma function for kalk without rug 2021-01-02 19:25:10 +01:00
PaddiM8
b617ba83fe Changed to a more recent version of wasm-pack (ci), and added optimization to wasm 2021-01-02 01:00:54 +01:00
PaddiM8
613d2618a0 v0.3.10 and added npm publishing to ci 2021-01-01 17:44:56 +01:00
PaddiM8
13dc88a955 Updated kalk library README to include a JavaScript example, disabled wasm optimization, and created wasm build script 2020-12-31 01:47:09 +01:00
PaddiM8
c20b629216 Moved js_eval into Context 2020-12-31 01:03:16 +01:00
PaddiM8
c273e028b3 Return Option from js_eval 2020-12-31 00:16:39 +01:00
PaddiM8
88215dbe98 JavaScript bindings to KalkNum and ScientificNotation 2020-12-31 00:15:16 +01:00
PaddiM8
5daaa129f2 Added ToString trait to CalcError enum 2020-12-30 22:54:32 +01:00
PaddiM8
72cea91394 WebAssembly foundation 2020-12-30 22:50:39 +01:00
PaddiM8
613829320e Created a cargo feature for rug, f64 will be used instead if it's disabled 2020-12-30 16:03:02 +01:00
PaddiM8
005976e1dd Prevent self-referencing variables 2020-12-28 23:54:12 +01:00
PaddiM8
1b2ae2dba1 Improved consonant precision 2020-12-28 23:06:53 +01:00
PaddiM8
8ea11b6c24 v0.3.9 2020-12-28 19:15:25 +01:00
PaddiM8
22d9f50688 Fixed function declarations not being parsed 2020-12-28 19:13:39 +01:00
PaddiM8
2908b735e5 Interpretation timeout 2020-12-28 19:09:21 +01:00
PaddiM8
2f7af7de90 Simple equation solving, mostly using pre-existing logic from the inverter 2020-12-14 19:21:30 +01:00
PaddiM8
a29e7492f9 v0.3.8 2020-12-14 00:07:19 +01:00
PaddiM8
38a65fe144 Added sum function to symbol_table::contains_fn 2020-12-13 23:47:44 +01:00
PaddiM8
0c7e694648 Fixed bug where symbol_table::contains_fn didn't check in the BINARY_FUNCS map 2020-12-13 23:44:33 +01:00
PaddiM8
ec74089faa v0.3.7 2020-12-13 23:17:49 +01:00
PaddiM8
483e82fb03 Allow multiplication with parenthesis without star symbol 2020-12-13 23:16:47 +01:00
PaddiM8
4f02a0f0a3 Added 'Copy' to TokenKind, and added a missing line related to the sum function 2020-12-13 22:09:49 +01:00
PaddiM8
fbf901620f User-configurable precision 2020-12-13 18:12:33 +01:00
PaddiM8
0ce06d96b9 Optimised 'sum' function 2020-12-13 17:45:06 +01:00
PaddiM8
1cbc5004d5 Allow spaces in input number literals 2020-12-13 16:44:45 +01:00
PaddiM8
720a4da283 Fixed constant rounding 2020-12-13 15:53:38 +01:00
PaddiM8
56145c2f45 Store number literals as f64 2020-12-13 15:52:22 +01:00
PaddiM8
4ddb2bf33f Moved some unit logic into kalk_num 2020-12-13 15:31:11 +01:00
PaddiM8
bd86091e89 Trimming zeroes at the start of scientific notation, and scientific notation exponent value fix 2020-12-13 02:25:33 +01:00
PaddiM8
318e8b85ee Fixed tests 2020-12-13 02:11:19 +01:00
PaddiM8
0284475b2c Created KalkNum and moved output formatting from kalk_cli to kalk 2020-12-13 01:27:55 +01:00