Commit graph

45 commits

Author SHA1 Message Date
42ccff8b12
fix: maximum significant digits
oops :3
2026-07-16 11:39:22 -07:00
9372d5dfa8
feat: support unicode mult & div 2026-07-16 11:36:21 -07:00
4d7a806caa
feat: support sqrt
other roots may prove to be quite a challenge,
since I would need to parse the syntax `root(base, value)`
2026-07-16 11:33:03 -07:00
93d8147048
feat: set a max for displayed significant digits 2026-07-16 11:29:51 -07:00
50358db183
refactor: significant digits calculation out of fn main 2026-07-16 11:25:48 -07:00
7c4074113f
feat: shorthand to concatonate arguments
in the shell this allows for `tylc 1 + 1`,
making it equivelent to `tylc "1+1"`

this makes implementing other arguments difficult/impossible, though
2026-07-16 11:01:58 -07:00
cf8d218b11
refactor: use compiler builtin constant for pi
as per clippy lint
2026-07-16 10:55:23 -07:00
ae0f2a3aaf
feat: print a reasonable number of significant digits 2026-07-16 10:51:44 -07:00
fc06e1e981
feat: add constant pi
copy and pasted from ALEKS calculator,
as I gave up trying to find what the best approximation to use would be.
2026-07-16 00:36:46 -07:00
8d26022403
tests: implicit_mult 2026-07-16 00:30:53 -07:00
9b59323306
refactor: context errors 2026-07-16 00:28:04 -07:00
a88ec153ce
fix: flawed function parsing
enumerating after filtering made the index unusable
2026-07-16 00:23:33 -07:00
2ca3abf42f
feat: implicit mult 2026-07-16 00:13:37 -07:00
b9fc3c1eec
refactor: sort all from_str-like impls together 2026-07-16 00:02:05 -07:00
c4a1d670ca
docs: minor logic block explanations 2026-07-15 23:52:59 -07:00
7f733c1053
feat: generalize error InvalidFunction -> UnrecognizedName 2026-07-15 23:49:57 -07:00
33862c602d
tests: for constants 2026-07-15 23:47:35 -07:00
d27a59df17
feat: add constants 2026-07-15 23:42:49 -07:00
e7a9358bd0
refactor: consistency 2026-07-15 23:17:45 -07:00
cc88a4240a
docs: explain some of the string parsing 2026-07-15 23:13:09 -07:00
f22011e59e
feat: add some trig functions 2026-07-15 22:09:23 -07:00
d17c021fc2
tests: obsolete shorthand 2026-07-15 21:57:47 -07:00
6b33b5569d
tests: add shorthand, unary_operators 2026-07-15 21:54:26 -07:00
ee18ae3222
fix: recognize unary operators 2026-07-15 21:51:12 -07:00
d54c9636ca
refactor: simplify from_str logic slightly 2026-07-15 21:26:06 -07:00
0b0d4a960f
fix: match 'e' and '.' as numeric 2026-07-14 17:32:50 -07:00
ff152cccea
chore: add licensing 2026-07-13 21:58:26 -07:00
2746345cc6
refactor: OOP a little 2026-07-13 21:53:37 -07:00
877ae39d23
feat: read from stdin if argument missing 2026-07-13 20:09:48 -07:00
da960610f4
refactor: remove temporary attribute 2026-07-13 19:56:13 -07:00
3719464054
refactor: apply clippy hints 2026-07-13 19:55:58 -07:00
6523964125
build: fix flake 2026-07-13 19:46:14 -07:00
222662e402
build: minimize rug features 2026-07-13 19:42:43 -07:00
23d49fbb6a
refactor: modify numbers inplace
this should improve performance

I also happened to fix the lack of detail in the explicit panics
2026-07-13 19:38:45 -07:00
af9e9c9797
refactor: function parsing into a single loop 2026-07-13 19:15:00 -07:00
e8dc03c761
feat: print three significant digits 2026-07-13 18:41:29 -07:00
Edeth-Baguette
375d7eb95f fix: collapse_toplevel
incorrect indexes and operation order (div before mult)

co-authored by electria
2026-07-13 18:07:56 -07:00
Edeth-Baguette
580300a205 feat: most basic cli
co-authored by electria
2026-07-13 17:19:01 -07:00
Edeth-Baguette
06aaf8cb8a feat: nodes to num
co-authored by electria
2026-07-13 17:13:54 -07:00
Edeth-Baguette
e27438a244 PREC constant
authored by electria
2026-07-13 15:59:14 -07:00
98413eb1b7
test(parse): create a slice directly 2026-06-18 18:57:58 -07:00
50fa80df27
feat: add parsing function and test 2026-06-18 18:53:18 -07:00
e0921b9c96
build(deps): add thiserror 2026-06-18 18:52:49 -07:00
5683d41c53
build(deps): add rug for arbitrary precision math 2026-06-17 12:13:45 -07:00
9da2d49f79
init 2026-06-17 11:47:55 -07:00