mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 21:39:07 +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]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||
fn num_abs_diff() {
|
||||
assert_evals_to!(r#"Num.absDiff 0 0"#, 0, i64);
|
||||
assert_evals_to!(r#"Num.absDiff 1 2"#, 1, i64);
|
||||
assert_evals_to!(r#"Num.absDiff 2 1"#, 1, i64);
|
||||
fn num_abs_diff_int() {
|
||||
assert_evals_to!(r#"Num.absDiff 0u8 0u8"#, 0, u8);
|
||||
assert_evals_to!(r#"Num.absDiff 1u8 2u8"#, 1, u8);
|
||||
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 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 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 -1.0 1.0"#, 2.0, f64);
|
||||
assert_evals_to!(r#"Num.absDiff 1.0 -1.0"#, 2.0, f64);
|
||||
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
@ -4031,10 +4043,19 @@ fn num_abs_max_overflow() {
|
|||
#[should_panic(
|
||||
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);
|
||||
}
|
||||
|
||||
#[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]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||
fn num_abs_float_overflow() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue