bakk
fa4e853982
Implemented complex variants of prelude functions
2021-05-22 20:47:10 +02:00
bakk
1c914bc77f
Adjusted estimation and rounding to include imaginary numbers
2021-05-20 20:50:24 +02:00
bakk
aeef49e9ef
Division with complex numbers
2021-05-20 19:50:59 +02:00
bakk
4042f2d801
Made complex numbers work without rug
2021-05-20 19:26:03 +02:00
=
465335b75c
Fixed negative scientific notation
2021-05-20 15:19:26 +02:00
=
17485bc91b
Basics of complex numbers
2021-05-20 15:11:32 +02:00
=
56aa532768
Removed code duplication in kalk_num
2021-05-20 11:03:53 +02:00
bakk
53a8e058f3
Use KalkNum's to_string() function in to_scientific_notation()
2021-05-18 23:20:23 +02:00
bakk
3942aacd6a
kalk_web: Added integral and estimation support
2021-05-18 23:08:38 +02:00
bakk
4acb1b7304
Combined to_scientific_notation() methods for both types, and added tests
2021-05-18 23:03:21 +02:00
bakk
b526ca918d
Added wasm binding to KalkNum.estimate()
2021-05-18 20:40:43 +02:00
bakk
4688827232
Fixed mod.rs errors for when rug is not used, and added some unit tests there
2021-05-18 20:02:21 +02:00
bakk
c2577ef477
Estimation/rounding for final results
2021-05-18 19:48:13 +02:00
bakk
8399d810d8
Lex special symbols as one token
2021-05-18 17:49:31 +02:00
bakk
505ffb333e
Basic rounding for calculus functions
2021-05-17 23:55:20 +02:00
bakk
1971793e08
Higher order derivatation
2021-05-17 23:09:59 +02:00
bakk
ece50bf92c
Improved accuracy for derivation
2021-05-17 21:27:11 +02:00
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
4912e34ec6
Fixed zeroes being trimmed for non-rug numbers
2021-05-15 16:15:25 +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
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
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
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
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
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
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