25 #include <queso/GenericVectorFunction.h> 
   26 #include <queso/GslVector.h> 
   27 #include <queso/GslMatrix.h> 
   32 template<
class P_V,
class P_M,
class Q_V,
class Q_M>
 
   37   void (*routinePtr)(
const P_V&                    domainVector,
 
   38                      const P_V*                    domainDirection,
 
   39                      const void*                   functionDataPtr,
 
   44   const void* functionDataPtr)
 
   49   m_routinePtr    (routinePtr),
 
   50   m_routineDataPtr(functionDataPtr)
 
   55 template<
class P_V,
class P_M,
class Q_V,
class Q_M>
 
   61 template<
class P_V,
class P_M,
class Q_V,
class Q_M>
 
   64   const P_V&                    domainVector,
 
   65   const P_V*                    domainDirection,
 
   76   m_routinePtr(domainVector, domainDirection, m_routineDataPtr, imageVector, gradVectors, hessianMatrices, hessianEffects);
 
GenericVectorFunction(const char *prefix, const VectorSet< P_V, P_M > &domainSet, const VectorSet< Q_V, Q_M > &imageSet, void(*routinePtr)(const P_V &domainVector, const P_V *domainDirection, const void *functionDataPtr, Q_V &imageVector, DistArray< P_V * > *gradVectors, DistArray< P_M * > *hessianMatrices, DistArray< P_V * > *hessianEffects), const void *functionDataPtr)
Default constructor. 
 
A templated (base) class for handling vector functions. 
 
void compute(const P_V &domainVector, const P_V *domainDirection, Q_V &imageVector, DistArray< P_V * > *gradVectors, DistArray< P_M * > *hessianMatrices, DistArray< P_V * > *hessianEffects) const 
Calls the protected member *m_routinePtr(), in order to calculate the image vector imageVector...
 
virtual ~GenericVectorFunction()
Virtual destructor. 
 
A class for handling generic vector functions. 
 
A class for partitioning vectors and matrices.