CoDiPack  2.2.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::EvaluationHandleBase< T_Func, T_Type, T_InputStore, T_OutputStore > Struct Template Reference

Basic interface and data storage for all EvaluationHandle implementations. More...

#include <evaluationHelper.hpp>

Inheritance diagram for codi::EvaluationHandleBase< T_Func, T_Type, T_InputStore, T_OutputStore >:

Public Types

using Func = T_Func
 See EvaluationHandleBase.
 
using InputStore = T_InputStore
 See EvaluationHandleBase.
 
using OutputStore = T_OutputStore
 See EvaluationHandleBase.
 
using Type = T_Type
 See EvaluationHandleBase.
 

Public Member Functions

template<typename VecX , typename Hes , typename VecY , typename Jac >
void computeHessian (VecX const &locX, Hes &hes, VecY &locY, Jac &jac)
 Perform a Hessian evaluation with the inputs provided in locX and store the result in hes, jac and locY.
 
template<typename VecX , typename Jac , typename VecY >
void computeJacobian (VecX const &locX, Jac &jac, VecY &locY)
 Perform a Jacobian evaluation with the inputs provided in locX and store the result in jac and locY.
 
template<typename VecX , typename VecY >
void computePrimal (VecX const &locX, VecY &locY)
 Perform a primal evaluation with the inputs provided in locX and store the result in locY.
 
 EvaluationHandleBase (Func &func, size_t m, size_t n)
 Constructor.
 

Protected Member Functions

void eval ()
 Helper for the evaluation of the function object with the internal input and output vector.
 
template<typename VecY >
void getPrimalOutputs (VecY &locY)
 Store the primal values from the CoDiPack vector into the user vector.
 
template<typename VecX >
void setPrimalInputs (VecX const &locX)
 Set the primal values from the user provided vector into the CoDiPack ones.
 

Protected Attributes

DummyJacobian dummyJacobian
 Used if no output is required.
 
DummyVector dummyVector
 Used if no output is required.
 
Funcfunc
 The function object for the evaluations.
 
size_t m
 Size of the output vector.
 
size_t n
 Size of the input vector.
 
InputStore x
 Storage for the input arguments.
 
OutputStore y
 Storage for the output arguments.
 

Detailed Description

template<typename T_Func, typename T_Type, typename T_InputStore = std::vector<T_Type>, typename T_OutputStore = std::vector<T_Type>>
struct codi::EvaluationHandleBase< T_Func, T_Type, T_InputStore, T_OutputStore >

Basic interface and data storage for all EvaluationHandle implementations.

The class performs no resizing of the vectors. The initial sizes need to be adequate for all calls to the function object that the user will perform.

Template Parameters
T_FuncThe type of the function object which defines the evaluation logic.
T_TypeThe CoDiPack type that is used for the derivative evaluation.
T_InputStoreVector used for the storage of input arguments.
T_OutputStoreVector used for the storage of output arguments.

The documentation for this struct was generated from the following file: