11template <
typename _Scalar>
20 virtual void evaluate(
const ConstVectorRef &x,
Data &data)
const = 0;
23 const ConstVectorRef & ,
26 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &,
27 Data &data)
const override {
32 Data &data)
const override {
37 const ConstVectorRef &,
38 const ConstVectorRef &lbda,
39 Data &data)
const override {
44#define ALIGATOR_UNARY_FUNCTION_INTERFACE(Scalar) \ 45 using Base = UnaryFunctionTpl<Scalar>; \ 46 using Base::evaluate; \ 47 using Base::computeJacobians; \ 48 using Base::computeVectorHessianProducts 52#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION 53#include "./unary-function.txx" Base definitions for ternary functions.
Base struct for function data.
StageFunctionTpl(const int ndx, const int nu, const int nr)
Represents unary functions of the form , with no control (or next-state) arguments.
void evaluate(const ConstVectorRef &x, const ConstVectorRef &, Data &data) const override
Evaluate the function.
virtual void evaluate(const ConstVectorRef &x, Data &data) const =0
void computeVectorHessianProducts(const ConstVectorRef &x, const ConstVectorRef &, const ConstVectorRef &lbda, Data &data) const override
Compute the vector-hessian products of this function.
virtual void computeJacobians(const ConstVectorRef &x, Data &data) const =0
virtual void computeVectorHessianProducts(const ConstVectorRef &, const ConstVectorRef &, Data &) const
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &, Data &data) const override
Compute Jacobians of this function.
StageFunctionDataTpl< Scalar > Data
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
StageFunctionTpl< Scalar > Base