diff --git a/compiler/can/src/builtins.rs b/compiler/can/src/builtins.rs index aa537b9931..d1c8008a84 100644 --- a/compiler/can/src/builtins.rs +++ b/compiler/can/src/builtins.rs @@ -227,24 +227,6 @@ pub fn builtin_defs_map(symbol: Symbol, var_store: &mut VarStore) -> Option NUM_SHIFT_RIGHT => num_shift_right_by, NUM_SHIFT_RIGHT_ZERO_FILL => num_shift_right_zf_by, NUM_INT_CAST=> num_int_cast, - NUM_MIN_I8=> num_min_i8, - NUM_MAX_I8=> num_max_i8, - NUM_MIN_U8=> num_min_u8, - NUM_MAX_U8=> num_max_u8, - NUM_MIN_I16=> num_min_i16, - NUM_MAX_I16=> num_max_i16, - NUM_MIN_U16=> num_min_u16, - NUM_MAX_U16=> num_max_u16, - NUM_MIN_I32=> num_min_i32, - NUM_MAX_I32=> num_max_i32, - NUM_MIN_U32=> num_min_u32, - NUM_MAX_U32=> num_max_u32, - NUM_MIN_I64=> num_min_i64, - NUM_MAX_I64=> num_max_i64, - NUM_MIN_U64=> num_min_u64, - NUM_MAX_U64=> num_max_u64, - NUM_MIN_I128=> num_min_i128, - NUM_MAX_I128=> num_max_i128, NUM_TO_I8 => num_to_i8, NUM_TO_I8_CHECKED => num_to_i8_checked, NUM_TO_I16 => num_to_i16, diff --git a/compiler/load/src/file.rs b/compiler/load/src/file.rs index 816aaf3fa0..83a2d6e4a5 100644 --- a/compiler/load/src/file.rs +++ b/compiler/load/src/file.rs @@ -3173,6 +3173,8 @@ fn load_module<'a>( Loc::at_zero(ExposedName::new("maxU64")), Loc::at_zero(ExposedName::new("minI128")), Loc::at_zero(ExposedName::new("maxI128")), + Loc::at_zero(ExposedName::new("minU128")), + Loc::at_zero(ExposedName::new("maxU128")), Loc::at_zero(ExposedName::new("toI8")), Loc::at_zero(ExposedName::new("toI8Checked")), Loc::at_zero(ExposedName::new("toI16")), @@ -3338,26 +3340,64 @@ fn load_module<'a>( mulChecked : Num a, Num a -> Result (Num a) [ Overflow ]* minI8 : I8 + minI8 = -128i8 + maxI8 : I8 + maxI8 = 127i8 + minU8 : U8 + minU8 = 0u8 + maxU8 : U8 + maxU8 = 255u8 + minI16 : I16 + minI16 = -32768i16 + maxI16 : I16 + maxI16 = 32767i16 + minU16 : U16 + minU16 = 0u16 + maxU16 : U16 + maxU16 = 65535u16 + minI32 : I32 + minI32 = -2147483648 + maxI32 : I32 + maxI32 = 2147483647 + minU32 : U32 + minU32 = 0 + maxU32 : U32 + maxU32 = 4294967295 + minI64 : I64 + minI64 = -9223372036854775808 + maxI64 : I64 + maxI64 = 9223372036854775807 + minU64 : U64 + minU64 = 0 + maxU64 : U64 + maxU64 = 18446744073709551615 minI128 : I128 + minI128 = -170141183460469231731687303715884105728 + maxI128 : I128 - # minU128 : U128 - # maxU128 : U128 + maxI128 = 170141183460469231731687303715884105727 + + minU128 : U128 + minU128 = 0 + + maxU128 : U128 + maxU128 = 0340282366920938463463374607431768211455 toI8 : Int * -> I8 toI16 : Int * -> I16