Skip to content
Snippets Groups Projects
Commit 8dc7935d authored by Allan Blanchard's avatar Allan Blanchard
Browse files

[wp] Supports sqrt/f

parent ecfeaf24
No related branches found
No related tags found
No related merge requests found
...@@ -57,6 +57,7 @@ let fq64 = extern_f ~library ~result:t64 ~link:(link "to_f64") "q64" ...@@ -57,6 +57,7 @@ let fq64 = extern_f ~library ~result:t64 ~link:(link "to_f64") "q64"
let f_model ft = extern_f ~library ~result:(ftau ft) "model_%a" pp_suffix ft let f_model ft = extern_f ~library ~result:(ftau ft) "model_%a" pp_suffix ft
let f_delta ft = extern_f ~library ~result:(ftau ft) "delta_%a" pp_suffix ft let f_delta ft = extern_f ~library ~result:(ftau ft) "delta_%a" pp_suffix ft
let f_epsilon ft = extern_f ~library ~result:(ftau ft) "epsilon_%a" pp_suffix ft let f_epsilon ft = extern_f ~library ~result:(ftau ft) "epsilon_%a" pp_suffix ft
let f_sqrt ft = extern_f ~library ~result:(ftau ft) "sqrt_%a" pp_suffix ft
(* -------------------------------------------------------------------------- *) (* -------------------------------------------------------------------------- *)
(* --- Model Setting --- *) (* --- Model Setting --- *)
...@@ -385,12 +386,20 @@ let () = Context.register ...@@ -385,12 +386,20 @@ let () = Context.register
(* --- Models --- *) (* --- Models --- *)
(* -------------------------------------------------------------------------- *) (* -------------------------------------------------------------------------- *)
let register_c_acsl_builtin name lfun ft =
let name = match ft with
| Float32 -> name ^ "f"
| Float64 -> name
in
LogicBuiltins.add_builtin name [F ft] (lfun ft)
let () = let () =
let open LogicBuiltins in let open LogicBuiltins in
let register_builtin ft = let register_builtin ft =
add_builtin "\\model" [F ft] (f_model ft) ; add_builtin "\\model" [F ft] (f_model ft) ;
add_builtin "\\delta" [F ft] (f_delta ft) ; add_builtin "\\delta" [F ft] (f_delta ft) ;
add_builtin "\\epsilon" [F ft] (f_epsilon ft) ; add_builtin "\\epsilon" [F ft] (f_epsilon ft) ;
register_c_acsl_builtin "sqrt" f_sqrt ft
in in
register_builtin Float32 ; register_builtin Float32 ;
register_builtin Float64 register_builtin Float64
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment