mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 12:18:19 +00:00
add tests
This commit is contained in:
parent
4269608ebf
commit
6786fd45c0
1 changed files with 102 additions and 0 deletions
|
@ -3731,3 +3731,105 @@ fn without_decimal_point() {
|
|||
i128
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||
fn f32_to_parts() {
|
||||
assert_evals_to!(r"Num.f32ToParts 0", (0, 0, false), (u32, u8, bool));
|
||||
assert_evals_to!(
|
||||
r"Num.f32ToParts Num.maxF32",
|
||||
(0x7FFFFF, 0xFE, false),
|
||||
(u32, u8, bool)
|
||||
);
|
||||
assert_evals_to!(
|
||||
r"Num.f32ToParts Num.minF32",
|
||||
(0x7FFFFF, 0xFE, true),
|
||||
(u32, u8, bool)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||
fn f64_to_parts() {
|
||||
assert_evals_to!(r"Num.f64ToParts 0", (0, 0, false), (u64, u16, bool));
|
||||
assert_evals_to!(
|
||||
r"Num.f64ToParts Num.maxF64",
|
||||
(0xFFFFFFFFFFFFF, 0x7FE, false),
|
||||
(u64, u16, bool)
|
||||
);
|
||||
assert_evals_to!(
|
||||
r"Num.f64ToParts Num.minF64",
|
||||
(0xFFFFFFFFFFFFF, 0x7FE, true),
|
||||
(u64, u16, bool)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||
fn f32_from_parts() {
|
||||
assert_evals_to!(
|
||||
r"
|
||||
Num.f32FromParts {
|
||||
sign: Bool.false,
|
||||
exponent: 0,
|
||||
fraction: 0
|
||||
}",
|
||||
0.0,
|
||||
f32
|
||||
);
|
||||
assert_evals_to!(
|
||||
r"
|
||||
Num.f32FromParts {
|
||||
sign: Bool.false,
|
||||
exponent: 0xFE,
|
||||
fraction: 0x7FFFFF
|
||||
}",
|
||||
f32::MAX,
|
||||
f32
|
||||
);
|
||||
assert_evals_to!(
|
||||
r"
|
||||
Num.f32FromParts {
|
||||
sign: Bool.true,
|
||||
exponent: 0xFE,
|
||||
fraction: 0x7FFFFF
|
||||
}",
|
||||
f32::MIN,
|
||||
f32
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(any(feature = "gen-llvm", feature = "gen-dev", feature = "gen-wasm"))]
|
||||
fn f64_from_parts() {
|
||||
assert_evals_to!(
|
||||
r"
|
||||
Num.f64FromParts {
|
||||
sign: Bool.false,
|
||||
exponent: 0,
|
||||
fraction: 0
|
||||
}",
|
||||
0.0,
|
||||
f64
|
||||
);
|
||||
assert_evals_to!(
|
||||
r"
|
||||
Num.f64FromParts {
|
||||
sign: Bool.false,
|
||||
exponent: 0x7FE,
|
||||
fraction: 0xFFFFFFFFFFFFF
|
||||
}",
|
||||
f64::MAX,
|
||||
f64
|
||||
);
|
||||
assert_evals_to!(
|
||||
r"
|
||||
Num.f64FromParts {
|
||||
sign: Bool.true,
|
||||
exponent: 0x7FE,
|
||||
fraction: 0xFFFFFFFFFFFFF
|
||||
}",
|
||||
f64::MIN,
|
||||
f64
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue