Project

General

Profile

« Previous | Next » 

Revision 6e618918

ID6e618918d31464ad719c8cc00ec429d4e9fd719d
Parent 77a804ab
Child 202433a6

Added by Thorsten WiƟmann over 3 years ago

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

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences