Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/generic_laur_poly_systems.ads, Revision 1.1.1.1
1.1 maekawa 1: with Abstract_Ring;
2: with Generic_Laurent_Polynomials;
3:
4: generic
5:
6: with package Ring is new Abstract_Ring(<>);
7: with package Polynomials is new Generic_Laurent_Polynomials(Ring);
8:
9: package Generic_Laur_Poly_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 Laur_Sys is array ( integer range <> ) of Poly;
20: type Link_to_Laur_Sys is access Laur_Sys;
21:
22: -- COPYING :
23:
24: procedure Copy ( p : in Laur_Sys; q : in out Laur_Sys );
25:
26: -- ARITHMETIC OPERATIONS :
27:
28: function "+" ( p,q : Laur_Sys ) return Laur_Sys; -- return p+q
29: function "-" ( p,q : Laur_Sys ) return Laur_Sys; -- return p-q
30: function "-" ( p : Laur_Sys ) return Laur_Sys; -- return -p
31: function "*" ( a : number; p : Laur_Sys ) return Laur_Sys; -- return a*p
32: function "*" ( p : Laur_Sys; a : number) return Laur_Sys; -- return p*a
33:
34: procedure Add ( p : in out Laur_Sys; q : in Laur_Sys ); -- p := p+q
35: procedure Sub ( p : in out Laur_Sys; q : in Laur_Sys ); -- p := p-q
36: procedure Min ( p : in out Laur_Sys ); -- p := -p
37: procedure Mul ( p : in out Laur_Sys; a : in number ); -- p := a*p
38:
39: -- DIFFERENTIATORS :
40:
41: function Diff ( p : Laur_Sys; i : natural ) return Laur_Sys;
42: procedure Diff ( p : in out Laur_Sys; i : in natural );
43:
44: -- DESTRUCTORS :
45:
46: procedure Clear ( p : in out Laur_Sys );
47: procedure Clear ( p : in out Link_to_Laur_Sys );
48:
49: end Generic_Laur_Poly_Systems;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>