Module type Emc.S

module type S = sig .. end
a common interface for ZDD and DLX

type t 
val create : ?primary:int -> bool array array -> t
construct the algorithm corresponding structure doubly linked matrix for dlx and a zdd for zdd
val find_solution : t -> Emc.solution
raises Not_found if the problem has no solution
val iter_solution : (Emc.solution -> unit) -> t -> unit
Emc.iter_solution f p applies f in turn to each problem p solutions
val count_solutions : t -> int
Return the number of solutions to this problem
module type ARITH = sig .. end
simple arithmetic module with big integers
module Count: 
functor (A : ARITH) -> sig .. end
Functor usage of arithmetics