package body Generic_Laur_System_Functions is
use Polynomials,Poly_Functions;
-- CREATORS :
function Create ( p : Laur_Sys ) return Eval_Laur_Sys is
res : Eval_Laur_Sys(p'range);
begin
for k in p'range loop
res(k) := Create(p(k));
end loop;
return res;
end Create;
function Create ( p : Laur_Sys ) return Eval_Coeff_Laur_Sys is
res : Eval_Coeff_Laur_Sys(p'range);
begin
for k in p'range loop
res(k) := Create(p(k));
end loop;
return res;
end Create;
-- EVALUATORS :
function Eval ( p : Laur_Sys; x : number; i : natural ) return Laur_Sys is
res : Laur_Sys(p'range);
begin
for j in p'range loop
res(j) := Eval(p(j),x,i);
end loop;
return res;
end Eval;
function Eval ( p : Laur_Sys; x : Vector ) return Vector is
res : Vector(p'range);
begin
for i in p'range loop
res(i) := Eval(p(i),x);
end loop;
return res;
end Eval;
function Eval ( p : Eval_Laur_Sys; x : Vector ) return Vector is
res : Vector(p'range);
begin
for i in p'range loop
res(i) := Eval(p(i),x);
end loop;
return res;
end Eval;
function Eval ( p : Eval_Coeff_Laur_Sys; c : VecVec; x : Vector )
return Vector is
res : Vector(p'range);
begin
for i in p'range loop
res(i) := Eval(p(i),c(i).all,x);
end loop;
return res;
end Eval;
-- DESTRUCTORS :
procedure Clear ( p : in out Eval_Laur_Sys ) is
begin
for k in p'range loop
Clear(p(k));
end loop;
end Clear;
procedure Clear ( p : in out Eval_Coeff_Laur_Sys ) is
begin
for k in p'range loop
Clear(p(k));
end loop;
end Clear;
end Generic_Laur_System_Functions;