mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 13:29:12 +00:00
Add large bits test cases
This commit is contained in:
parent
fb0a64dc22
commit
54992fb436
1 changed files with 27 additions and 6 deletions
|
@ -4001,20 +4001,32 @@ fn num_count_one_bits() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||||
fn num_abs_diff() {
|
fn num_abs_diff_int() {
|
||||||
assert_evals_to!(r#"Num.absDiff 0 0"#, 0, i64);
|
assert_evals_to!(r#"Num.absDiff 0u8 0u8"#, 0, u8);
|
||||||
assert_evals_to!(r#"Num.absDiff 1 2"#, 1, i64);
|
assert_evals_to!(r#"Num.absDiff 1u8 2u8"#, 1, u8);
|
||||||
assert_evals_to!(r#"Num.absDiff 2 1"#, 1, i64);
|
assert_evals_to!(r#"Num.absDiff 2u8 1u8"#, 1, u8);
|
||||||
assert_evals_to!(r#"Num.absDiff -1 1"#, 2, i64);
|
assert_evals_to!(r#"Num.absDiff -1 1"#, 2, i64);
|
||||||
assert_evals_to!(r#"Num.absDiff 1 -1"#, 2, i64);
|
assert_evals_to!(r#"Num.absDiff 1 -1"#, 2, i64);
|
||||||
assert_evals_to!(r#"Num.absDiff Num.minI64 -1"#, i64::MAX, i64);
|
assert_evals_to!(r#"Num.absDiff Num.minI64 -1"#, i64::MAX, i64);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(any(feature = "gen-llvm", feature = "gen-dev"))]
|
||||||
|
fn num_abs_diff_large_bits() {
|
||||||
|
assert_evals_to!(r#"Num.absDiff 0u128 0u128"#, 0, u128);
|
||||||
|
assert_evals_to!(r#"Num.absDiff 1u128 2u128"#, 1, u128);
|
||||||
|
assert_evals_to!(r#"Num.absDiff -1i128 1i128"#, 2, i128);
|
||||||
|
assert_evals_to!(r#"Num.absDiff Num.minI128 -1i128"#, i128::MAX, i128);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||||
|
fn num_abs_diff_float() {
|
||||||
assert_evals_to!(r#"Num.absDiff 0.0 0.0"#, 0.0, f64);
|
assert_evals_to!(r#"Num.absDiff 0.0 0.0"#, 0.0, f64);
|
||||||
assert_evals_to!(r#"Num.absDiff 1.0 2.0"#, 1.0, f64);
|
assert_evals_to!(r#"Num.absDiff 1.0 2.0"#, 1.0, f64);
|
||||||
assert_evals_to!(r#"Num.absDiff 2.0 1.0"#, 1.0, f64);
|
assert_evals_to!(r#"Num.absDiff 2.0 1.0"#, 1.0, f64);
|
||||||
assert_evals_to!(r#"Num.absDiff -1.0 1.0"#, 2.0, f64);
|
assert_evals_to!(r#"Num.absDiff -1.0 1.0"#, 2.0, f64);
|
||||||
assert_evals_to!(r#"Num.absDiff 1.0 -1.0"#, 2.0, f64);
|
assert_evals_to!(r#"Num.absDiff 1.0 -1.0"#, 2.0, f64);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -4031,10 +4043,19 @@ fn num_abs_max_overflow() {
|
||||||
#[should_panic(
|
#[should_panic(
|
||||||
expected = r#"Roc failed with message: "integer subtraction overflowed!"#
|
expected = r#"Roc failed with message: "integer subtraction overflowed!"#
|
||||||
)]
|
)]
|
||||||
fn num_abs_min_overflow() {
|
fn num_abs_int_min_overflow() {
|
||||||
assert_evals_to!(r#"Num.absDiff Num.minI64 0"#, 0, i64);
|
assert_evals_to!(r#"Num.absDiff Num.minI64 0"#, 0, i64);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||||
|
#[should_panic(
|
||||||
|
expected = r#"Roc failed with message: "integer subtraction overflowed!"#
|
||||||
|
)]
|
||||||
|
fn num_abs_large_bits_min_overflow() {
|
||||||
|
assert_evals_to!(r#"Num.absDiff Num.minI128 0"#, 0, i128);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||||
fn num_abs_float_overflow() {
|
fn num_abs_float_overflow() {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue