let do_next_step () =
Synchro.next_step tr
(* future_configurations.(pred future_depth) pop_configurations.(pred pop_depth); *)
pof_configurations.(pred pof_depth) past_configurations.(pred past_depth);
(* rotates the configurations *)
(* let new_config = pop_configurations.(pred pop_depth) in *)
(* Array.blit pop_configurations 0 pop_configurations 1 (pred pop_depth); *)
(* pop_configurations.(0) <- future_configurations.(0); *)
(* Array.blit future_configurations 1 future_configurations 0 (pred future_depth); *)
(* future_configurations.(pred future_depth) <- new_config *)
let new_config = past_configurations.(pred past_depth) in
Array.blit past_configurations 0 past_configurations 1 (pred past_depth);
past_configurations.(0) <- pof_configurations.(0);
Array.blit pof_configurations 1 pof_configurations 0 (pred pof_depth);
pof_configurations.(pred pof_depth) <- new_config