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

Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/exponent_vectors.ads, Revision 1.1.1.1

1.1       maekawa     1: with Standard_Complex_Numbers;           use Standard_Complex_Numbers;
                      2: with Standard_Integer_Vectors;           use Standard_Integer_Vectors;
                      3: with Standard_Complex_Vectors;
                      4: with Standard_Integer_VecVecs;           use Standard_Integer_VecVecs;
                      5: with Standard_Complex_VecVecs;
                      6: with Standard_Complex_Polynomials;
                      7: with Standard_Complex_Laur_Polys;
                      8: with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;
                      9: with Standard_Complex_Laur_Systems;      use Standard_Complex_Laur_Systems;
                     10:
                     11: package Exponent_Vectors is
                     12:
                     13: -- DESCRIPTION :
                     14: --   This package facilitates the management of exponent vectors.
                     15:
                     16: -- DATA STRUCTURE : array of exponent vectors
                     17:
                     18:   type Exponent_Vectors_Array is array ( integer range <> ) of Link_to_VecVec;
                     19:
                     20: -- CREATORS :
                     21:
                     22:   function Create ( p : Standard_Complex_Laur_Polys.Poly ) return VecVec;
                     23:   function Create ( p : Standard_Complex_Polynomials.Poly ) return VecVec;
                     24:
                     25:   -- DESCRIPTION :
                     26:   --   The range of the vector on return is 1..Number_of_Terms(p).
                     27:   --   This vector contains copies of all exponents of p, as ordered in p.
                     28:
                     29:   function Create ( p : Poly_Sys ) return Exponent_Vectors_Array;
                     30:   function Create ( p : Laur_Sys ) return Exponent_Vectors_Array;
                     31:
                     32: -- SELECTOR :
                     33:
                     34:   function Position ( ev : VecVec; v : Vector ) return integer;
                     35:
                     36:   -- DESCRIPTION :
                     37:   --   Returns the position of v in the vector ev.
                     38:   --   If v does not occur in ev, then ev'last+1 will be returned.
                     39:
                     40: -- EVALUATORS :
                     41:
                     42:   function Eval ( e : Vector; c : Complex_Number;
                     43:                   x : Standard_Complex_Vectors.Vector ) return Complex_Number;
                     44:
                     45:   -- DESCRIPTION :
                     46:   --   Evaluates the term c*x^e.
                     47:
                     48:   function Eval ( ev : VecVec; c,x : Standard_Complex_Vectors.Vector )
                     49:                 return Complex_Number;
                     50:
                     51:   -- DESCRIPTION :
                     52:   --   Evaluates the polynomial with coefficients in c and exponents in ev.
                     53:
                     54:   function Eval ( ev : Exponent_Vectors_Array;
                     55:                   c : Standard_Complex_VecVecs.VecVec;
                     56:                   x : Standard_Complex_Vectors.Vector )
                     57:                 return Standard_Complex_Vectors.Vector;
                     58:
                     59:   -- DESCRIPTION :
                     60:   --   Evaluates the system with coefficients in c and exponents in ev.
                     61:
                     62: -- DESTRUCTORS :
                     63:
                     64:   procedure Clear ( v : in out Exponent_Vectors_Array );
                     65:
                     66:   -- DESCRIPTION :
                     67:   --   Clears the allocated memory.
                     68:
                     69: end Exponent_Vectors;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>