[BACK]Return to standard_to_multprec_convertors.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Polynomials

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>