Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/generic_polynomial_systems.ads, Revision 1.1.1.1
1.1 maekawa 1: with Abstract_Ring;
2: with Generic_Polynomials;
3:
4: generic
5:
6: with package Ring is new Abstract_Ring(<>);
7: with package Polynomials is new Generic_Polynomials(Ring);
8:
9: package Generic_Polynomial_Systems is
10:
11: -- DESCRIPTION :
12: -- This package provides polynomial systems as an array of polynomials
13: -- with some arithmetic operations.
14:
15: use Ring,Polynomials;
16:
17: -- DATA STRUCTURES :
18:
19: type Poly_Sys is array ( integer range <> ) of Poly;
20: type Link_to_Poly_Sys is access Poly_Sys;
21:
22: -- COPYING :
23:
24: procedure Copy ( p : in Poly_Sys; q : in out Poly_Sys );
25:
26: -- ARITHMETIC OPERATIONS :
27:
28: function "+" ( p,q : Poly_Sys ) return Poly_Sys; -- return p+q
29: function "-" ( p,q : Poly_Sys ) return Poly_Sys; -- return p-q
30: function "-" ( p : Poly_Sys ) return Poly_Sys; -- return -p
31: function "*" ( a : number; p : Poly_Sys ) return Poly_Sys; -- return a*p
32: function "*" ( p : Poly_Sys; a : number) return Poly_Sys; -- return p*a
33:
34: procedure Add ( p : in out Poly_Sys; q : in Poly_Sys ); -- p := p+q
35: procedure Sub ( p : in out Poly_Sys; q : in Poly_Sys ); -- p := p-q
36: procedure Min ( p : in out Poly_Sys ); -- p := -p
37: procedure Mul ( p : in out Poly_Sys; a : in number ); -- p := a*p
38:
39: -- DIFFERENTIATORS :
40:
41: function Diff ( p : Poly_Sys; i : natural ) return Poly_Sys;
42: procedure Diff ( p : in out Poly_Sys; i : in natural );
43:
44: -- DESTRUCTORS :
45:
46: procedure Clear ( p : in out Poly_Sys );
47: procedure Clear ( p : in out Link_to_Poly_Sys );
48:
49: end Generic_Polynomial_Systems;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>