[BACK]Return to symmetry_group.ads CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Root_Counts / Symmetry

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Symmetry/symmetry_group.ads, Revision 1.1

1.1     ! maekawa     1: with Generic_Lists;
        !             2: with Permutations;                       use Permutations;
        !             3:
        !             4: package Symmetry_Group is
        !             5:
        !             6: -- DESCRIPTION :
        !             7: --   This package offers operations on elements of a symmetry group.
        !             8:
        !             9:   package Lists_of_Permutations is new Generic_Lists(Link_to_Permutation);
        !            10:   type List_of_Permutations is new Lists_of_Permutations.List;
        !            11:
        !            12: -- CONSTRUCTORS :
        !            13:
        !            14:   procedure Add ( l : in out List_of_Permutations; p : in Permutation );
        !            15:
        !            16:   -- DESCRIPTION :
        !            17:   --   Adds the permutation p to the front of the list l.
        !            18:
        !            19:   procedure Append ( first,last : in out List_Of_Permutations;
        !            20:                      p : in Permutation );
        !            21:
        !            22:   -- DESCRIPTION :
        !            23:   --   appends the permutation p to the list l1
        !            24:
        !            25:   -- ON ENTRY :
        !            26:   --   first        a list of permutations;
        !            27:   --   last         a pointer to the last element of the list first;
        !            28:   --   p            a permutation.
        !            29:
        !            30:   -- ON RETURN :
        !            31:   --   first        the list to which p has been appended;
        !            32:   --   last         points to the last element of first.
        !            33:
        !            34:   function Union ( a,b : List_of_Permutations ) return List_of_Permutations;
        !            35:
        !            36:   -- DESCRIPTION :
        !            37:   --   Returns the union of the two groups.
        !            38:
        !            39:   function SymGrp ( n : natural ) return List_of_Permutations;
        !            40:
        !            41:    -- DESCRIPTION :
        !            42:    --   Return the transpositions that generate the full symmetry group
        !            43:    --   of all permutations.
        !            44:
        !            45:   function Generate ( g : List_of_Permutations ) return List_Of_Permutations;
        !            46:
        !            47:   -- DESCRIPTION :
        !            48:   --   This functions returns all possible permutations generated by g.
        !            49:
        !            50: -- SELECTORS :
        !            51:
        !            52:   function Number ( l : List_of_Permutations ) return natural;
        !            53:
        !            54:   -- DESCRIPTION :
        !            55:   --   Returns the number of elements in l.
        !            56:
        !            57:   function Is_In ( l : List_of_Permutations; p : Permutation ) return boolean;
        !            58:
        !            59:   -- DESCRIPTION :
        !            60:   --   Returns true if the permutation p belongs to the list l, returns false
        !            61:   --   when this is not the case.
        !            62:
        !            63:   generic
        !            64:
        !            65:     with procedure Process ( p : in Permutation; continue : in out boolean );
        !            66:
        !            67:   procedure Iterator ( l : in List_of_Permutations );
        !            68:
        !            69:   -- DESCRIPTION :
        !            70:   --   This iterator allows to enumerate all the elements
        !            71:   --   in the list of permutations.
        !            72:
        !            73: -- DESTRUCTOR :
        !            74:
        !            75:   procedure Clear ( l : in out List_of_Permutations );
        !            76:
        !            77:   -- DESCRIPTION :
        !            78:   --   Deallocates the memory space occupied by the list of permutations.
        !            79:
        !            80: end Symmetry_Group;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>