Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/generic_poly_system_functions.adb, Revision 1.1.1.1
1.1 maekawa 1: package body Generic_Poly_System_Functions is
2:
3: use Polynomials,Poly_Functions;
4:
5: -- CREATORS :
6:
7: function Create ( p : Poly_Sys ) return Eval_Poly_Sys is
8:
9: res : Eval_Poly_Sys(p'range);
10:
11: begin
12: for k in p'range loop
13: res(k) := Create(p(k));
14: end loop;
15: return res;
16: end Create;
17:
18: function Create ( p : Poly_Sys ) return Eval_Coeff_Poly_Sys is
19:
20: res : Eval_Coeff_Poly_Sys(p'range);
21:
22: begin
23: for k in p'range loop
24: res(k) := Create(p(k));
25: end loop;
26: return res;
27: end Create;
28:
29: -- EVALUATORS :
30:
31: function Eval ( p : Poly_Sys; x : number; i : natural ) return Poly_Sys is
32:
33: res : Poly_Sys(p'range);
34:
35: begin
36: for j in p'range loop
37: res(j) := Eval(p(j),x,i);
38: end loop;
39: return res;
40: end Eval;
41:
42: function Eval ( p : Poly_Sys; x : Vector ) return Vector is
43:
44: res : Vector(p'range);
45:
46: begin
47: for i in p'range loop
48: res(i) := Eval(p(i),x);
49: end loop;
50: return res;
51: end Eval;
52:
53: function Eval ( p : Eval_Poly_Sys; x : Vector ) return Vector is
54:
55: res : Vector(p'range);
56:
57: begin
58: for i in p'range loop
59: res(i) := Eval(p(i),x);
60: end loop;
61: return res;
62: end Eval;
63:
64: function Eval ( p : Eval_Coeff_Poly_Sys; c : VecVec; x : Vector )
65: return Vector is
66:
67: res : Vector(p'range);
68:
69: begin
70: for i in p'range loop
71: res(i) := Eval(p(i),c(i).all,x);
72: end loop;
73: return res;
74: end Eval;
75:
76: -- DESTRUCTORS :
77:
78: procedure Clear ( p : in out Eval_Poly_Sys ) is
79: begin
80: for k in p'range loop
81: Clear(p(k));
82: end loop;
83: end Clear;
84:
85: procedure Clear ( p : in out Eval_Coeff_Poly_Sys ) is
86: begin
87: for k in p'range loop
88: Clear(p(k));
89: end loop;
90: end Clear;
91:
92: end Generic_Poly_System_Functions;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>