Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/generic_laur_system_functions.ads, Revision 1.1.1.1
1.1 maekawa 1: with Abstract_Ring;
2: with Abstract_Ring.Field;
3: with Generic_Vectors,Generic_VecVecs;
4: with Generic_Laurent_Polynomials;
5: with Generic_Laur_Poly_Functions;
6: with Generic_Laur_Poly_Systems;
7:
8: generic
9:
10: with package Ring is new Abstract_Ring(<>);
11: with package Field is new Ring.Field(<>);
12: with package Vectors is new Generic_Vectors(Ring);
13: with package VecVecs is new Generic_VecVecs(Ring,Vectors);
14: with package Polynomials is new Generic_Laurent_Polynomials(Ring);
15: with package Poly_Functions is
16: new Generic_Laur_Poly_Functions(Ring,Field,Vectors,Polynomials);
17: with package Poly_Systems is
18: new Generic_Laur_Poly_Systems(Ring,Polynomials);
19:
20: package Generic_Laur_System_Functions is
21:
22: -- DESCRIPTION :
23: -- This package provides data structures and evaluation functions for
24: -- systems of Laurent polynomials.
25:
26: use Ring,Field,Vectors,VecVecs,Poly_Functions,Poly_Systems;
27:
28: -- FUNCTION TYPE :
29:
30: type Evaluator is access function ( x : Vector ) return Vector;
31:
32: -- DATA STRUCTURES :
33:
34: type Eval_Laur_Sys is array ( integer range <> ) of Eval_Poly;
35: type Eval_Coeff_Laur_Sys is array ( integer range <> ) of Eval_Coeff_Poly;
36:
37: -- CREATORS :
38:
39: function Create ( p : Laur_Sys ) return Eval_Laur_Sys;
40: function Create ( p : Laur_Sys ) return Eval_Coeff_Laur_Sys;
41:
42: -- EVALUATORS :
43:
44: function Eval ( p : Laur_Sys; x : number; i : natural ) return Laur_Sys;
45: function Eval ( p : Laur_Sys; x : Vector ) return Vector;
46: function Eval ( p : Eval_Laur_Sys; x : Vector ) return Vector;
47: function Eval ( p : Eval_Coeff_Laur_Sys; c : VecVec; x : Vector )
48: return Vector;
49:
50: -- DESTRUCTORS :
51:
52: procedure Clear ( p : in out Eval_Laur_Sys );
53: procedure Clear ( p : in out Eval_Coeff_Laur_Sys );
54:
55: end Generic_Laur_System_Functions;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>