Skip to content
Snippets Groups Projects
Commit 2c5785a8 authored by erwan's avatar erwan
Browse files

Print the last step

parent ac7017da
No related branches found
No related tags found
No related merge requests found
(* Time-stamp: <modified the 07/03/2019 (at 16:23) by Erwan> *) (* Time-stamp: <modified the 08/03/2019 (at 16:44) by Erwan Jahier> *)
(* XXX Je pourrais utiliser Lwt pour rendre step non-bloquant, ce qui (* XXX Je pourrais utiliser Lwt pour rendre step non-bloquant, ce qui
permettrait d'accelerer la simu sur les machines qui ont plusieurs permettrait d'accelerer la simu sur les machines qui ont plusieurs
...@@ -86,7 +86,10 @@ let rec (simu: int -> int -> Process.t list -> ...@@ -86,7 +86,10 @@ let rec (simu: int -> int -> Process.t list ->
if al <> [] then al::acc else acc) if al <> [] then al::acc else acc)
[] pl_n [] pl_n
in in
if (all = []) then raise (Silent i); if (all = []) then (
Printf.eprintf "step %s: %s\n" (string_of_int (n-i+1)) (StringOf.env e pl);
raise (Silent (n-i+1))
);
let al = Demon.f args.demon all in let al = Demon.f args.demon all in
(* Do the steps *) (* Do the steps *)
...@@ -103,10 +106,10 @@ let rec (simu: int -> int -> Process.t list -> ...@@ -103,10 +106,10 @@ let rec (simu: int -> int -> Process.t list ->
let al_str = let al_str =
String.concat "," (List.map (fun (p,_,_a) -> Printf.sprintf "%s" p.pid) al) String.concat "," (List.map (fun (p,_,_a) -> Printf.sprintf "%s" p.pid) al)
in in
Printf.eprintf "step %s: %s (%s)\n" (string_of_int (n-i)) (StringOf.env e pl) al_str; Printf.eprintf "step %s: %s (%s)\n" (string_of_int (n-i+1)) (StringOf.env e pl) al_str;
match all with match all with
(* | [_] -> () *) (* | [_] -> () *)
| [] -> raise (Silent i) | [] -> assert false
| _ -> if i > 0 then simu n (i-1) pl pl_n ne else () | _ -> if i > 0 then simu n (i-1) pl pl_n ne else ()
let () = let () =
......
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