Skip to content
Snippets Groups Projects
Commit 6e618918 authored by Thorsten Wißmann's avatar Thorsten Wißmann :guitar:
Browse files

Do not throw all CL coalitions in one bset

As ocaml is not purely functional, the following code snippets have
different semantics:

    List.map (List.fold_left tmpf (bsetMakeRealEmpty ()))
             (List.map S.elements intlist)

vs

    List.map (fun x -> List.fold_left tmpf (bsetMakeRealEmpty ()) x)
             (List.map S.elements intlist)

The former code calls bsetMakeRealEmpty only once, but the latter calls
ot for each element of the list returned by the (map ... intlist).

Because of this, all coalitions were merged into one big set, i.e.
there always was only one coalition: the union of all maximal disjoint
sets. This of course triggered bad behaviour, which is fixed now by this
commit.

The code is unreadable anyway and will be improved a lot by the
following commit.

This closes #13
parent 77a804ab
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment