queso-0.57.1
|
A templated class for synchronizing the calls of scalar functions (BaseScalarFunction and derived classes). More...
#include <ScalarFunctionSynchronizer.h>
Public Member Functions | |
Constructor/Destructor methods | |
ScalarFunctionSynchronizer (const BaseScalarFunction< V, M > &inputFunction, const V &auxVec) | |
Default constructor. More... | |
~ScalarFunctionSynchronizer () | |
Destructor. More... | |
Mathematical methods | |
const VectorSet< V, M > & | domainSet () const |
Access to the domain set of the scalar function which will be synchronized. More... | |
Sync method | |
double | callFunction (const V *vecValues, const V *vecDirection, V *gradVector, M *hessianMatrix, V *hessianEffect, double *extraOutput1, double *extraOutput2) const |
Calls the scalar function which will be synchronized. More... | |
double | callFunction (const V *vecValues, double *extraOutput1, double *extraOutput2) const |
Private Attributes | |
const BaseEnvironment & | m_env |
const BaseScalarFunction< V, M > & | m_scalarFunction |
const BayesianJointPdf< V, M > * | m_bayesianJointPdfPtr |
const V & | m_auxVec |
A templated class for synchronizing the calls of scalar functions (BaseScalarFunction and derived classes).
This class creates a synchronization point among processes which call scalar functions. This means that all processes must reach a point in their code before they can all begin executing again.
Definition at line 49 of file ScalarFunctionSynchronizer.h.
QUESO::ScalarFunctionSynchronizer< V, M >::ScalarFunctionSynchronizer | ( | const BaseScalarFunction< V, M > & | inputFunction, |
const V & | auxVec | ||
) |
Default constructor.
Definition at line 37 of file ScalarFunctionSynchronizer.C.
QUESO::ScalarFunctionSynchronizer< V, M >::~ScalarFunctionSynchronizer | ( | ) |
double QUESO::ScalarFunctionSynchronizer< V, M >::callFunction | ( | const V * | vecValues, |
const V * | vecDirection, | ||
V * | gradVector, | ||
M * | hessianMatrix, | ||
V * | hessianEffect, | ||
double * | extraOutput1, | ||
double * | extraOutput2 | ||
) | const |
Calls the scalar function which will be synchronized.
This procedure forms a barrier, and no processes in the communicator can pass the barrier until all of them call the function.
Definition at line 62 of file ScalarFunctionSynchronizer.C.
double QUESO::ScalarFunctionSynchronizer< V, M >::callFunction | ( | const V * | vecValues, |
double * | extraOutput1, | ||
double * | extraOutput2 | ||
) | const |
Definition at line 268 of file ScalarFunctionSynchronizer.C.
const VectorSet< V, M > & QUESO::ScalarFunctionSynchronizer< V, M >::domainSet | ( | ) | const |
Access to the domain set of the scalar function which will be synchronized.
Definition at line 55 of file ScalarFunctionSynchronizer.C.
|
private |
Definition at line 89 of file ScalarFunctionSynchronizer.h.
|
private |
Definition at line 88 of file ScalarFunctionSynchronizer.h.
|
private |
Definition at line 86 of file ScalarFunctionSynchronizer.h.
|
private |
Definition at line 87 of file ScalarFunctionSynchronizer.h.