GeoModel - GeoModelCore
Main Page
Related Pages
Classes
Files
File List
GeoGenericFunctions
GeoGenericFunctions
FunctionComposition.h
1
//==========================================================================//
2
// Imported from the QAT library (qat.pitt.edu) by the copyright holder //
3
// Joe Boudreau. Software licensed under the terms and conditions of the //
4
// GNU Lesser Public License v3. //
5
//==========================================================================//
6
7
//--------------------------FunctionComposition-----------------------------//
8
// //
9
// FunctionComposition, result of composition of two functions. //
10
// //
11
//--------------------------------------------------------------------------//
12
13
#ifndef FunctionComposition_h
14
#define FunctionComposition_h 1
15
#include "GeoGenericFunctions/AbsFunction.h"
16
17
// For persistification:
18
class
FunctionCompositionRecorder;
19
20
namespace
GeoGenfun
{
21
22
class
FunctionComposition
:
public
AbsFunction
{
23
24
FUNCTION_OBJECT_DEF(
FunctionComposition
)
25
26
public
:
27
28
// Constructor
29
FunctionComposition
(
const
AbsFunction
*arg1,
const
AbsFunction
*arg2);
30
31
// Copy constructor
32
FunctionComposition
(
const
FunctionComposition
&right);
33
34
// Destructor
35
virtual
~
FunctionComposition
();
36
37
// Retreive function value
38
virtual
double
operator ()(
double
argument)
const override
;
39
virtual
double
operator ()(
const
Argument
& a)
const override
;
40
41
// Dimensionality
42
virtual
unsigned
int
dimensionality()
const override
;
43
44
// Derivative.
45
virtual
Derivative
partial (
unsigned
int
)
const override
;
46
47
// Does this function have an analytic derivative?
48
virtual
bool
hasAnalyticDerivative()
const override
{
return
true
;}
49
50
private
:
51
52
// It is illegal to assign a FunctionComposition
53
const
FunctionComposition
& operator=(
const
FunctionComposition
&right);
54
55
const
AbsFunction
*_arg1;
56
const
AbsFunction
*_arg2;
57
58
// For persistification:
59
friend
class ::FunctionCompositionRecorder;
60
61
};
62
}
// namespace GeoGenfun
63
#endif
GeoGenfun::Argument
Definition:
Argument.h:23
GeoGenfun::FunctionComposition
Definition:
FunctionComposition.h:22
GeoGenfun::AbsFunction
Definition:
AbsFunction.h:45
GeoGenfun::FunctionNoop
Definition:
FunctionNoop.h:22
GeoGenfun
Definition:
Abs.h:15
Generated on Thu May 28 2020 05:11:07 for GeoModel - GeoModelCore by
1.8.11