with Standard_Floating_Numbers; use Standard_Floating_Numbers; package body Floating_Integer_Convertors is function Convert ( v : Standard_Integer_Vectors.Vector ) return Standard_Floating_Vectors.Vector is res : Standard_Floating_Vectors.Vector(v'range); begin for i in res'range loop res(i) := double_float(v(i)); end loop; return res; end Convert; function Convert ( v : Standard_Floating_Vectors.Vector ) return Standard_Integer_Vectors.Vector is res : Standard_Integer_Vectors.Vector(v'range); begin for i in res'range loop res(i) := integer(v(i)); end loop; return res; end Convert; function Convert ( l : Lists_of_Integer_Vectors.List ) return Lists_of_Floating_Vectors.List is res,res_last : Lists_of_Floating_Vectors.List; tmp : Lists_of_Integer_Vectors.List := l; use Lists_of_Integer_Vectors; begin while not Is_Null(tmp) loop Lists_of_Floating_Vectors.Append(res,res_last,Convert(Head_Of(tmp).all)); tmp := Tail_Of(tmp); end loop; return res; end Convert; function Convert ( l : Lists_of_Floating_Vectors.List ) return Lists_of_Integer_Vectors.List is res,res_last : Lists_of_Integer_Vectors.List; tmp : Lists_of_Floating_Vectors.List := l; use Lists_of_Floating_Vectors; begin while not Is_Null(tmp) loop Lists_of_Integer_Vectors.Append(res,res_last,Convert(Head_Of(tmp).all)); tmp := Tail_Of(tmp); end loop; return res; end Convert; function Convert ( l : Arrays_of_Integer_Vector_Lists.Array_of_Lists ) return Arrays_of_Floating_Vector_Lists.Array_of_Lists is res : Arrays_of_Floating_Vector_Lists.Array_of_Lists(l'range); begin for i in l'range loop res(i) := Convert(l(i)); end loop; return res; end Convert; function Convert ( l : Arrays_of_Floating_Vector_Lists.Array_of_Lists ) return Arrays_of_Integer_Vector_Lists.Array_of_Lists is res : Arrays_of_Integer_Vector_Lists.Array_of_Lists(l'range); begin for i in l'range loop res(i) := Convert(l(i)); end loop; return res; end Convert; function Convert ( m : Integer_Mixed_Subdivisions.Mixed_Cell ) return Floating_Mixed_Subdivisions.Mixed_Cell is res : Floating_Mixed_Subdivisions.Mixed_Cell; use Integer_Mixed_Subdivisions; begin res.nor := new Standard_Floating_Vectors.Vector'(Convert(m.nor.all)); res.pts := new Arrays_of_Floating_Vector_Lists.Array_of_Lists'(Convert(m.pts.all)); if m.sub = null then res.sub := null; else res.sub := new Floating_Mixed_Subdivisions.Mixed_Subdivision'(Convert(m.sub.all)); end if; return res; end Convert; function Convert ( m : Floating_Mixed_Subdivisions.Mixed_Cell ) return Integer_Mixed_Subdivisions.Mixed_Cell is res : Integer_Mixed_Subdivisions.Mixed_Cell; use Floating_Mixed_Subdivisions; begin res.nor := new Standard_Integer_Vectors.Vector'(Convert(m.nor.all)); res.pts := new Arrays_of_Integer_Vector_Lists.Array_of_Lists'(Convert(m.pts.all)); if m.sub = null then res.sub := null; else res.sub := new Integer_Mixed_Subdivisions.Mixed_Subdivision'(Convert(m.sub.all)); end if; return res; end Convert; function Convert ( s : Integer_Mixed_Subdivisions.Mixed_Subdivision ) return Floating_Mixed_Subdivisions.Mixed_Subdivision is res,res_last : Floating_Mixed_Subdivisions.Mixed_Subdivision; tmp : Integer_Mixed_Subdivisions.Mixed_Subdivision := s; use Integer_Mixed_Subdivisions; begin while not Is_Null(tmp) loop Floating_Mixed_Subdivisions.Append(res,res_last,Convert(Head_Of(tmp))); tmp := Tail_Of(tmp); end loop; return res; end Convert; function Convert ( s : Floating_Mixed_Subdivisions.Mixed_Subdivision ) return Integer_Mixed_Subdivisions.Mixed_Subdivision is res,res_last : Integer_Mixed_Subdivisions.Mixed_Subdivision; tmp : Floating_Mixed_Subdivisions.Mixed_Subdivision := s; use Floating_Mixed_Subdivisions; begin while not Is_Null(tmp) loop Integer_Mixed_Subdivisions.Append(res,res_last,Convert(Head_Of(tmp))); tmp := Tail_Of(tmp); end loop; return res; end Convert; end Floating_Integer_Convertors;