Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Product/partitions_of_sets_of_unknowns.ads, Revision 1.1
1.1 ! maekawa 1: with Sets_of_Unknowns; use Sets_of_Unknowns;
! 2:
! 3: package Partitions_of_Sets_of_Unknowns is
! 4:
! 5: -- DESCRIPTION :
! 6: -- This package provides a data abstraction for enumerating all
! 7: -- partitions of a given set of unknowns.
! 8:
! 9: type partition is array ( positive range <> ) of Set;
! 10:
! 11: -- CREATORS :
! 12:
! 13: procedure Create ( p : in out Partition; n : in natural );
! 14:
! 15: -- DESCRIPTION :
! 16: -- Creates all sets in the partition, to be ready to contain
! 17: -- at most n unknowns.
! 18:
! 19: function Create ( p : Partition ) return Partition;
! 20:
! 21: -- DESCRIPTION :
! 22: -- Returns a new partition which is an exact copy of the given one.
! 23:
! 24: -- CONSTRUCTORS :
! 25:
! 26: generic
! 27: with procedure Process ( p : in Partition; continue : out boolean );
! 28: procedure Generate_Partitions ( s : in Set );
! 29:
! 30: -- DESCRIPTION :
! 31: -- Generates all partitions of a given set of unknowns.
! 32: -- The procedure Process is invoked each time a new partition is
! 33: -- generated. The generation can be stopped by setting
! 34: -- continue to false. Otherwise, when continue is set to true,
! 35: -- the generation continues.
! 36:
! 37: -- NOTE :
! 38: -- While processing the partition, it might be needed to copy
! 39: -- the resulting partition, as sharing occurs.
! 40:
! 41: -- SELECTOR :
! 42:
! 43: function Number_of_Partitions ( n : natural ) return natural;
! 44:
! 45: -- DESCRIPTION :
! 46: -- Returns the number of partitions of a set of n unknowns.
! 47:
! 48: -- DESTRUCTOR :
! 49:
! 50: procedure Clear ( p : in out Partition );
! 51:
! 52: -- DESCRIPTION :
! 53: -- Deallocates the occupied memory.
! 54:
! 55: end Partitions_of_Sets_of_Unknowns;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>