13 #ifndef EIGEN_NUMERICAL_DIFF_H 14 #define EIGEN_NUMERICAL_DIFF_H 35 template<
typename _Functor, NumericalDiffMode mode=Forward>
51 template<
typename T0,
typename T1>
53 template<
typename T0,
typename T1,
typename T2>
64 int df(
const InputType& _x, JacobianType &jac)
const 83 Functor::operator()(x, val1); nfev++;
93 for (
int j = 0; j < n; ++j) {
101 Functor::operator()(x, val2);
104 jac.col(j) = (val2-val1)/h;
108 Functor::operator()(x, val2); nfev++;
110 Functor::operator()(x, val1); nfev++;
112 jac.col(j) = (val2-val1)/(2*h);
129 #endif // EIGEN_NUMERICAL_DIFF_H Matrix< Scalar, ValuesAtCompileTime, InputsAtCompileTime > JacobianType
Functor::ValueType ValueType
Functor::JacobianType JacobianType
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
NumericalDiff(const T0 &a0)
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
Holds information about the various numeric (i.e. scalar) types allowed by Eigen. ...
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const AbsReturnType abs() const
NumericalDiff(Scalar _epsfcn=0.)
Matrix< Scalar, InputsAtCompileTime, 1 > InputType
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC half() max(const half &a, const half &b)
Matrix< Scalar, ValuesAtCompileTime, 1 > ValueType
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Functor::InputType InputType
NumericalDiff(const T0 &a0, const T1 &a1)
NumericalDiff(const Functor &f, Scalar _epsfcn=0.)
int df(const InputType &_x, JacobianType &jac) const
NumericalDiff(const T0 &a0, const T1 &a1, const T2 &a2)
NumericalDiff & operator=(const NumericalDiff &)