PaddiM8
68f7e6a216
Separated parsing into two phases
...
The first phase (parser.rs) is generally context-free, and builds a
naive AST where for example function calls are parsed as `f*(x)` where
`f` is a variable and `(x)`is a group. The second phase (analysis.rs)
then creates a new AST, where these are turned into a function call
expression instead.
2022-01-14 15:08:19 +01:00
PaddiM8
4d00974f2c
Switch to one-based indexing
2022-01-07 01:24:19 +01:00
PaddiM8
4defe15611
Indexing matrices by ⟦⟧
2022-01-07 01:19:33 +01:00
PaddiM8
44174c9850
Allow matrices in prelude functions
2022-01-07 01:04:43 +01:00
PaddiM8
95fd78f3d1
Matrices
2022-01-07 00:39:29 +01:00
PaddiM8
b937cef83d
Don't print real number when it's zero, in KalkValue::to_string()
2022-01-06 23:02:43 +01:00
PaddiM8
15b0a9a830
Simplify indexer parsing for variables with lowered part
2022-01-06 01:36:13 +01:00
PaddiM8
2cf8f41124
Indexing vectors by ⟦⟧
2022-01-05 23:30:54 +01:00
PaddiM8
c0cc4060a4
Vector indexing with lowered numbers, eg. v_1
2022-01-05 22:41:41 +01:00
PaddiM8
3b740423f7
Don't allow multiplication of vectors of different sizes
2022-01-05 20:39:10 +01:00
PaddiM8
0aabade786
Treat any groups with commas as vectors
2022-01-05 18:50:07 +01:00
PaddiM8
971965ddce
Added support for ⋅ symbol
2022-01-05 15:54:46 +01:00
PaddiM8
c5f99a8343
Fixed regular.rs compilation errors
2022-01-05 15:54:17 +01:00
PaddiM8
28f87f4708
Added vector functions min, max, average
2022-01-05 14:46:52 +01:00
PaddiM8
d0d75bbbee
Call a function on every item in a vector when given as parameter
2022-01-05 02:52:09 +01:00
PaddiM8
78efe183c4
Added vector operations
2022-01-05 02:49:12 +01:00
PaddiM8
92521f842b
Changed KalkNum to an enum, KalkValue, creating a better type system
2022-01-05 01:08:08 +01:00
PaddiM8
83f20e035c
web: Don't replace / in results
2022-01-01 18:56:29 +01:00
PaddiM8
59419582ae
Add workflow dispatch for release action
2022-01-01 17:57:15 +01:00
PaddiM8
6f7baffcd1
Update release.yml
2022-01-01 17:49:42 +01:00
PaddiM8
139739b97e
v1.1.0
2022-01-01 17:02:11 +01:00
PaddiM8
d01ce4c526
Created integration tests
2022-01-01 03:42:49 +01:00
PaddiM8
dbf3866137
Support loading files in config dir
2022-01-01 02:35:33 +01:00
PaddiM8
474b4d9016
Added permutation functions (for nPr and nCr), closes #52
2022-01-01 01:09:30 +01:00
PaddiM8
7892eee23e
Bitshift operations, closes #80
2022-01-01 00:58:20 +01:00
PaddiM8
1bdecd3921
Fixed compilation error without rug
2021-12-31 23:53:39 +01:00
PaddiM8
b7631f85ca
Fixed floating point error in test case
2021-12-31 23:47:12 +01:00
PaddiM8
5f40e7202e
Fixed formatting of scientific notation, closes #81
2021-12-31 23:36:57 +01:00
PaddiM8
39673bc647
Fixed syntax highlighting for 0x-style literals
2021-12-31 21:18:30 +01:00
PaddiM8
50fa59c58c
Print result in another base when appropriate
2021-12-31 19:32:04 +01:00
PaddiM8
7414d73dc4
Fixed '0' being lexed as a base literal
2021-12-30 12:44:48 +01:00
PaddiM8
4495b69279
Number bases
2021-12-30 02:05:04 +01:00
PaddiM8
a37ab39b59
Changed web keyboards keys from * and / to × and ÷
2021-12-29 18:33:52 +01:00
PaddiM8
75460502ef
Special symbols for *, /, arc functions, and subscript
2021-12-29 18:32:11 +01:00
Kiëd Llaentenn
09fafcb573
Fix compilation errors when rug feature is disabled
2021-10-08 20:03:30 +00:00
Kiëd Llaentenn
2fc11f36d8
Add tests for LCM
2021-10-04 04:06:06 +00:00
Kiëd Llaentenn
a1b7631735
Make LCM aware of Gaussian integers
2021-10-04 03:59:24 +00:00
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
PaddiM8
89f4db665a
Mentioned rustfmt in README
2021-10-06 00:07:10 +02: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
946074066a
Updated Cargo.lock
2021-10-01 13:19:47 +02:00
PaddiM8
ac071cdd6f
web: Bumped version
2021-10-01 09:42:22 +02:00
PaddiM8
1b0496ea67
v1.0.1
2021-10-01 09:21:11 +02:00
Yannik Sander
6d3065a3e0
Fix Nix DevShell
2021-09-30 10:08:39 +02:00
PaddiM8
28f99bb366
Updated website url in README
2021-09-24 22:32:27 +02:00
PaddiM8
81e79504a3
Fixed README typo
2021-09-24 21:41:08 +02:00
PaddiM8
bb626a390f
Made README headers bigger
2021-09-24 21:40:45 +02:00