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>