mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-27 05:49:08 +00:00
Merge remote-tracking branch 'remote/main' into upgrade-llvm-zig
This commit is contained in:
commit
2feb5d3c2e
426 changed files with 8889 additions and 4190 deletions
|
@ -790,6 +790,13 @@ fn gen_div_checked_by_zero_dec() {
|
|||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-wasm", feature = "gen-dev"))]
|
||||
#[should_panic(expected = r#"Roc failed with message: "Decimal division by 0!"#)]
|
||||
fn gen_div_dec_zero_by_zero() {
|
||||
assert_evals_to!("0dec / 0", RocDec::from_str("-1").unwrap(), RocDec);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-wasm", feature = "gen-dev"))]
|
||||
#[should_panic(expected = r#"Roc failed with message: "Decimal division by 0!"#)]
|
||||
|
@ -1607,7 +1614,7 @@ fn tail_call_elimination() {
|
|||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-wasm", feature = "gen-dev"))]
|
||||
fn int_negate() {
|
||||
fn num_negate() {
|
||||
assert_evals_to!("Num.neg 123i8", -123, i8);
|
||||
assert_evals_to!("Num.neg Num.maxI8", -i8::MAX, i8);
|
||||
assert_evals_to!("Num.neg (Num.minI8 + 1)", i8::MAX, i8);
|
||||
|
@ -1623,6 +1630,26 @@ fn int_negate() {
|
|||
assert_evals_to!("Num.neg 123", -123, i64);
|
||||
assert_evals_to!("Num.neg Num.maxI64", -i64::MAX, i64);
|
||||
assert_evals_to!("Num.neg (Num.minI64 + 1)", i64::MAX, i64);
|
||||
|
||||
assert_evals_to!("Num.neg 12.3f32", -12.3, f32);
|
||||
assert_evals_to!("Num.neg 0.0f32", -0.0, f32);
|
||||
assert_evals_to!("Num.neg Num.maxF32", -f32::MAX, f32);
|
||||
assert_evals_to!("Num.neg Num.minF32", -f32::MIN, f32);
|
||||
assert_evals_to!("Num.neg Num.infinityF32", -f32::INFINITY, f32);
|
||||
// can't test equality for nan
|
||||
assert_evals_to!("Num.isNaN (Num.neg Num.nanF32)", true, bool);
|
||||
|
||||
assert_evals_to!("Num.neg 12.3f64", -12.3, f64);
|
||||
assert_evals_to!("Num.neg 0.0f64", -0.0, f64);
|
||||
assert_evals_to!("Num.neg Num.maxF64", -f64::MAX, f64);
|
||||
assert_evals_to!("Num.neg Num.minF64", -f64::MIN, f64);
|
||||
assert_evals_to!("Num.neg Num.infinityF64", -f64::INFINITY, f64);
|
||||
// can't test equality for nan
|
||||
assert_evals_to!("Num.isNaN (Num.neg Num.nanF64)", true, bool);
|
||||
|
||||
assert_evals_to!("Num.neg 123dec", RocDec::from(-123), RocDec);
|
||||
// 0 is signless, unlike f32/f64
|
||||
assert_evals_to!("Num.neg 0dec", RocDec::from(0), RocDec);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue