Commit Graph

570 Commits

Author SHA1 Message Date
PaddiM8
48e7b719f6 Chained comparison operators 2022-01-16 01:44:50 +01:00
PaddiM8
67ef28bd7f Vector comprehensions 2022-01-16 00:33:26 +01:00
PaddiM8
20f61efa7f cli: Fixed panic when pressing tab after number 2022-01-14 23:12:41 +01:00
PaddiM8
c31001777e Added integration tests for derivation, functions, groups, integration, matrices, sum, variables, and vectors 2022-01-14 22:56:59 +01:00
PaddiM8
f7c8ef8ad8 Equality comparison for matrices 2022-01-14 22:43:20 +01:00
PaddiM8
67599e7091 Fixed incorrect vector operations 2022-01-14 22:09:52 +01:00
PaddiM8
7ea88895ff Fixed 'dx' parsing in integrals 2022-01-14 21:32:15 +01:00
PaddiM8
841317b09b Moved variable declaration parsing to analysis.rs 2022-01-14 19:49:04 +01:00
PaddiM8
91ade0d4a5 Equality comparison for complex numbers 2022-01-14 17:59:04 +01:00
PaddiM8
f5eff6d28f Added logical and/or operators 2022-01-14 17:46:07 +01:00
PaddiM8
abd22c4d88 Perform comparison instead when there is no equation variable 2022-01-14 16:57:01 +01:00
PaddiM8
b54b9b3e0c Fixed panic for parenthesis-less function calls 2022-01-14 16:04:16 +01:00
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