with Standard_Random_Numbers; use Standard_Random_Numbers; with Standard_Integer_Vectors; package body Standard_Complex_Laur_Randomizers is function Complex_Randomize ( p : Poly ) return Poly is res : Poly := Null_Poly; procedure Randomize_Term ( t : in Term; cont : out boolean ) is rt : Term; begin rt.cf := Random; rt.dg := new Standard_Integer_Vectors.Vector'(t.dg.all); Add(res,rt); Clear(rt); cont := true; end Randomize_Term; procedure Randomize_Terms is new Visiting_Iterator(Randomize_Term); begin Randomize_Terms(p); return res; end Complex_Randomize; function Complex_Randomize1 ( p : Poly ) return Poly is res : Poly := Null_Poly; procedure Randomize_Term ( t : in Term; cont : out boolean ) is rt : Term; begin rt.cf := Random1; rt.dg := new Standard_Integer_Vectors.Vector'(t.dg.all); Add(res,rt); Clear(rt); cont := true; end Randomize_Term; procedure Randomize_Terms is new Visiting_Iterator(Randomize_Term); begin Randomize_Terms(p); return res; end Complex_Randomize1; function Complex_Randomize ( p : Laur_Sys ) return Laur_Sys is res : Laur_Sys(p'range); begin for i in res'range loop res(i) := Complex_Randomize(p(i)); end loop; return res; end Complex_Randomize; function Complex_Randomize1 ( p : Laur_Sys ) return Laur_Sys is res : Laur_Sys(p'range); begin for i in res'range loop res(i) := Complex_Randomize1(p(i)); end loop; return res; end Complex_Randomize1; end Standard_Complex_Laur_Randomizers;