let get_next_bycase func status states_bycase =
let st_bc,tr_bc = mk_empty_pre_or_post_bycase () in
let (_,trans_l) = Data_for_ltl.getAutomata() in
List.iter
(fun t ->
if (isCrossable t func status) then
begin
st_bc.(t.start.nums).(t.stop.nums)<- true ;
tr_bc.(t.start.nums).(t.numt)<- true
end
)
trans_l;
let res_st_bc,res_tr_bc = mk_empty_pre_or_post_bycase () in
Array.iteri
(fun init_st init_st_assocs ->
Array.iteri
(fun end_st b ->
if b then
begin
res_st_bc.(init_st) <- (bool_array_or (res_st_bc.(init_st)) (st_bc.(end_st)) );
res_tr_bc.(init_st) <- (bool_array_or (res_tr_bc.(init_st)) (tr_bc.(end_st)) );
end
)
init_st_assocs;
)
states_bycase;
(res_st_bc,res_tr_bc)