Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/standard_to_multprec_convertors.adb, Revision 1.1.1.1
1.1 maekawa 1: with Standard_Natural_Vectors;
2: with Standard_Complex_Numbers; use Standard_Complex_Numbers;
3: with Standard_Complex_Polynomials;
4: with Standard_Complex_Poly_Systems;
5: with Multprec_Complex_Numbers; use Multprec_Complex_Numbers;
6: with Multprec_Complex_Number_Tools; use Multprec_Complex_Number_Tools;
7: with Multprec_Complex_Polynomials;
8: with Multprec_Complex_Poly_Systems;
9:
10: package body Standard_to_Multprec_Convertors is
11:
12: -- AUXILIARIES :
13:
14: function Convert ( d : Standard_Complex_Polynomials.Degrees )
15: return Multprec_Complex_Polynomials.Degrees is
16:
17: res : Multprec_Complex_Polynomials.Degrees;
18:
19: begin
20: res := new Standard_Natural_Vectors.Vector(d'range);
21: for i in res'range loop
22: res(i) := d(i);
23: end loop;
24: return res;
25: end Convert;
26:
27: function Convert ( t : Standard_Complex_Polynomials.Term )
28: return Multprec_Complex_Polynomials.Term is
29:
30: res : Multprec_Complex_Polynomials.Term;
31:
32: begin
33: res.cf := Create(t.cf);
34: res.dg := Convert(t.dg);
35: return res;
36: end Convert;
37:
38: -- TARGET FUNCTIONS :
39:
40: function Convert ( p : Standard_Complex_Polynomials.Poly )
41: return Multprec_Complex_Polynomials.Poly is
42:
43: res : Multprec_Complex_Polynomials.Poly
44: := Multprec_Complex_Polynomials.Null_Poly;
45:
46: procedure Convert_Term ( t : in Standard_Complex_Polynomials.Term;
47: continue : out boolean ) is
48:
49: ct : Multprec_Complex_Polynomials.Term := Convert(t);
50:
51: begin
52: Multprec_Complex_Polynomials.Add(res,ct);
53: Multprec_Complex_Polynomials.Clear(ct);
54: continue := true;
55: end Convert_Term;
56: procedure Convert_Terms is
57: new Standard_Complex_Polynomials.Visiting_Iterator(Convert_Term);
58:
59: begin
60: Convert_Terms(p);
61: return res;
62: end Convert;
63:
64: function Convert ( p : Standard_Complex_Poly_Systems.Poly_Sys )
65: return Multprec_Complex_Poly_Systems.Poly_Sys is
66:
67: res : Multprec_Complex_Poly_Systems.Poly_Sys(p'range);
68:
69: begin
70: for i in p'range loop
71: res(i) := Convert(p(i));
72: end loop;
73: return res;
74: end Convert;
75:
76: end Standard_to_Multprec_Convertors;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>