[BACK]Return to dynamic_lifting_functions.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_lifting_functions.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      2: with Simplices,Triangulations;           use Simplices,Triangulations;
                      3:
                      4: package Dynamic_Lifting_Functions is
                      5:
                      6: -- DESCRIPTION :
                      7: --   This package contains operations to control the lifting function
                      8: --   in order to obtain triangulations either by placing or by pulling.
                      9:
                     10:   function Lift_to_Place ( s : Simplex; x : Vector ) return integer;
                     11:   function Lift_to_Place ( t : Triangulation; x : Vector ) return integer;
                     12:
                     13:   -- DESCRIPTION :
                     14:   --   Determines the next value of the lifting function for the given
                     15:   --   point x w.r.t. each simplex s, such that the product of the inner
                     16:   --   normal of s with x is higher than the product with any point in s.
                     17:
                     18:   -- REQUIRED :
                     19:   --   x(x'last) provides a lower bound for the lifting function.
                     20:   --   To obtain an optimal lifting, x(x'last) can be set equal to 1.
                     21:
                     22:   function Lift_to_Pull ( s : Simplex; x : Vector ) return integer;
                     23:   function Lift_to_Pull ( t : Triangulation; x : Vector ) return integer;
                     24:
                     25:   -- DESCRIPTION :
                     26:   --   Determines the lifting value of x such that the product of the inner
                     27:   --   normal of each simplex s with x is strictly lower than the product
                     28:   --   with any point of s.
                     29:   --   The lifting value such that x can be pulled in s will be returned.
                     30:
                     31:   -- REQUIRED :
                     32:   --   x(x'last) contains already a lower bound on the lifting for x.
                     33:   --   To obtain an optimal lifting, x(x'last) can be set equal to -1.
                     34:
                     35:   function Degenerate ( t : Triangulation; x : Vector ) return boolean;
                     36:
                     37:   -- DESCRIPTION :
                     38:   --   Returns true if there exists a cell in t, such that the lifted point
                     39:   --   x lies in the same hyperplane as the corresponding simplex on the
                     40:   --   lower hull.
                     41:
                     42:   function Lift_to_Pull ( t1,t2 : Triangulation; x : Vector ) return integer;
                     43:
                     44:   -- DESCRIPTION :
                     45:   --   Determines the lifting value of x such that for all cells in t1,
                     46:   --   the inner product of the inner normal with x is strictly lower
                     47:   --   than the inner product with any point of that cell.
                     48:   --   The triangulation t2 is used to be guarantee that the lifting does
                     49:   --   not induce a degeneracy in the lower hull.
                     50:   --   The lifting value such that x can be pulled in t will be returned.
                     51:
                     52:   -- REQUIRED :
                     53:   --   x(x'last) contains already a lower bound on the lifting for x.
                     54:   --   To obtain an optimal lifting, x(x'last) can be set equal to -1.
                     55:
                     56: end Dynamic_Lifting_Functions;

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