[BACK]Return to floating_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/floating_pruning_methods.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Floating_Numbers;          use Standard_Floating_Numbers;
                      2: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      3: with Standard_Floating_Vectors;
                      4: with Arrays_of_Floating_Vector_Lists;    use Arrays_of_Floating_Vector_Lists;
                      5: with Floating_Faces_of_Polytope;         use Floating_Faces_of_Polytope;
                      6: with Floating_Mixed_Subdivisions;        use Floating_Mixed_Subdivisions;
                      7:
                      8: package Floating_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
                     27:                ( n : in natural; mix : in Vector; fa : in Array_of_Faces;
                     28:                  lifted : in Array_of_Lists; tol : in double_float;
                     29:                  nbsucc,nbfail : in out Standard_Floating_Vectors.Vector;
                     30:                  mixsub : out Mixed_Subdivision );
                     31:
                     32:   procedure Create
                     33:                ( n : in natural; mix : in Vector; fa : in Array_of_Faces;
                     34:                  lifted : in Array_of_Lists; tol : in double_float;
                     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:   --   tol       tolerance on the precision;
                     51:
                     52:   -- ON RETURN :
                     53:   --   nbsucc    number of times a face-face combination has passed the test,
                     54:   --             at each level;
                     55:   --   nbfail    number of times a face-face combinations has failed to pass
                     56:   --             the test, at each level;
                     57:   --   mixsub    collection of cells which contribute to the mixed volume.
                     58:
                     59: end Floating_Pruning_Methods;

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