Kiëd Llaentenn
7f0fee640d
Add tests for GCD
2021-10-04 03:50:33 +00:00
Kiëd Llaentenn
71fc2c18ff
Implement GCD for Gaussian integers
2021-10-04 03:40:50 +00:00
Kiëd Llaentenn
ba553f0c38
gcd: return NaN when encountering non-Gaussian integer
2021-10-03 23:33:48 +00:00
Kiëd Llaentenn
31700634af
Implement basic GCD/LCM
2021-09-30 14:57:00 +00:00
Aurelien Jacobs
12869efe08
Fix undefined function: '∏'
...
Without this fix `prod(1,10,n)` works fine, but `∏(1,10,n)`
returns `Undefined function: '∏'.`
2021-10-03 14:44:40 +02:00
PaddiM8
1b0496ea67
v1.0.1
2021-10-01 09:21:11 +02:00
PaddiM8
b4abdded39
Updated interpreter tests to expect 0 after comparisons
2021-09-24 14:32:18 +02:00
PaddiM8
5ccdfb9f81
NaN for comparisons with imaginary numbers
2021-09-24 14:03:47 +02:00
PaddiM8
814558d46c
Float error margin for comparison operations
2021-09-24 14:03:24 +02:00
PaddiM8
535a834076
Output numbers with the precision specified
2021-09-22 16:23:10 +02:00
PaddiM8
6ad51c82ea
Prevent contants from being overridden
2021-09-22 15:33:58 +02:00
PaddiM8
22bec9ff40
Fixed tick symbol resulting in panic
2021-09-22 15:04:21 +02:00
5225225
d9db16a7fb
Add fuzzer
2021-09-21 23:10:42 +01:00
PaddiM8
6d476a71f2
Handle new lines on windows
2021-09-04 12:14:49 +02:00
bakk
4e1dab3546
Merge branch 'master' of https://github.com/PaddiM8/kalk
2021-06-03 11:42:13 +02:00
bakk
dfc05bc11d
cli: Continue on new line when missing closing group symbol
2021-06-03 11:41:56 +02:00
bakk
e0bc36482c
Fixed crash when missing closing ceil, floor, |
2021-06-03 11:16:36 +02:00
Adám Brudzewsky
73c1569b17
Fix ⌋⌊, add []
2021-06-03 00:01:20 +01:00
bakk
2c279beccd
Bumped kalk library version
2021-06-02 22:51:30 +02:00
bakk
232a437849
v1.0.0
2021-06-02 22:37:24 +02:00
bakk
236d5842b9
Fixed multiplication with percent
2021-06-01 16:11:43 +02:00
bakk
e07c5e5339
Added prod function and proper sum symbol
2021-06-01 15:52:41 +02:00
bakk
349aeb7f0b
kalk_web: Adjusted for piecewise and comparison operators
2021-06-01 12:30:21 +02:00
bakk
6697a37faa
Removed redundant if
2021-06-01 00:22:42 +02:00
bakk
44488d285f
Allow space after function name, without parenthesis
2021-06-01 00:18:14 +02:00
bakk
96a81b1359
Fixed imaginary number being ignored in eval_fn_call
2021-05-31 23:32:08 +02:00
bakk
4da372aefe
Made it possible for functions to call themselves
2021-05-31 23:16:47 +02:00
bakk
5b8ad2829c
Implemented piecewise
2021-05-31 18:55:37 +02:00
bakk
9ded8171bd
v0.5.4
2021-05-31 14:03:28 +02:00
bakk
c5761bc3b1
Fixed custom groups not multiplying implicitly
2021-05-31 14:00:24 +02:00
bakk
fe50789cbd
Comparison operators and Iverson brackets
2021-05-31 13:46:06 +02:00
bakk
2573ae16e2
Fixed new lines being parsed as numbers
2021-05-30 19:11:25 +02:00
bakk
5ad9532ca0
v0.5.3
2021-05-29 14:41:21 +02:00
bakk
7cd5a62253
Only parse one factor after '√'
2021-05-27 23:31:17 +02:00
bakk
83898e3946
Fixed eg. 'x(2x + 1)' not working inside functions
2021-05-27 23:15:53 +02:00
bakk
78e93a5f96
Updated version numbers
2021-05-27 19:44:12 +02:00
bakk
2e9a5d213b
Added kalk_web to ci
2021-05-27 16:57:53 +02:00
bakk
85edae0590
Fixed pow giving undefined with lhs < 0 and rhs < 1
2021-05-26 22:13:58 +02:00
bakk
6d88da749d
Show NaN and inf in a more user-friendly way
2021-05-25 22:32:50 +02:00
bakk
b6412aca1e
Added functions Re(z) and Im(z)
2021-05-25 22:12:26 +02:00
bakk
a42bb5d002
Added tests for operations
2021-05-25 22:04:01 +02:00
bakk
22488f1f38
Added tests for prelude functions
2021-05-25 21:29:59 +02:00
bakk
87df8df12a
Support syntax like sin2x
2021-05-24 22:32:33 +02:00
bakk
643b92c23d
Support syntax like sinxdx in integrals
2021-05-24 22:05:35 +02:00
bakk
f944e3cebc
Keep previous variable value after integration using the same identifier
2021-05-24 21:51:25 +02:00
bakk
c4c768374f
Made recursion possible
2021-05-24 21:32:58 +02:00
bakk
d1365b5982
Round result slightly to get a more 'lagom' amount of decimals
2021-05-24 18:22:03 +02:00
bakk
e40428016f
kalk v2.0.0
2021-05-23 18:43:22 +02:00
bakk
04644dc54f
Added tests for kalk_num estimation, rounding, and to string functions
2021-05-23 18:17:19 +02:00
bakk
9e0c6a732b
abs() the imaginary value on to_string(), since the sign is already there
2021-05-23 16:08:25 +02:00
bakk
eaf712e01f
Added tests for calculus.rs
2021-05-23 15:58:23 +02:00
bakk
33de7f034c
Fixed rounding for complex numbers resulting in 0
2021-05-23 15:04:12 +02:00
bakk
b0a1d3581b
Integration with complex numbers
2021-05-23 02:21:35 +02:00
bakk
ab6e758726
Allow a comma before 'dx' in integrals
2021-05-23 01:56:25 +02:00
bakk
0e425fbf90
Allow function calls without parenthesis even with a variable as argument
2021-05-23 01:42:10 +02:00
bakk
7fd6d28e1d
Always round values <= 10^-16 down to zero
2021-05-23 01:30:10 +02:00
bakk
0bbf1c4974
Finding square roots for estimate()
2021-05-23 01:10:22 +02:00
bakk
34e374b346
Created synonym 'integral' for 'integrate'
2021-05-23 00:55:35 +02:00
bakk
7b635079c8
Fixed estimation skipping values with no estimation, when the real/complex value had an estimation
2021-05-23 00:52:43 +02:00
bakk
c80f58433c
Convert fract to f64 before turning into string in estimate()
2021-05-23 00:44:58 +02:00
bakk
7af71ff332
Avoid panic because of invalid number literal
2021-05-23 00:04:50 +02:00
bakk
594d139345
Fixed integration with expressions like xdx
2021-05-22 23:59:53 +02:00
bakk
a60dc2bf65
Fixed eg. 'xy' being parsed as 'y' inside functions
2021-05-22 22:40:24 +02:00
bakk
cff40be924
Made sum() and ans compatible with complex numbers
2021-05-22 22:03:35 +02:00
bakk
637c3e331b
Implemented complex variants of prelude functions
2021-05-22 20:47:10 +02:00
bakk
7898f40021
Adjusted estimation and rounding to include imaginary numbers
2021-05-20 20:50:24 +02:00
bakk
328810d29d
Division with complex numbers
2021-05-20 19:50:59 +02:00
bakk
ee3082ad66
Made complex numbers work without rug
2021-05-20 19:26:03 +02:00
=
22ac36bb4a
Fixed negative scientific notation
2021-05-20 15:19:26 +02:00
=
2936a58620
Basics of complex numbers
2021-05-20 15:11:32 +02:00
=
869708b454
Removed code duplication in kalk_num
2021-05-20 11:03:53 +02:00
PaddiM8
d21202a446
kalk_web: Fixed error on empty result
2021-05-19 09:45:19 +02:00
bakk
150a0c7632
v0.4.1
2021-05-18 23:23:01 +02:00
bakk
4c92062117
Use KalkNum's to_string() function in to_scientific_notation()
2021-05-18 23:20:23 +02:00
bakk
121aafa118
kalk_web: Added integral and estimation support
2021-05-18 23:08:38 +02:00
bakk
e04742695a
Combined to_scientific_notation() methods for both types, and added tests
2021-05-18 23:03:21 +02:00
bakk
cc776367fa
Added wasm binding to KalkNum.estimate()
2021-05-18 20:40:43 +02:00
bakk
93830090b5
Bumbed version to 0.4.0
2021-05-18 20:34:17 +02:00
bakk
09c99c9169
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
dea2ab9ee2
Estimation/rounding for final results
2021-05-18 19:48:13 +02:00
bakk
2636f51077
Lex special symbols as one token
2021-05-18 17:49:31 +02:00
bakk
4db84aa441
Basic rounding for calculus functions
2021-05-17 23:55:20 +02:00
bakk
7f32829921
Higher order derivatation
2021-05-17 23:09:59 +02:00
bakk
ff6ad6a10d
Improved accuracy for derivation
2021-05-17 21:27:11 +02:00
bakk
15c30cfeee
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
9acdd71589
Created 'Identifier' struct that contains prime count and name without primes (ticks ')
2021-05-17 20:17:34 +02:00
bakk
374a449eab
Fixed integrate function test
2021-05-17 18:15:49 +02:00
bakk
0c454fb6f4
Lex '**' as power sign
2021-05-17 18:14:48 +02:00
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
4cfd563b38
kalk_web: Updated kalk and fixed audit problems
2021-05-15 17:22:18 +02:00
bakk
d5c991ffdf
Fixed zeroes being trimmed for non-rug numbers
2021-05-15 16:15:25 +02:00
PaddiM8
277b1ed4c0
Updated the kalk version in web related things
2021-03-31 22:10:05 +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
Oliver Waldemar
ecc0fd5dcf
Created kalk_mobile capacitor app with android and electron targets
2021-01-07 16:34:55 +01:00
PaddiM8
93514906f3
v0.3.12
2021-01-04 18:01:03 +01:00
PaddiM8
2714ed0f8c
Fixed gamma and factorial functions for f64
2021-01-04 17:49:11 +01:00