Commit Graph

95 Commits

Author SHA1 Message Date
LinuxHeki
d9698df268 math::abs of int returns int 2023-05-21 09:12:12 +02:00
LinuxHeki
9bbb152b4a add tests for math::abs 2023-05-20 15:36:45 +02:00
Nick
8b8af31eb8 contains + contains_any builtins 2023-05-10 12:31:33 -05:00
Sebastian Schmidt
4fd86751dc Fix unary operator precedence.
Before, unary operators that appeared after an operator with higher precedence would be executed after that operator.

However, in evalexpr, the two unary operators are prefix operators negation and not, and prefix operators always happen before operators directly left of them.
2023-04-13 14:42:39 +03:00
Sebastian Schmidt
9d0a776346 Add test for powers of negative numbers. 2023-04-13 14:21:44 +03:00
Sebastian Schmidt
94b9f1c9be Fix lints. 2023-04-13 14:05:02 +03:00
natan
ebd08caa91 Formats code. 2022-11-21 19:50:22 +02:00
Natan Freeman
927e0e4075 Replaces f64 and i64 with FloatType and IntType. 2022-09-14 21:36:36 +03:00
Sebastian Schmidt
70a749194f Add tests for iterating only variable names in a context.
Relates to #108
2022-07-22 12:18:56 +03:00
Tobias Schmitt
532e2ed770 adds iter_(read/write)_variable_identifiers
seperate iterator returns for read and write variable identifiers.
this is useful in our project and i suspect it might be of use for
others too.
2022-07-21 21:12:26 +02:00
Sebastian Schmidt
a4f49de71a Add tests for context variable iteration.
Relates to #108
2022-07-15 13:50:14 +03:00
Sebastian Schmidt
e70e9d366a Use explicit operator type for reading and writing variables.
Before, variables written to were represented with the same operator as constants in the AST. This was hacky and confusing to some users.

Closes #106
2022-07-04 17:10:28 +03:00
Sebastian Schmidt
65fadfd164 Add tests for left-hand side of assignment being an identifier.
Relates to #106
2022-07-04 16:50:50 +03:00
Sebastian Schmidt
d9c5d5dbbb Test new TryFrom<Value> impls.
Closes #105
2022-07-04 14:39:27 +03:00
lovasoa
7227d02a9c
Add a comment for the random() != random() test 2022-04-20 20:53:08 +02:00
ISibboI
687f762115
Merge branch 'main' into random 2022-04-07 16:20:41 +03:00
Ophir LOJKINE
7c90768afb add newline at the end of the file to make cargo fmt happy 2022-03-30 14:46:23 +02:00
Ophir LOJKINE
bce31e24ae new function: random()
random() returns a random number between 0 and 1
2022-03-30 14:39:26 +02:00
Ophir LOJKINE
9d5ef651ae cargo fmt 2022-03-23 18:09:23 +01:00
Ophir LOJKINE
8eedf720e7 Implement changes requested in PR
https://github.com/ISibboI/evalexpr/pull/101#issuecomment-1076466426
2022-03-23 16:33:53 +01:00
Ophir LOJKINE
678c881377 fix test 2022-03-23 13:56:22 +01:00
Ophir LOJKINE
3c4a429e8d Remove is_sumbnormal 2022-03-23 13:11:41 +01:00
Ophir LOJKINE
ea42cf6355 Add support for is_nan, is_finite, and other floating-point testing functions 2022-03-23 13:04:09 +01:00
Ophir LOJKINE
004c2c9f03 more tests 2022-03-14 15:30:52 +01:00
Ophir LOJKINE
9eedc8e93b cargo fmt 2022-03-14 15:07:38 +01:00
Ophir LOJKINE
a219f0b66f Add an "if" function
If the first argument is true, returns the second argument, otherwise, return the third
2022-03-14 14:59:48 +01:00
Diane Sparks
284ddfd567
Add comment separator for bitwise tests 2022-03-06 10:20:40 -08:00
Diane Sparks
d6fafc171d
Add bitwise shift functions 2022-03-06 10:17:37 -08:00
Sebastian Schmidt
da5036b5ea Fix dependency version numbers and update dev dependencies. 2022-02-20 09:54:24 +02:00
Sebastian Schmidt
79cb25bc9d Increase test coverage. 2022-01-13 15:18:06 +02:00
Sebastian Schmidt
4e5e218d3e Fix #94.
Introduce a new error type for illegal parenthese expressions such as `4(5)`.
2022-01-13 14:50:38 +02:00
Sebastian Schmidt
2ffc88a22e Add failing examples from issue.
Relates to #94
2022-01-13 13:52:51 +02:00
Sebastian Schmidt
b3be7f600c Implement bitwise operators as builtin functions.
Relates to #88
2021-10-12 14:59:10 +03:00
Sebastian Schmidt
e0d4ef24e5 Increase test coverage. 2021-08-16 14:23:02 +03:00
Sebastian Schmidt
efd7ef5dcf Format code. 2021-08-16 13:33:56 +03:00
Jakub Dąbek
6be3b7d80e Make Function able to hold capturing closures.
This commit "reverts" a change introduced in bee98999,
by making `Function` be simultaneously `Fn` and `Clone`.
2021-08-15 20:11:00 +02:00
Sebastian Schmidt
fc2f5ac50d Add test case for potential error.
Relates to #89.
2021-08-01 15:13:58 +03:00
Dennis Marttinen
fbbecc766f
Add support for scientific notation of the form <coefficient>e{+,-,}<exponent> 2021-07-20 20:34:51 +03:00
Sebastian Schmidt
77659b8181 Add more string comparison test cases. 2021-07-13 15:06:43 +03:00
Sebastian Schmidt
97c5fc1c21 Add tests for evaluating operator tree and fix correct error for eval_number functions. 2021-07-13 14:55:23 +03:00
Sebastian Schmidt
e80fd20804 Increase test coverage and fix wrong error in shortcut method. 2021-07-13 14:28:25 +03:00
Sebastian Schmidt
20e6e12e7c Remove regex and serde tests from test coverage. 2021-07-13 13:48:08 +03:00
Sebastian Schmidt
8b493be1dd Increase test coverage.
Implement more tests and exclude modules from test that do not make sense to be tested.
2021-07-13 13:41:16 +03:00
Sebastian Schmidt
7ebf7e61d5 Increase test coverage.
Implement more tests and exclude modules from test that do not make sense to be tested.
2021-07-13 13:39:47 +03:00
Sebastian Schmidt
6a30bd24e2 Format code. 2021-06-22 11:43:58 +02:00
Sebastian Schmidt
bd9a314baa Increase test coverage. 2021-06-22 11:41:51 +02:00
ISibboI
d4812ef6e4
Format value with debug formatter in panic. 2021-06-02 19:08:53 +02:00
ISibboI
9e239cb0d8
Use string format panicking syntax.
This will both make it compile, and make it 2021 edition compatible.
2021-06-02 19:07:07 +02:00
ISibboI
f466b5ee2f
Try fixing panic_any import. 2021-06-02 19:03:14 +02:00
Sebastian Schmidt
84b5057b8e Fix lint in tests folder. 2021-06-02 18:33:40 +03:00