0024044: Performance improvements: Foundation Classes (math)
[occt.git] / src / math / math_MultipleVarFunctionWithGradient.cdl
CommitLineData
b311480e 1-- Created on: 1991-05-13
2-- Created by: Laurent PAINNOT
3-- Copyright (c) 1991-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21
22
23
24
25deferred class MultipleVarFunctionWithGradient from math
26
27inherits MultipleVarFunction
28---Purpose:
29-- The abstract class MultipleVarFunctionWithGradient
30-- describes the virtual functions associated with a multiple variable function.
31uses Vector from math
32
33is
34
35 Delete(me:out) is virtual;
36 ---C++: alias "Standard_EXPORT virtual ~math_MultipleVarFunctionWithGradient(){Delete();}"
37
38 NbVariables(me)
39 ---Purpose: Returns the number of variables of the function.
40
41 returns Integer
42 is deferred;
43
44
45 Value(me: in out; X: Vector; F: out Real)
46 ---Purpose: Computes the values of the Functions <F> for the variable <X>.
47 -- Returns True if the computation was done successfully,
48 -- False otherwise.
49
50 returns Boolean
51 is deferred;
52
53
54 Gradient(me: in out; X: Vector; G: out Vector)
55 ---Purpose: Computes the gradient <G> of the functions for the variable <X>.
56 -- Returns True if the computation was done successfully,
57 -- False otherwise.
58
59 returns Boolean
60 is deferred;
61
62
63 Values(me: in out; X: Vector; F: out Real; G: out Vector)
64 ---Purpose: computes the value <F> and the gradient <G> of the
65 -- functions for the variable <X>.
66 -- Returns True if the computation was done successfully,
67 -- False otherwise.
68
69 returns Boolean
70 is deferred;
71
72end MultipleVarFunctionWithGradient;