package body Generic_Poly_System_Functions is use Polynomials,Poly_Functions; -- CREATORS : function Create ( p : Poly_Sys ) return Eval_Poly_Sys is res : Eval_Poly_Sys(p'range); begin for k in p'range loop res(k) := Create(p(k)); end loop; return res; end Create; function Create ( p : Poly_Sys ) return Eval_Coeff_Poly_Sys is res : Eval_Coeff_Poly_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 : Poly_Sys; x : number; i : natural ) return Poly_Sys is res : Poly_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 : Poly_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_Poly_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_Poly_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_Poly_Sys ) is begin for k in p'range loop Clear(p(k)); end loop; end Clear; procedure Clear ( p : in out Eval_Coeff_Poly_Sys ) is begin for k in p'range loop Clear(p(k)); end loop; end Clear; end Generic_Poly_System_Functions;