1 -- File: FunctionDerivative.cdl
2 -- Created: Mon Jan 14 10:53:24 1991
3 -- Author: Arnaud BOUZY
5 ---Copyright: Matra Datavision 1991, 1992
7 class FunctionDerivative from Expr
9 inherits GeneralFunction from Expr
11 uses NamedUnknown from Expr,
12 GeneralExpression from Expr,
13 Array1OfNamedUnknown from Expr,
14 Array1OfReal from TColStd,
15 AsciiString from TCollection
17 raises OutOfRange from Standard,
18 DimensionMismatch from Standard,
19 NumericError from Standard,
20 NotEvaluable from Expr
24 Create(func : GeneralFunction; withX : NamedUnknown; deg : Integer)
25 ---Purpose: Creates a FunctionDerivative of degree <deg> relative
26 -- to the <withX> variable.
27 -- Raises OutOfRange if <deg> lower or equal to zero.
29 returns mutable FunctionDerivative
33 ---Purpose: Returns the number of variables of <me>.
36 Variable(me; index : Integer)
37 ---Purpose: Returns the variable denoted by <index> in <me>.
38 -- Raises OutOfRange if <index> greater than
39 -- NbOfVariables of <me>.
43 Evaluate(me; vars : Array1OfNamedUnknown;
44 values : Array1OfReal)
45 ---Purpose: Computes the value of <me> with the given variables.
46 -- Raises DimensionMismatch if Length(vars) is different from
49 raises DimensionMismatch, NumericError,NotEvaluable;
52 ---Purpose: Returns a copy of <me> with the same form.
53 returns mutable like me;
55 Derivative(me; var : NamedUnknown)
56 ---Purpose: Returns Derivative of <me> for variable <var>.
57 returns GeneralFunction;
59 Derivative(me; var : NamedUnknown; deg : Integer)
60 ---Purpose: Returns Derivative of <me> for variable <var> with
62 returns GeneralFunction;
64 IsIdentical(me; func : GeneralFunction)
65 ---Purpose: Tests if <me> and <func> are similar functions (same
66 -- name and same used expression).
69 IsLinearOnVariable(me; index : Integer)
70 ---Purpose: Tests if <me> is linear on variable on range <index>
74 ---Purpose: Returns the function of which <me> is the derivative.
76 returns GeneralFunction
80 ---Purpose: Returns the degree of derivation of <me>.
86 ---Purpose: Returns the derivation variable of <me>.
95 returns GeneralExpression
99 UpdateExpression(me: mutable);
104 myFunction : GeneralFunction;
105 myExp : GeneralExpression;
106 myDerivate : NamedUnknown;
111 class NamedFunction from Expr
113 end FunctionDerivative;