Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/generic_polynomial_systems_io.ads, Revision 1.1.1.1
1.1 maekawa 1: with text_io; use text_io;
2: with Abstract_Ring_io;
3: with Generic_Vectors;
4: with Generic_Matrices;
5:
6: generic
7:
8: with package Ring_io is new Abstract_Ring_io(<>); use Ring_io.Ring;
9: with package Vectors is new Generic_Vectors(Ring_io.Ring);
10: with package Matrices is new Generic_Matrices(Ring_io.Ring,Vectors);
11:
12: package Generic_Polynomial_Systems_io is
13:
14: -- DESCRIPTION :
15: -- This package contains routines for the input and output
16: -- of human-readable polynomial systems.
17: -- Note that for every write-procedure, there is a read-
18: -- procedure that can read the written system.
19: -- See also the package for the input and output
20: -- of polynomials in n unknowns.
21:
22: -- THE INPUT OPERATIONS :
23:
24: procedure get ( n : in natural; s : out Poly_Sys );
25: procedure get ( n,m : in natural; s : out Poly_Sys );
26: procedure get ( file : in file_type; n : in natural; s : out Poly_Sys );
27: procedure get ( file : in file_type; n,m : in natural; s : out Poly_Sys );
28: procedure get ( s : out Poly_Sys );
29: procedure get ( file : in file_type; s : out Poly_Sys );
30:
31: -- DESCRIPTION :
32: -- A polynomial system is read; n polynomials are read.
33:
34: -- REQUIRED :
35: -- * all unknows must begin with a letter and may have
36: -- no symbols like '+', '-', '*', '^', '/', ';' or brackets in them;
37: -- i = sqrt(-1) is reserved for complex numbers representation
38: -- * each symbol is limited to 3 characters
39: -- * the input is terminated by the delimiter
40: -- * no blanks may occur in the numbers
41: -- * if a file is specified, then it must be opened for input
42: -- * n and m should both be on the first line !
43: -- * if n stands alone, it should be followed immediately by an
44: -- end-of-line symbol.
45:
46: -- NOTE :
47: -- The end_of_line symbol is not read.
48:
49: -- ON ENTRY :
50: -- file file_type where the input is,
51: -- if not specified, then standard input is assumed;
52: -- n the number of equations,
53: -- if not specified, then n will first be read;
54: -- m the number of unknowns;
55: -- if not specified, then m will first be read.
56:
57: -- ON RETURN :
58: -- s a polynomial system.
59:
60: -- MORE USER FRIENDLY INPUT OPERATIONS :
61:
62: procedure get ( lp : in out Link_to_Poly_Sys );
63: procedure get ( file : in file_type; lp : in out Link_to_Poly_Sys );
64:
65: -- DESCRIPTION :
66: -- The first routine asks for a file name, while the second one
67: -- assumes everything is on file and nothing has to be read from
68: -- standard input.
69:
70: -- NOTE :
71: -- The end_of_line symbol is read at the end of the polynomial system.
72:
73: -- THE OUTPUT OPERATIONS :
74:
75: procedure put ( n : out natural; s : in Poly_Sys; pow : in power := '*' );
76: procedure put ( n,m : out natural; s : in Poly_Sys; pow : in power := '*' );
77: procedure put ( file : in file_type;
78: n : out natural; s : in Poly_Sys; pow : in power := '*' );
79: procedure put ( file : in file_type;
80: n,m : out natural; s : in Poly_Sys; pow : in power := '*' );
81: procedure put ( s : in Poly_Sys; pow : in power );
82: procedure put ( file : in file_type; s : in Poly_Sys; pow : in power );
83: procedure put ( s : in Poly_Sys );
84: procedure put ( file : in file_type; s : in Poly_Sys );
85:
86: -- DESCRIPTION :
87: -- A polynomial system is written on standard output or on file.
88:
89: -- ON ENTRY :
90: -- file file where the output must come;
91: -- if not specified, then standard output is assumed
92: -- s a polynomial system;
93: -- pow kind of power symbol used.
94:
95: -- ON RETURN :
96: -- n the number of equations of p,
97: -- if not specified, n will first be written;
98: -- m the number of unknowns.
99: -- if not specified, m will first be written.
100:
101: procedure put_line ( s : in Poly_Sys );
102: procedure put_line ( file : in file_type; s : in Poly_Sys );
103: procedure put_line ( s : in Poly_Sys; pow : in Power );
104: procedure put_line ( file : in file_type; s : in Poly_Sys; pow : in Power );
105:
106: -- DESCRIPTION :
107: -- Writes the polynomials, every term on a separate line.
108:
109: procedure Display_Format;
110:
111: -- DESCRIPTION :
112: -- Displays on screen the formatting rules as on-line help facility.
113:
114: end Generic_Polynomial_Systems_io;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>