Project

General

Profile

« Previous | Next » 

Revision d948c0bd

Added by Pierre-Loïc Garoche over 6 years ago

math fun lib support in MPFR

View differences:

src/backends/C/c_backend_src.ml
347 347
  | MStep ([i0], i, vl) when Basic_library.is_value_internal_fun (mk_val (Fun (i, vl)) i0.var_type)  ->
348 348
    pp_machine_instr dependencies m self fmt 
349 349
      (update_instr_desc instr (MLocalAssign (i0, mk_val (Fun (i, vl)) i0.var_type)))
350
  | MStep (il, i, vl) when !Options.mpfr && Mpfr.is_homomorphic_fun i ->
351
     pp_instance_call m self fmt i vl il
350 352
  | MStep ([i0], i, vl) when has_c_prototype i dependencies -> 
351 353
    fprintf fmt "%a = %s(%a);" 
352 354
      (pp_c_val m self (pp_c_var_read m)) (mk_val (Var i0) i0.var_type)
353 355
      i
354 356
      (Utils.fprintf_list ~sep:", " (pp_c_val m self (pp_c_var_read m))) vl
355
  | MStep (il, i, vl) when Mpfr.is_homomorphic_fun i ->
356
    pp_instance_call m self fmt i vl il
357 357
  | MStep (il, i, vl) ->
358 358
    pp_basic_instance_call m self fmt i vl il
359 359
  | MBranch (_, []) -> (Format.eprintf "internal error: C_backend_src.pp_machine_instr %a@." (pp_instr m) instr; assert false)

Also available in: Unified diff