Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Dynlift/dynamic_triangulations.ads, Revision 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>