mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-03 00:24:34 +00:00
Merge in remote trunk
This commit is contained in:
commit
c412a8e0db
68 changed files with 2549 additions and 1637 deletions
|
|
@ -2180,7 +2180,7 @@ fn run_low_level<'a, 'ctx, 'env>(
|
|||
list_join(env, inplace, parent, list, outer_list_layout)
|
||||
}
|
||||
NumAbs | NumNeg | NumRound | NumSqrtUnchecked | NumSin | NumCos | NumCeiling | NumFloor
|
||||
| NumToFloat | NumIsFinite | NumAtan => {
|
||||
| NumToFloat | NumIsFinite | NumAtan | NumAcos | NumAsin => {
|
||||
debug_assert_eq!(args.len(), 1);
|
||||
|
||||
let (arg, arg_layout) = load_symbol_and_layout(env, scope, &args[0]);
|
||||
|
|
@ -2538,7 +2538,7 @@ fn build_int_binop<'a, 'ctx, 'env>(
|
|||
NumLte => bd.build_int_compare(SLE, lhs, rhs, "int_lte").into(),
|
||||
NumRemUnchecked => bd.build_int_signed_rem(lhs, rhs, "rem_int").into(),
|
||||
NumDivUnchecked => bd.build_int_signed_div(lhs, rhs, "div_int").into(),
|
||||
NumPowInt => call_bitcode_fn(env, &[lhs.into(), rhs.into()], "pow_int_"),
|
||||
NumPowInt => call_bitcode_fn(env, &[lhs.into(), rhs.into()], &bitcode::MATH_POW_INT),
|
||||
_ => {
|
||||
unreachable!("Unrecognized int binary operation: {:?}", op);
|
||||
}
|
||||
|
|
@ -2584,7 +2584,9 @@ fn build_float_binop<'a, 'ctx, 'env>(
|
|||
|
||||
let result = bd.build_float_add(lhs, rhs, "add_float");
|
||||
|
||||
let is_finite = call_bitcode_fn(env, &[result.into()], "is_finite_").into_int_value();
|
||||
let is_finite =
|
||||
call_bitcode_fn(NumIsFinite, env, &[result.into()], &bitcode::MATH_IS_FINITE)
|
||||
.into_int_value();
|
||||
|
||||
let then_block = context.append_basic_block(parent, "then_block");
|
||||
let throw_block = context.append_basic_block(parent, "throw_block");
|
||||
|
|
@ -2733,8 +2735,10 @@ fn build_float_unary_op<'a, 'ctx, 'env>(
|
|||
env.context.i64_type(),
|
||||
"num_floor",
|
||||
),
|
||||
NumIsFinite => call_bitcode_fn(env, &[arg.into()], "is_finite_"),
|
||||
NumAtan => call_bitcode_fn(env, &[arg.into()], "atan_"),
|
||||
NumIsFinite => call_bitcode_fn(env, &[arg.into()], &bitcode::MATH_IS_FINITE),
|
||||
NumAtan => call_bitcode_fn(env, &[arg.into()], &bitcode::MATH_ATAN),
|
||||
NumAcos => call_bitcode_fn(env, &[arg.into()], &bitcode::MATH_ACOS),
|
||||
NumAsin => call_bitcode_fn(env, &[arg.into()], &bitcode::MATH_ASIN),
|
||||
_ => {
|
||||
unreachable!("Unrecognized int unary operation: {:?}", op);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue