@@ -183,7 +183,7 @@ let translate output_prefix loc (cxt : Lam_compile_context.t)
183
183
E. int32_minus E. zero_int_literal (Ext_list. singleton_exn args)
184
184
| Pnegint64 -> Js_long. neg args
185
185
| Pnegfloat -> E. float_minus E. zero_float_lit (Ext_list. singleton_exn args)
186
- | Pnegbigint -> E. bigint_minus E. zero_bigint_literal (Ext_list. singleton_exn args)
186
+ | Pnegbigint -> E. bigint_op Minus E. zero_bigint_literal (Ext_list. singleton_exn args)
187
187
(* Negate boxed int end*)
188
188
(* Int addition and subtraction *)
189
189
| Paddint -> (
@@ -192,36 +192,36 @@ let translate output_prefix loc (cxt : Lam_compile_context.t)
192
192
| Paddfloat -> (
193
193
match args with [ e1; e2 ] -> E. float_add e1 e2 | _ -> assert false )
194
194
| Paddbigint -> (
195
- match args with [ e1; e2 ] -> E. bigint_add e1 e2 | _ -> assert false )
195
+ match args with [ e1; e2 ] -> E. bigint_op Plus e1 e2 | _ -> assert false )
196
196
| Psubint -> (
197
197
match args with [ e1; e2 ] -> E. int32_minus e1 e2 | _ -> assert false )
198
198
| Psubint64 -> Js_long. sub args
199
199
| Psubfloat -> (
200
200
match args with [ e1; e2 ] -> E. float_minus e1 e2 | _ -> assert false )
201
201
| Psubbigint -> (
202
- match args with [ e1; e2 ] -> E. bigint_minus e1 e2 | _ -> assert false )
202
+ match args with [ e1; e2 ] -> E. bigint_op Minus e1 e2 | _ -> assert false )
203
203
| Pmulint -> (
204
204
match args with [ e1; e2 ] -> E. int32_mul e1 e2 | _ -> assert false )
205
205
| Pmulint64 -> Js_long. mul args
206
206
| Pmulfloat -> (
207
207
match args with [ e1; e2 ] -> E. float_mul e1 e2 | _ -> assert false )
208
208
| Pmulbigint -> (
209
- match args with [ e1; e2 ] -> E. bigint_mul e1 e2 | _ -> assert false )
209
+ match args with [ e1; e2 ] -> E. bigint_op Mul e1 e2 | _ -> assert false )
210
210
| Pdivfloat -> (
211
211
match args with [ e1; e2 ] -> E. float_div e1 e2 | _ -> assert false )
212
212
| Pdivint -> (
213
213
match args with
214
214
| [ e1; e2 ] -> E. int32_div ~checked: ! Js_config. check_div_by_zero e1 e2
215
215
| _ -> assert false )
216
216
| Pdivint64 -> Js_long. div args
217
- | Pdivbigint -> (match args with [ e1; e2 ] -> E. bigint_div e1 e2 | _ -> assert false )
217
+ | Pdivbigint -> (match args with [ e1; e2 ] -> E. bigint_op Div e1 e2 | _ -> assert false )
218
218
| Pmodint -> (
219
219
match args with
220
220
| [ e1; e2 ] -> E. int32_mod ~checked: ! Js_config. check_div_by_zero e1 e2
221
221
| _ -> assert false )
222
222
| Pmodint64 -> Js_long. mod_ args
223
- | Pmodbigint -> (match args with [ e1; e2 ] -> E. bigint_mod e1 e2 | _ -> assert false )
224
- | Ppowbigint -> (match args with [ e1; e2 ] -> E. bigint_pow e1 e2 | _ -> assert false )
223
+ | Pmodbigint -> (match args with [ e1; e2 ] -> E. bigint_op Mod e1 e2 | _ -> assert false )
224
+ | Ppowbigint -> (match args with [ e1; e2 ] -> E. bigint_op Pow e1 e2 | _ -> assert false )
225
225
| Plslint -> (
226
226
match args with [ e1; e2 ] -> E. int32_lsl e1 e2 | _ -> assert false )
227
227
| Plslint64 -> Js_long. lsl_ args
0 commit comments