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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Implift/arrays_of_lists_utilities.ads, Revision 1.1

1.1     ! maekawa     1: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
        !             2: with Standard_Integer_VecVecs;           use Standard_Integer_VecVecs;
        !             3: with Lists_of_Integer_Vectors;           use Lists_of_Integer_Vectors;
        !             4: with Arrays_of_Integer_Vector_Lists;     use Arrays_of_Integer_Vector_Lists;
        !             5:
        !             6: package Arrays_of_Lists_Utilities is
        !             7:
        !             8: -- DESCRIPTION :
        !             9: --   This package offers some utilities for working with
        !            10: --   arrays of lists of integer vectors.
        !            11:
        !            12:   function All_Equal ( al : Array_of_Lists ) return boolean;
        !            13:
        !            14:   -- DESCRIPTION :
        !            15:   --   returns true if all lists in al are the same.
        !            16:
        !            17:   function Interchange2 ( al : Array_of_Lists ) return Array_of_Lists;
        !            18:
        !            19:   -- DESCRIPTION :
        !            20:   --   Returns a permuted array such that if the original array contains
        !            21:   --   a list of length less than or equal to 2, the permuted array has
        !            22:   --   this list on its first position.
        !            23:
        !            24:   function Index2 ( al : Array_of_Lists ) return integer;
        !            25:
        !            26:   -- DESCRIPTION :
        !            27:   --   Returns the index of the list in the array which has a length less
        !            28:   --   than or equal to 2.  If no such list can be found, then al'first
        !            29:   --   will be returned.
        !            30:
        !            31:   procedure Mixture ( al : in Array_of_Lists; perm,mix : out Link_to_Vector );
        !            32:
        !            33:   -- DESCRIPTION :
        !            34:   --   Computes the mixture of the sets in al: mix(i) indicates how many
        !            35:   --   times the ith list, given by al(perm(i)), occurs in the array.
        !            36:   --   The list with minimal occurence stands in front.
        !            37:
        !            38:   function Permute ( perm : Vector; al : in Array_of_Lists )
        !            39:                    return Array_of_Lists;
        !            40:
        !            41:   -- DESCRIPTION :
        !            42:   --   The returned array is permuted according to the permutation vector.
        !            43:
        !            44:   function Different_Points ( al : Array_of_Lists ) return List;
        !            45:
        !            46:   -- DESCRIPTION :
        !            47:   --   Returns a list of all different points from the lists
        !            48:   --   of al, the first list will not be considered.
        !            49:
        !            50:   function Different_Points ( al : Array_of_Lists ) return Array_of_Lists;
        !            51:
        !            52:   -- DESCRIPTION :
        !            53:   --   Returns lists of all different points from the lists
        !            54:   --   of al, the first list will not be considered.
        !            55:
        !            56:   procedure Remove_Duplicates ( al : in out Array_of_Lists );
        !            57:
        !            58:   -- DESCRIPTION :
        !            59:   --   Except for the first list, all duplicates will be removed from
        !            60:   --   the lists in al.
        !            61:
        !            62:   procedure Shift ( al : in out Array_of_Lists; shiftvecs : in VecVec );
        !            63:   function  Shift ( al : Array_of_Lists; shiftvecs : VecVec )
        !            64:                   return Array_of_Lists;
        !            65:
        !            66:   -- DESCRIPTION :
        !            67:   --   All lists in al will be shifted along the degrees in shiftvecs.
        !            68:
        !            69:   -- REQUIRED :
        !            70:   --   The ranges of shiftvecs and al are the same.
        !            71:
        !            72:   procedure Projection ( al : in Array_of_Lists; v : in Vector;
        !            73:                          ind : integer; res : in out Array_of_Lists;
        !            74:                          degenerate : out boolean );
        !            75:   -- DESCRIPTION :
        !            76:   --   The first list in al will not be considered.
        !            77:   --   after termination:
        !            78:   --   1. degenerate = false:
        !            79:   --    res is an array of degrees lists where for all points x in
        !            80:   --    the list res(i) the following holds: < x , v > = pv, where
        !            81:   --    pv equals the support of the list res(i) in the direction v.
        !            82:   --    The ind-entry of each point in the lists has been deleted.
        !            83:   --    Duplicates have been removed from the lists.
        !            84:   --   2. degenerate = true:
        !            85:   --    if there exists an entry i for which Length_Of(res(i)) = 1.
        !            86:
        !            87:   -- REQUIRED : al'first = res'first and al'last = res'last + 1
        !            88:
        !            89: end Arrays_of_Lists_Utilities;

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