Annotation of OpenXM_contrib/PHC/Ada/Root_Counts/Stalift/floating_mixed_subdivisions_io.ads, Revision 1.1.1.1
1.1 maekawa 1: with text_io; use text_io;
2: with Standard_Integer_Vectors;
3: with Standard_Floating_Vectors;
4: with Lists_of_Floating_Vectors; use Lists_of_Floating_Vectors;
5: with Arrays_of_Floating_Vector_Lists; use Arrays_of_Floating_Vector_Lists;
6: with Floating_Mixed_Subdivisions; use Floating_Mixed_Subdivisions;
7:
8: package Floating_Mixed_Subdivisions_io is
9:
10: -- DESCRIPTION :
11: -- This package provides some routines for i/o of mixed subdivisions,
12: -- induced by a floating-point lifting.
13:
14: procedure get ( n,m : in natural; mic : out Mixed_Cell );
15: procedure get ( file : in file_type;
16: n,m : in natural; mic : out Mixed_Cell );
17:
18: -- DESCRIPTION :
19: -- Reads the normal and for each list of points, the length
20: -- of the list and the list itself from standard input or from file.
21:
22: procedure get ( n,m : out natural;
23: mixed_type : out Standard_Integer_Vectors.Link_to_Vector;
24: mixsub : out Mixed_Subdivision );
25: procedure get ( file : in file_type; n,m : out natural;
26: mixed_type : out Standard_Integer_Vectors.Link_to_Vector;
27: mixsub : out Mixed_Subdivision );
28:
29: -- DESCRIPTION :
30: -- Reads the dimension, the number of different supports,
31: -- the type of mixture, the number of mixed cells and the mixed
32: -- subdivision from standard input or from file.
33:
34: procedure Mixed_Volume ( n : in natural;
35: mix : in Standard_Integer_Vectors.Vector;
36: mic : in out Mixed_Cell; mv : out natural );
37:
38: -- DESCRIPTION :
39: -- Auxiliary routine for the output with mixed-volume computation.
40:
41: procedure put ( lifvec : in Standard_Floating_Vectors.Vector );
42: procedure put ( file : in file_type;
43: lifvec : in Standard_Floating_Vectors.Vector );
44: procedure put ( lifsup : in List );
45: procedure put ( file : in file_type; lifsup : in List );
46: procedure put ( lifsup : in Array_of_Lists );
47: procedure put ( file : in file_type; lifsup : in Array_of_Lists );
48:
49: -- DESCRIPTION :
50: -- Writes the lifted vectors on file or on standard output.
51: -- The format uses fixed point format for the integer entries.
52:
53: procedure put ( n : in natural; mix : in Standard_Integer_Vectors.Vector;
54: mic : in Mixed_Cell );
55: procedure put ( n : in natural; mix : in Standard_Integer_Vectors.Vector;
56: mic : in out Mixed_Cell; mv : out natural);
57: procedure put ( file : in file_type;
58: n : in natural; mix : in Standard_Integer_Vectors.Vector;
59: mic : in Mixed_Cell );
60: procedure put ( file : in file_type;
61: n : in natural; mix : in Standard_Integer_Vectors.Vector;
62: mic : in out Mixed_Cell; mv : out natural );
63:
64: -- DESCRIPTION :
65: -- Puts the normal, the length of each point list and the
66: -- points belonging to the cell on standard output or on file.
67: -- More text banners are provided when the parameter `mv' is supplied.
68: -- This `mv' contains the mixed volume of the cell on return.
69: -- When the mixed volume is computed, eventually the cell is refined.
70:
71: procedure put ( n : in natural; mix : in Standard_Integer_Vectors.Vector;
72: mixsub : in Mixed_Subdivision );
73: procedure put ( n : in natural; mix : in Standard_Integer_Vectors.Vector;
74: mixsub : in out Mixed_Subdivision; mv : out natural );
75: procedure put ( file : in file_type; n : in natural;
76: mix : in Standard_Integer_Vectors.Vector;
77: mixsub : in Mixed_Subdivision );
78: procedure put ( file : in file_type; n : in natural;
79: mix : in Standard_Integer_Vectors.Vector;
80: mixsub : in out Mixed_Subdivision; mv : out natural );
81:
82: -- DESCRIPTION :
83: -- Puts the dimension, the type of mixture, the number of mixed
84: -- cells and the mixed subdivision on file or on standard output.
85: -- More text banners are provided when the parameter `mv' is supplied.
86: -- This `mv' contains the mixed volume of the cell on return.
87: -- When the mixed volume is computed, eventually the cells are refined.
88:
89: end Floating_Mixed_Subdivisions_io;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>