From 851fdc0711d1184316ee5cba5c6fc9ec81a5ecef Mon Sep 17 00:00:00 2001 From: Erwan Jahier <erwan.jahier@univ-grenoble-alpes.fr> Date: Sun, 10 Mar 2019 21:10:39 +0100 Subject: [PATCH] Fix the result of -rif when not used with custum demon --- bin/sasa.ml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/bin/sasa.ml b/bin/sasa.ml index d07e0f99..776909b0 100644 --- a/bin/sasa.ml +++ b/bin/sasa.ml @@ -1,4 +1,4 @@ -(* Time-stamp: <modified the 10/03/2019 (at 16:18) by Erwan Jahier> *) +(* Time-stamp: <modified the 10/03/2019 (at 21:08) by Erwan Jahier> *) (* XXX Je pourrais utiliser Lwt pour rendre step non-bloquant, ce qui permettrait d'accelerer la simu sur les machines qui ont plusieurs @@ -67,8 +67,16 @@ exception Silent of int let (print_step : int -> int -> Env.t -> Process.t list -> string -> unit) = fun n i e pl str -> if SasArg.args.rif then ( - Printf.eprintf "\n#step %s\n" (string_of_int (n-i+1)) ; - Printf.eprintf "%s #outs " str; flush stderr; + if SasArg.args.demon = Demon.Custom then ( + (* in custom mode, to be able to talk with lurette, this should not be + printed on stdout + *) + Printf.eprintf "\n#step %s\n" (string_of_int (n-i+1)) ; + Printf.eprintf "%s #outs " str; flush stderr + ) else ( + Printf.printf "\n#step %s\n" (string_of_int (n-i+1)) ; + Printf.printf "%s #outs " str; flush stdout + ); Printf.printf "%s\n" (StringOf.env_rif e pl); flush stdout ) @@ -108,7 +116,7 @@ let rec (simu: int -> int -> Process.t list -> (* update the env *) let ne = List.fold_left update_env e lenv_list in - let al_str = if args.demon = Demon.Custom then + let al_str = if args.rif then input_string else "("^String.concat "," @@ -119,7 +127,7 @@ let rec (simu: int -> int -> Process.t list -> (* | [_] -> () *) | [] -> assert false | _ -> if i > 0 then simu n (i-1) pl pl_n ne else ( - if SasArg.args.rif then ( + if SasArg.args.rif && args.demon = Custom then ( print_string "q\n"; flush stdout )) @@ -169,6 +177,6 @@ let () = let str = if SasArg.args.rif then "#" else "" in Printf.printf "%sThis algo is silent after %i steps\n" str i ; flush stdout; - if SasArg.args.rif then ( + if SasArg.args.rif && args.demon = Custom then ( print_string "q\n"; flush stdout ) -- GitLab