Natively handle negative numbers in tokenizer instead of the neg() function.
This commit is contained in:
@@ -21,7 +21,7 @@ fn test_math() -> Result<(), EvalAltResult> {
|
||||
Err(EvalAltResult::ErrorArithmetic(_, _)) => (),
|
||||
r => panic!("should return overflow error: {:?}", r),
|
||||
}
|
||||
match engine.eval::<i64>("(-9223372036854775807) - 2") {
|
||||
match engine.eval::<i64>("-9223372036854775808 - 1") {
|
||||
Err(EvalAltResult::ErrorArithmetic(_, _)) => (),
|
||||
r => panic!("should return underflow error: {:?}", r),
|
||||
}
|
||||
|
@@ -5,8 +5,8 @@ fn test_unary_minus() -> Result<(), EvalAltResult> {
|
||||
let mut engine = Engine::new();
|
||||
|
||||
assert_eq!(engine.eval::<i64>("let x = -5; x")?, -5);
|
||||
assert_eq!(engine.eval::<i64>("fn n(x) { -x } n(5)")?, -5);
|
||||
assert_eq!(engine.eval::<i64>("5 - -(-5)")?, 0);
|
||||
assert_eq!(engine.eval::<i64>("fn neg(x) { -x } neg(5)")?, -5);
|
||||
assert_eq!(engine.eval::<i64>("5 - -+++--+-5")?, 0);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
Reference in New Issue
Block a user