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

Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/dynamic_triangulations.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      2: with Lists_of_Integer_Vectors;           use Lists_of_Integer_Vectors;
                      3: with Triangulations;                     use Triangulations;
                      4:
                      5: package Dynamic_Triangulations is
                      6:
                      7: -- DESCRIPTION :
                      8: --   This package offers some implementations of the dynamic lifting
                      9: --   algorithm applied to the unmixed case.
                     10:
                     11: -- OPTIONS :
                     12: --   1. choice of the order of the points
                     13: --   2. for vertices or not: allows to add interior points
                     14: --   3. with maximum value on the lifting function or not
                     15:
                     16: -- BASIC VERSION : WITHOUT OUTPUT GENERICS :
                     17:
                     18:   procedure Dynamic_Lifting
                     19:                 ( l : in List; order,inter : in boolean;
                     20:                   maxli : in natural; lifted,lifted_last : in out List;
                     21:                   t : in out Triangulation );
                     22:
                     23:   -- DESCRIPTION :
                     24:   --   Application of the dynamic lifting algorithm to the points in l.
                     25:
                     26:   -- ON ENTRY :
                     27:   --   l          list of integer vectors;
                     28:   --   order      if true, then the points are already ordered and will
                     29:   --              be processed like they occur in the list,
                     30:   --              if false, then a random order will be chosen;
                     31:   --   inter      if true, then the list may contain interior points,
                     32:   --              i.e. points x in conv(l\{x}),
                     33:   --              if false, no interior points occur in the list;
                     34:   --   maxli      maximum value of the lifting function,
                     35:   --              if = 0, then no flattening will be applied,
                     36:   --              i.e. there is no maximum lifting value,
                     37:   --              if > 0, then no points will be given a lifting value
                     38:   --              greater than maxli;
                     39:   --   lifted     points that already have been lifted;
                     40:   --   lifted_last is pointer to the last element of the list lifted;
                     41:   --   t          contains a triangulation of the lifted points.
                     42:
                     43:   -- ON RETURN :
                     44:   --   lifted     the lifted points;
                     45:   --   t          a regular triangulation of the points in l.
                     46:
                     47: -- EXTENDED VERSIONS : WITH OUTPUT GENERICS
                     48:
                     49:   generic
                     50:     with procedure Before_Flattening
                     51:                 ( t : in Triangulation; lifted : in List );
                     52:
                     53:     -- DESCRIPTION :
                     54:     --   Before flattening, the current triangulation with
                     55:     --   the current list of lifted points is given.
                     56:
                     57:   procedure Dynamic_Lifting_with_Flat
                     58:                 ( l : in List; order,inter : in boolean;
                     59:                   maxli : in natural; lifted,lifted_last : in out List;
                     60:                   t : in out Triangulation );
                     61:
                     62:   -- DESCRIPTION :
                     63:   --   Application of the dynamic lifting algorithm to the list l.
                     64:   --   Before flattening, the generic procedure will be invoked.
                     65:   --   The parameters have the same meaning as in the basic version.
                     66:
                     67:   generic
                     68:     with procedure Process_New_Simplices
                     69:                 ( t : in Triangulation; point : in vector );
                     70:
                     71:     -- DESCRIPTION :
                     72:     --   After the addition of a new point, this lifted point together
                     73:     --   with the new simplices are returned.
                     74:
                     75:   procedure Dynamic_Lifting_with_New
                     76:                 ( l : in List; order,inter : in boolean;
                     77:                   maxli : in natural; lifted,lifted_last : in out List;
                     78:                   t : in out Triangulation );
                     79:
                     80:   -- DESCRIPTION :
                     81:   --   Application of the dynamic lifting algorithm to the list l.
                     82:   --   After each addition of a point, the generic procedure will
                     83:   --   be invoked.
                     84:   --   The parameters have the same meaning as in the basic version.
                     85:
                     86:   generic
                     87:     with procedure Before_Flattening
                     88:                 ( t : in Triangulation; lifted : in List );
                     89:
                     90:     -- DESCRIPTION :
                     91:     --   Before flattening, the current triangulation with
                     92:     --   the current list of lifted points is given.
                     93:
                     94:     with procedure Process_New_Simplices
                     95:                 ( t : in Triangulation; point : in vector );
                     96:
                     97:     -- DESCRIPTION :
                     98:     --   After the addition of a new point, this lifted point together
                     99:     --   with the new simplices are returned.
                    100:
                    101:   procedure Dynamic_Lifting_with_Flat_and_New
                    102:                 ( l : in List; order,inter : in boolean;
                    103:                   maxli : in natural; lifted,lifted_last : in out List;
                    104:                   t : in out Triangulation );
                    105:   -- DESCRIPTION :
                    106:   --   Application of the dynamic lifting algorithm to the list l.
                    107:   --   Before flattening, the first generic procedure will be invoked.
                    108:   --   After each addition of a point, the second generic procedure
                    109:   --   will be invoked.
                    110:   --   The parameters have the same meaning as in the basic version.
                    111:
                    112: end Dynamic_Triangulations;

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