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>