Rollback integration OCC22567 Speed up of math_FunctionSetRoot (used in Extrema)
[occt.git] / src / math / math_FunctionSet.cdl
1 -- File:        FunctionSet.cdl
2 -- Created:     Mon May 13 15:21:04 1991
3 -- Author:      Laurent PAINNOT
4 --              <lpa@topsn3>
5 --Copyright:     Matra Datavision 1991
6
7
8 deferred class FunctionSet from math
9         ---Purpose:
10         -- This abstract class describes the virtual functions associated to
11         -- a set on N Functions of M independant variables.
12
13 uses Vector from math
14
15 is
16
17     Delete(me:out) is virtual;
18         ---C++: alias "Standard_EXPORT virtual ~math_FunctionSet(){Delete();}"
19     
20     NbVariables(me)
21         ---Purpose: Returns the number of variables of the function.
22
23     returns Integer
24     is deferred;
25     
26     
27     NbEquations(me)
28         ---Purpose: Returns the number of equations of the function.
29
30     returns Integer
31     is deferred;
32     
33     
34     Value(me: in out; X: Vector; F: out Vector)
35         ---Purpose: Computes the values <F> of the functions for the 
36         --          variable <X>.
37         --          returns True if the computation was done successfully, 
38         --          False otherwise.
39
40     returns Boolean
41     is deferred;
42     
43
44     GetStateNumber(me: in out)
45         ---Purpose: Returns the state of the function corresponding to the
46         --          latestcall of any methods associated with the function.
47         --          This function is called by each of the algorithms 
48         --          described later which define the function Integer 
49         --          Algorithm::StateNumber(). The algorithm has the 
50         --          responsibility to call this function when it has found
51         --          a solution (i.e. a root or a minimum) and has to maintain
52         --          the association between the solution found and this
53         --          StateNumber.
54         --          Byu default, this method returns 0 (which means for the 
55         --          algorithm: no state has been saved). It is the 
56         --          responsibility of the programmer to decide if he needs
57         --          to save the current state of the function and to return
58         --          an Integer that allows retrieval of the state.
59
60     returns Integer
61     is virtual;
62     
63 end FunctionSet;
64
65