mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 12:18:19 +00:00
Remove Num.Natural, Num.toNat, and Num.toNatChecked
This commit is contained in:
parent
9518d76cd8
commit
fb84c9487d
4 changed files with 1 additions and 35 deletions
|
@ -28,7 +28,6 @@ interface Num
|
|||
Dec,
|
||||
F64,
|
||||
F32,
|
||||
Natural,
|
||||
Decimal,
|
||||
Binary32,
|
||||
Binary64,
|
||||
|
@ -147,8 +146,6 @@ interface Num
|
|||
toU64Checked,
|
||||
toU128,
|
||||
toU128Checked,
|
||||
toNat,
|
||||
toNatChecked,
|
||||
toF32,
|
||||
toF32Checked,
|
||||
toF64,
|
||||
|
@ -410,8 +407,6 @@ Unsigned32 := []
|
|||
Unsigned16 := []
|
||||
Unsigned8 := []
|
||||
|
||||
Natural := []
|
||||
|
||||
Integer range := range
|
||||
|
||||
I128 : Num (Integer Signed128)
|
||||
|
@ -1374,8 +1369,6 @@ toU32 : Int * -> U32
|
|||
toU64 : Int * -> U64
|
||||
toU128 : Int * -> U128
|
||||
|
||||
toNat : Int * -> Nat
|
||||
|
||||
## Converts a [Num] to an [F32]. If the given number can't be precisely represented in an [F32],
|
||||
## the returned number may be different from the given number.
|
||||
toF32 : Num * -> F32
|
||||
|
@ -1397,6 +1390,5 @@ toU16Checked : Int * -> Result U16 [OutOfBounds]
|
|||
toU32Checked : Int * -> Result U32 [OutOfBounds]
|
||||
toU64Checked : Int * -> Result U64 [OutOfBounds]
|
||||
toU128Checked : Int * -> Result U128 [OutOfBounds]
|
||||
toNatChecked : Int * -> Result Nat [OutOfBounds]
|
||||
toF32Checked : Num * -> Result F32 [OutOfBounds]
|
||||
toF64Checked : Num * -> Result F64 [OutOfBounds]
|
||||
|
|
|
@ -33,7 +33,6 @@ macro_rules! map_symbol_to_lowlevel_and_arity {
|
|||
Symbol::NUM_TO_U32 => Some(lowlevel_1(Symbol::NUM_TO_U32, LowLevel::NumIntCast, var_store)),
|
||||
Symbol::NUM_TO_U64 => Some(lowlevel_1(Symbol::NUM_TO_U64, LowLevel::NumIntCast, var_store)),
|
||||
Symbol::NUM_TO_U128 => Some(lowlevel_1(Symbol::NUM_TO_U128, LowLevel::NumIntCast, var_store)),
|
||||
Symbol::NUM_TO_NAT => Some(lowlevel_1(Symbol::NUM_TO_NAT, LowLevel::NumIntCast, var_store)),
|
||||
|
||||
Symbol::NUM_INT_CAST => Some(lowlevel_1(Symbol::NUM_INT_CAST, LowLevel::NumIntCast, var_store)),
|
||||
|
||||
|
@ -50,7 +49,6 @@ macro_rules! map_symbol_to_lowlevel_and_arity {
|
|||
Symbol::NUM_TO_U32_CHECKED => Some(to_num_checked(Symbol::NUM_TO_U32_CHECKED, var_store, LowLevel::NumToIntChecked)),
|
||||
Symbol::NUM_TO_U64_CHECKED => Some(to_num_checked(Symbol::NUM_TO_U64_CHECKED, var_store, LowLevel::NumToIntChecked)),
|
||||
Symbol::NUM_TO_U128_CHECKED => Some(to_num_checked(Symbol::NUM_TO_U128_CHECKED, var_store, LowLevel::NumToIntChecked)),
|
||||
Symbol::NUM_TO_NAT_CHECKED => Some(to_num_checked(Symbol::NUM_TO_NAT_CHECKED, var_store, LowLevel::NumToIntChecked)),
|
||||
|
||||
Symbol::NUM_TO_F32_CHECKED => Some(to_num_checked(Symbol::NUM_TO_F32_CHECKED, var_store, LowLevel::NumToFloatChecked)),
|
||||
Symbol::NUM_TO_F64_CHECKED => Some(to_num_checked(Symbol::NUM_TO_F64_CHECKED, var_store, LowLevel::NumToFloatChecked)),
|
||||
|
|
|
@ -2271,13 +2271,6 @@ fn min_f32() {
|
|||
assert_evals_to!("Num.minF32", f32::MIN, f32);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(all(feature = "gen-llvm", not(feature = "gen-llvm-wasm")))]
|
||||
fn to_nat_truncate_wraps() {
|
||||
let input = "Num.toNat 10_000_000_000_000_000_000_000i128";
|
||||
assert_evals_to!(input, 1864712049423024128, u64)
|
||||
}
|
||||
|
||||
macro_rules! num_conversion_tests {
|
||||
($($fn:expr, $typ:ty, ($($test_name:ident, $input:expr, $output:expr $(, [$($support_gen:literal),*])? )*))*) => {$($(
|
||||
#[test]
|
||||
|
@ -2350,11 +2343,6 @@ num_conversion_tests! {
|
|||
to_u128_same_width, "15i128", 15
|
||||
to_u128_extend, "15i8", 15
|
||||
)
|
||||
"Num.toNat", usize, (
|
||||
to_nat_same_width, "15i64", 15, ["gen-wasm", "gen-dev"]
|
||||
to_nat_extend, "15i8", 15, ["gen-wasm", "gen-dev"]
|
||||
to_nat_truncate, "115i128", 115
|
||||
)
|
||||
"Num.toF32", f32, (
|
||||
to_f32_from_i8, "15i8", 15.0
|
||||
to_f32_from_i16, "15i16", 15.0
|
||||
|
@ -2516,18 +2504,6 @@ to_int_checked_tests! {
|
|||
to_u128_checked_same_width_signed_fits, "15i128", 15
|
||||
to_u128_checked_same_width_signed_oob, "-1i128", None
|
||||
)
|
||||
"Num.toNatChecked", usize, (
|
||||
to_nat_checked_smaller_width_pos, "15i8", 15
|
||||
to_nat_checked_smaller_width_neg_oob, "-15i8", None
|
||||
to_nat_checked_same, "15u64", 15
|
||||
to_nat_checked_same_width_signed_fits, "15i64", 15
|
||||
to_nat_checked_same_width_signed_oob, "-1i64", None
|
||||
to_nat_checked_larger_width_signed_fits_pos, "15i128", 15
|
||||
to_nat_checked_larger_width_signed_oob_pos, "18446744073709551616i128", None
|
||||
to_nat_checked_larger_width_signed_oob_neg, "-1i128", None
|
||||
to_nat_checked_larger_width_unsigned_fits_pos, "15u128", 15
|
||||
to_nat_checked_larger_width_unsigned_oob_pos, "18446744073709551616u128", None
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
|
@ -9,7 +9,7 @@ app "ingested-file-bytes"
|
|||
main =
|
||||
# Due to how license is used, it will be a List U8.
|
||||
license
|
||||
|> List.map Num.toNat
|
||||
|> List.map Num.toU64
|
||||
|> List.sum
|
||||
|> Num.toStr
|
||||
|> Stdout.line
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue