with Standard_Integer_Matrices; use Standard_Integer_Matrices; with Sets_of_Unknowns; use Sets_of_Unknowns; package Degree_Sets_Tables is -- DESCRIPTION : -- This package provides facilities for computing generalized permanents, -- based on a set structure. -- DATASTRUCTURES : type Array_of_Sets is array ( integer range <> ) of Set; type Degree_Sets_Table ( n,m : natural ) is record s : Array_of_Sets(1..m); a : Matrix(1..n,1..m); end record; -- CONSTRUCTOR : function Create return Degree_Sets_Table; -- DESCRIPTION : -- Selects the information from the package Set_Structure to create -- a degree set structure table. -- PERMANENT COMPUTATIONS : function Permanent ( dst : Degree_Sets_Table ) return natural; -- DESCRIPTION : -- Returns the generalized permanent, based on the set structure. -- DESTRUCTOR : procedure Clear ( ase : in out Array_of_Sets ); procedure Clear ( dst : in out Degree_Sets_Table ); -- DESCRIPTION : -- Deallocates the space occupied by the array of sets. end Degree_Sets_Tables;