wasm: implement all addition operators (wrapping, panicking, saturating, and checked)

This commit is contained in:
Brian Carroll 2022-06-21 23:12:17 +01:00
parent d7ac8cfcbc
commit b1193e4134
No known key found for this signature in database
GPG key ID: 9CF4E3BF9C4722C7
9 changed files with 99 additions and 77 deletions

View file

@ -285,6 +285,8 @@ pub const NUM_DIV_CEIL: IntrinsicName = int_intrinsic!("roc_builtins.num.div_cei
pub const NUM_ROUND_F32: IntrinsicName = int_intrinsic!("roc_builtins.num.round_f32");
pub const NUM_ROUND_F64: IntrinsicName = int_intrinsic!("roc_builtins.num.round_f64");
pub const NUM_ADD_OR_PANIC_INT: IntrinsicName = int_intrinsic!("roc_builtins.num.add_or_panic");
pub const NUM_ADD_SATURATED_INT: IntrinsicName = int_intrinsic!("roc_builtins.num.add_saturated");
pub const NUM_ADD_WITH_OVERFLOW_INT: IntrinsicName = int_intrinsic!("roc_builtins.num.add_with_overflow");
pub const NUM_ADD_WITH_OVERFLOW_FLOAT: IntrinsicName = float_intrinsic!("roc_builtins.num.add_with_overflow");
@ -373,6 +375,8 @@ pub const DEC_ADD_WITH_OVERFLOW: &str = "roc_builtins.dec.add_with_overflow";
pub const DEC_SUB_WITH_OVERFLOW: &str = "roc_builtins.dec.sub_with_overflow";
pub const DEC_MUL_WITH_OVERFLOW: &str = "roc_builtins.dec.mul_with_overflow";
pub const DEC_DIV: &str = "roc_builtins.dec.div";
pub const DEC_ADD_OR_PANIC: &str = "roc_builtins.dec.add_or_panic";
pub const DEC_ADD_SATURATED: &str = "roc_builtins.dec.add_saturated";
pub const UTILS_TEST_PANIC: &str = "roc_builtins.utils.test_panic";
pub const UTILS_ALLOCATE_WITH_REFCOUNT: &str = "roc_builtins.utils.allocate_with_refcount";