*)
let num_more_args = 2;;
+let convergent_dummy = `N ~-1;
+
type problem =
{ freshno: int
; div: i_var option (* None = bomb *)
^"(* DIVERGENT *)" ^ nl
^" "^ (match div with None -> "None" | Some div -> "(Some\""^ print ~l (div :> nf) ^"\")") ^ nl
^" (* CONVERGENT *) [" ^ nl ^ " "
- ^ String.concat "\n " (List.map (fun t -> "(* _ *) " ^ (if t = `N (-1) then "" else "\""^ print ~l (t :> nf) ^"\";")) conv) ^
+ ^ String.concat "\n " (List.map (fun t -> "(* _ *) " ^ (if t = convergent_dummy then "" else "\""^ print ~l (t :> nf) ^"\";")) conv) ^
(if conv = [] then "" else nl)
^ "] (* NUMERIC *) [" ^ nl ^ " "
^ String.concat "\n " (List.mapi (fun i t -> " (* "^ string_of_int i ^" *) \"" ^ print ~l (t :> nf) ^ "\";") ps)
let _ = List.find (fun h -> hd_of t = Some h) showstoppers in
t)
with Not_found -> match hd_of t with
- | None -> assert (t = `N ~-1); t
+ | None -> assert (t = convergent_dummy); t
| Some h ->
prerr_endline ("FREEZING " ^ string_of_var h);
- `N ~-1 (* convergent dummy*)
+ convergent_dummy
) (List.combine showstoppers_conv p.conv) in
List.iter
(fun bs ->