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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Stalift/integer_pruning_methods.ads, Revision 1.1

1.1     ! maekawa     1: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
        !             2: with Standard_Floating_Vectors;
        !             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: with Integer_Faces_of_Polytope;          use Integer_Faces_of_Polytope;
        !             6: with Integer_Mixed_Subdivisions;         use Integer_Mixed_Subdivisions;
        !             7:
        !             8: package Integer_Pruning_Methods is
        !             9:
        !            10: -- DESCRIPTION :
        !            11: --   This package contains the creators of a regular mixed subdivision,
        !            12: --   based on the static lifting algorithm, for computing only those cells
        !            13: --   of a certain type, in particular the mixed cells.
        !            14: --   There are facilities for computing only the generating cells and for
        !            15: --   computing only the stable mixed cells.
        !            16:
        !            17:   generic
        !            18:
        !            19:     with procedure Process ( mic : in Mixed_Cell; continue : out boolean );
        !            20:
        !            21:     -- DESCRIPTION :
        !            22:     --   This procedure will be invoked after each computation of a new cell.
        !            23:     --   If the parameter continue is set on false, then the computation will
        !            24:     --   be stopped, otherwise the creation continues.
        !            25:
        !            26:   procedure Gen1_Create_CS
        !            27:                ( n : in natural; mix : in Vector; fa : in Array_of_Faces;
        !            28:                  lifted : in Array_of_Lists;
        !            29:                  nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
        !            30:                  mixsub : out Mixed_Subdivision );
        !            31:
        !            32:   procedure Create_CS
        !            33:                ( n : in natural; mix : in Vector; fa : in Array_of_Faces;
        !            34:                  lifted : in Array_of_Lists;
        !            35:                  nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
        !            36:                  mixsub : out Mixed_Subdivision );
        !            37:
        !            38:   -- DESCRIPTION :
        !            39:   --   Creates a mixed subdivision with a criterium to check which
        !            40:   --   face-face combinations can lead to a cell which contributes to
        !            41:   --   the mixed volume.
        !            42:
        !            43:   -- ON ENTRY :
        !            44:   --   n         dimension before lifting;
        !            45:   --   mix       type of mixture: indicates how many times each polytope
        !            46:   --             occurs in the supports;
        !            47:   --   fa        faces of the lower hull of the lifted point sets:
        !            48:   --              fa(i) contains the mix(i)-faces of conv(lifted(i));
        !            49:   --   lifted    the lifted points;
        !            50:
        !            51:   -- ON RETURN :
        !            52:   --   nbsucc    number of times a face-face combination has passed the test,
        !            53:   --             at each level;
        !            54:   --   nbfail    number of times a face-face combinations has failed to pass
        !            55:   --             the test, at each level;
        !            56:   --   mixsub    collection of cells which contribute to the mixed volume.
        !            57:
        !            58:   procedure New_Create_CS
        !            59:                ( n : in natural; mix : in Vector; fa : in Array_of_Faces;
        !            60:                  lifted : in Array_of_Lists;
        !            61:                  nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
        !            62:                  mixsub : out Mixed_Subdivision );
        !            63:
        !            64:   -- DESCRIPTION :
        !            65:   --   Does the same at the Create_CS, only with a new pruning method.
        !            66:
        !            67:   procedure Create_CCS
        !            68:                ( n : in natural; mix : in Vector; fa : in Array_of_Faces;
        !            69:                  lifted : in Array_of_Lists;
        !            70:                  nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
        !            71:                  normals,suppvals : in out List;
        !            72:                  mixsub : out Mixed_Subdivision );
        !            73:
        !            74:   -- DESCRIPTION :
        !            75:   --   Construction of the mixed subdivision by constraint complementary
        !            76:   --   slackness: faces supported by the list of normals pass freely.
        !            77:   --   This list of normals is updated each time new mixed cells are found.
        !            78:   --   Following are the descriptions of the new parameters.
        !            79:
        !            80:   -- ON ENTRY :
        !            81:   --   normals   list of inner normals on the lower hull of the lifted points;
        !            82:   --   suppvals  corresponding vectors which contain the supporting values
        !            83:   --             for each component.
        !            84:
        !            85:   -- ON RETURN :
        !            86:   --   normals   contains the inner normals of the mixed cells;
        !            87:   --   suppvals  corresponding vectors of support values.
        !            88:
        !            89: end Integer_Pruning_Methods;

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