PaddiM8
42895cb342
Fixed compilation error without rug
2021-12-31 23:53:39 +01:00
PaddiM8
c652d9d432
Fixed floating point error in test case
2021-12-31 23:47:12 +01:00
PaddiM8
5aeec6166f
Fixed formatting of scientific notation, closes #81
2021-12-31 23:36:57 +01:00
PaddiM8
95a5718e38
Print result in another base when appropriate
2021-12-31 19:32:04 +01:00
PaddiM8
f1881ac9b6
Fixed '0' being lexed as a base literal
2021-12-30 12:44:48 +01:00
PaddiM8
cb36f69260
Number bases
2021-12-30 02:05:04 +01:00
PaddiM8
3870325541
Special symbols for *, /, arc functions, and subscript
2021-12-29 18:32:11 +01:00
PaddiM8
e836802c4a
Merge pull request #73 from kiedtl/master
...
Add `gcd`/`lcm` functions
2021-10-08 22:41:11 +02:00
Kiëd Llaentenn
a248b0f328
Fix compilation errors when rug feature is disabled
2021-10-08 20:03:30 +00:00
Kiëd Llaentenn
c903e733e1
Add tests for LCM
2021-10-04 04:06:06 +00:00
Kiëd Llaentenn
8dbf564685
Make LCM aware of Gaussian integers
2021-10-04 03:59:24 +00:00
Kiëd Llaentenn
4ab0d74b87
Add tests for GCD
2021-10-04 03:50:33 +00:00
Kiëd Llaentenn
6480d3ba0e
Implement GCD for Gaussian integers
2021-10-04 03:40:50 +00:00
Kiëd Llaentenn
b26bced8fe
gcd: return NaN when encountering non-Gaussian integer
2021-10-03 23:33:48 +00:00
Aurelien Jacobs
638966ec47
Fix undefined function: '∏'
...
Without this fix `prod(1,10,n)` works fine, but `∏(1,10,n)`
returns `Undefined function: '∏'.`
2021-10-03 14:44:55 +02:00
PaddiM8
73c271d3c9
v1.0.1
2021-10-01 09:21:11 +02:00
Kiëd Llaentenn
ff496f105c
Implement basic GCD/LCM
2021-09-30 14:57:00 +00:00
PaddiM8
5a42ba0c91
Updated interpreter tests to expect 0 after comparisons
2021-09-24 14:32:18 +02:00
PaddiM8
de78767529
NaN for comparisons with imaginary numbers
2021-09-24 14:03:47 +02:00
PaddiM8
24c6c932d7
Float error margin for comparison operations
2021-09-24 14:03:24 +02:00
PaddiM8
d2417b2f7e
Output numbers with the precision specified
2021-09-22 16:23:10 +02:00
PaddiM8
d488b514aa
Prevent contants from being overridden
2021-09-22 15:33:58 +02:00
PaddiM8
7f3c2ce8a7
Fixed tick symbol resulting in panic
2021-09-22 15:04:21 +02:00
5225225
3a11191fbf
Add fuzzer
2021-09-21 23:10:42 +01:00
PaddiM8
3e9230933e
Handle new lines on windows
2021-09-04 12:14:49 +02:00
bakk
dbe982bfbf
Merge branch 'master' of https://github.com/PaddiM8/kalk
2021-06-03 11:42:13 +02:00
bakk
0e761f504e
cli: Continue on new line when missing closing group symbol
2021-06-03 11:41:56 +02:00
bakk
14bdd5458c
Fixed crash when missing closing ceil, floor, |
2021-06-03 11:16:36 +02:00
Adám Brudzewsky
42c4384149
Fix ⌋⌊, add []
2021-06-03 00:01:20 +01:00
bakk
32a94956e5
Bumped kalk library version
2021-06-02 22:51:30 +02:00
bakk
6468a6efb0
v1.0.0
2021-06-02 22:37:24 +02:00
bakk
904c603d38
Fixed multiplication with percent
2021-06-01 16:11:43 +02:00
bakk
1f6b59bdae
Added prod function and proper sum symbol
2021-06-01 15:52:41 +02:00
bakk
8f3732b3c7
kalk_web: Adjusted for piecewise and comparison operators
2021-06-01 12:30:21 +02:00
bakk
a05cb65434
Removed redundant if
2021-06-01 00:22:42 +02:00
bakk
d1177f6c10
Allow space after function name, without parenthesis
2021-06-01 00:18:14 +02:00
bakk
ead9dd9caf
Fixed imaginary number being ignored in eval_fn_call
2021-05-31 23:32:08 +02:00
bakk
68e0769942
Made it possible for functions to call themselves
2021-05-31 23:16:47 +02:00
bakk
cf869358f2
Implemented piecewise
2021-05-31 18:55:37 +02:00
bakk
b6fb61c304
v0.5.4
2021-05-31 14:03:28 +02:00
bakk
2e73c90a95
Fixed custom groups not multiplying implicitly
2021-05-31 14:00:24 +02:00
bakk
2910227ce9
Comparison operators and Iverson brackets
2021-05-31 13:46:06 +02:00
bakk
a679e10bfa
Fixed new lines being parsed as numbers
2021-05-30 19:11:25 +02:00
bakk
494b526bd2
v0.5.3
2021-05-29 14:41:21 +02:00
bakk
200aafcce7
Only parse one factor after '√'
2021-05-27 23:31:17 +02:00
bakk
1b01e9f41e
Fixed eg. 'x(2x + 1)' not working inside functions
2021-05-27 23:15:53 +02:00
bakk
5848c36125
Updated version numbers
2021-05-27 19:44:12 +02:00
bakk
05df1a2942
Added kalk_web to ci
2021-05-27 16:57:53 +02:00
bakk
a411b131bb
Fixed pow giving undefined with lhs < 0 and rhs < 1
2021-05-26 22:13:58 +02:00
bakk
98177f03f9
Show NaN and inf in a more user-friendly way
2021-05-25 22:32:50 +02:00
bakk
999d26d05d
Added functions Re(z) and Im(z)
2021-05-25 22:12:26 +02:00
bakk
923858d8c1
Added tests for operations
2021-05-25 22:04:01 +02:00
bakk
16655680e1
Added tests for prelude functions
2021-05-25 21:29:59 +02:00
bakk
2a7c403c56
Support syntax like sin2x
2021-05-24 22:32:33 +02:00
bakk
0001544028
Support syntax like sinxdx in integrals
2021-05-24 22:05:35 +02:00
bakk
5309eafc9a
Keep previous variable value after integration using the same identifier
2021-05-24 21:51:25 +02:00
bakk
8e257e6ee0
Made recursion possible
2021-05-24 21:32:58 +02:00
bakk
6fae2997a4
Round result slightly to get a more 'lagom' amount of decimals
2021-05-24 18:22:03 +02:00
bakk
9c31b13de2
kalk v2.0.0
2021-05-23 18:43:22 +02:00
bakk
e212ba55e4
Added tests for kalk_num estimation, rounding, and to string functions
2021-05-23 18:17:19 +02:00
bakk
2c0360ef1b
abs() the imaginary value on to_string(), since the sign is already there
2021-05-23 16:08:25 +02:00
bakk
0fa6ca9d14
Added tests for calculus.rs
2021-05-23 15:58:23 +02:00
bakk
2ed378b757
Fixed rounding for complex numbers resulting in 0
2021-05-23 15:04:12 +02:00
bakk
11c9fe7ac5
Integration with complex numbers
2021-05-23 02:21:35 +02:00
bakk
b6b4a228b1
Allow a comma before 'dx' in integrals
2021-05-23 01:56:25 +02:00
bakk
81daff2a04
Allow function calls without parenthesis even with a variable as argument
2021-05-23 01:42:10 +02:00
bakk
429ec0fb91
Always round values <= 10^-16 down to zero
2021-05-23 01:30:10 +02:00
bakk
8827b03f2e
Finding square roots for estimate()
2021-05-23 01:10:22 +02:00
bakk
9fa19cb770
Created synonym 'integral' for 'integrate'
2021-05-23 00:55:35 +02:00
bakk
515b2f16b2
Fixed estimation skipping values with no estimation, when the real/complex value had an estimation
2021-05-23 00:52:43 +02:00
bakk
3102bcd080
Convert fract to f64 before turning into string in estimate()
2021-05-23 00:44:58 +02:00
bakk
fb7d2dd273
Avoid panic because of invalid number literal
2021-05-23 00:04:50 +02:00
bakk
aaa3c6cf61
Fixed integration with expressions like xdx
2021-05-22 23:59:53 +02:00
bakk
eaa520fa67
Fixed eg. 'xy' being parsed as 'y' inside functions
2021-05-22 22:40:24 +02:00
bakk
9bb053c791
Made sum() and ans compatible with complex numbers
2021-05-22 22:03:35 +02:00
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
PaddiM8
ecede70a3d
kalk_web: Fixed error on empty result
2021-05-19 09:45:19 +02:00
bakk
93aa751f66
v0.4.1
2021-05-18 23:23:01 +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
8e16aa3f1a
Bumbed version to 0.4.0
2021-05-18 20:34:17 +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