output_string ch (String.concat "\n" (List.map dot_of_equivalence_class s));
output_string ch "\n";
(match processing with
None -> ()
| Some (repr,rel,repr') ->
output_string ch (String.concat "\n" (List.map dot_of_equivalence_class s));
output_string ch "\n";
(match processing with
None -> ()
| Some (repr,rel,repr') ->
-let test set rel candidate repr =
- ps_of_set ~processing:(candidate,rel,repr) set;
+let test to_be_considered_and_now set rel candidate repr =
+ ps_of_set to_be_considered_and_now ~processing:(candidate,rel,repr) set;
let rec aux =
function
[] -> raise Not_found
| (repr,others,leq,geq) as eqclass :: tl ->
let rec aux =
function
[] -> raise Not_found
| (repr,others,leq,geq) as eqclass :: tl ->
(repr,others@[candidate],leq,geq)::tl
else
eqclass::(aux tl)
(repr,others@[candidate],leq,geq)::tl
else
eqclass::(aux tl)
-let locate ((repr,_,leq,geq) as node) set =
+let locate to_be_considered_and_now ((repr,_,leq,geq) as node) set =
let rec aux =
function
[] -> ()
| (repr',_,leq',geq') as node' :: tl ->
if repr = repr' then ()
let rec aux =
function
[] -> ()
| (repr',_,leq',geq') as node' :: tl ->
if repr = repr' then ()
let geq = ref [] in
let node = candidate,[],leq,geq in
let set = node::set in
let geq = ref [] in
let node = candidate,[],leq,geq in
let set = node::set in
begin
print_endline ("PUNTO FISSO RAGGIUNTO! i=" ^ string_of_int i);
print_endline (string_of_set set ^ "\n----------------");
begin
print_endline ("PUNTO FISSO RAGGIUNTO! i=" ^ string_of_int i);
print_endline (string_of_set set ^ "\n----------------");
print_endline ("PRIMA ITERAZIONE, i=0, j=0");
print_endline (string_of_set set ^ "\n----------------");
ignore (Unix.system "rm -f log");
print_endline ("PRIMA ITERAZIONE, i=0, j=0");
print_endline (string_of_set set ^ "\n----------------");
ignore (Unix.system "rm -f log");