Go to the documentation of this file.
    5 #ifndef __pinocchio_autodiff_cppad_hpp__ 
    6 #define __pinocchio_autodiff_cppad_hpp__ 
    9 #define PINOCCHIO_WITH_CPPAD_SUPPORT 
   16 #define EIGEN_MATRIXBASE_PLUGIN <pinocchio/autodiff/cppad/math/eigen_plugin.hpp> 
   18 #include <boost/mpl/int.hpp> 
   19 #include <cppad/cppad.hpp> 
   20 #include <Eigen/Dense> 
   30         template<
typename Scalar>
 
   31         struct constant_pi<
CppAD::AD<Scalar>> : constant_pi<Scalar>
 
   38             return ADScalar(constant_pi<Scalar>::get(
n));
 
   41 #if BOOST_VERSION >= 107700 
   42           template<
class T, T value>
 
   43           static inline ADScalar get(
const std::integral_constant<T, value> & 
n)
 
   45             return ADScalar(constant_pi<Scalar>::get(
n));
 
   48           template<
class T, T value>
 
   49           static inline ADScalar get(
const boost::integral_constant<T, value> & 
n)
 
   51             return ADScalar(constant_pi<Scalar>::get(
n));
 
   65     template<
typename Scalar>
 
   68 #if EIGEN_VERSION_AT_LEAST(3, 2, 90) 
   71       static inline Scalar run(
const CppAD::AD<Scalar> & x)
 
   73         return CppAD::Value(
x);
 
   83   struct NumTraits<
CppAD::AD<Base>>
 
   85     typedef CppAD::AD<Base> 
Real;
 
  102       RequireInitialization = 1,
 
  113       return CppAD::numeric_limits<CppAD::AD<Base>>::epsilon();
 
  120       return 100. * CppAD::numeric_limits<CppAD::AD<Base>>::epsilon();
 
  126       return CppAD::numeric_limits<CppAD::AD<Base>>
::min();
 
  132       return CppAD::numeric_limits<CppAD::AD<Base>>
::max();
 
  138       return CppAD::numeric_limits<CppAD::AD<Base>>::digits10;
 
  150   const AD<Base> & 
conj(
const AD<Base> & x)
 
  155   const AD<Base> & 
real(
const AD<Base> & x)
 
  162   AD<Base> 
imag(
const AD<Base> & )
 
  164     return CppAD::AD<Base>(0.);
 
  167   AD<Base> 
abs2(
const AD<Base> & x)
 
  172   template<
typename Scalar>
 
  173   AD<Scalar> 
min(
const AD<Scalar> & x, 
const AD<Scalar> & y)
 
  180   template<
typename Scalar>
 
  181   AD<Scalar> 
max(
const AD<Scalar> & x, 
const AD<Scalar> & y)
 
  191   template<
class Scalar>
 
  202   template<
typename Scalar>
 
  211       return ADScalar(Base::template precision<degree>());
 
  215   template<
typename Scalar, 
typename ADScalar>
 
  220       return scalar_cast<Scalar>(CppAD::Value(
value));
 
  227 #include "pinocchio/autodiff/cppad/spatial/log.hxx" 
  232 #endif // #ifndef __pinocchio_autodiff_cppad_hpp__ 
  
static ADScalar precision()
AD< Base > imag(const AD< Base > &)
bool isfinite(const AD< Scalar > &x)
static CppAD::AD< Base > lowest(void)
static ADScalar get(const mpl::int_< N > &n)
if_then_else_impl< LhsType, RhsType, ThenType, ElseType >::ReturnType if_then_else(const ComparisonOperators op, const LhsType &lhs_value, const RhsType &rhs_value, const ThenType &then_value, const ElseType &else_value)
AD< Base > abs2(const AD< Base > &x)
static Scalar cast(const CppAD::AD< ADScalar > &value)
static CppAD::AD< Base > dummy_precision(void)
static CppAD::AD< Base > epsilon(void)
CppAD::AD< Scalar > ADScalar
CppAD::AD< Base > NonInteger
CppAD::AD< Scalar > ADScalar
static int digits10(void)
static Scalar run(const CppAD::AD< Scalar > &x)
const AD< Base > & conj(const AD< Base > &x)
const AD< Base > & real(const AD< Base > &x)
static ADScalar get(const boost::integral_constant< T, value > &n)
CppAD::AD< Scalar > ADScalar
static CppAD::AD< Base > highest(void)
AD< Scalar > min(const AD< Scalar > &x, const AD< Scalar > &y)
AD< Scalar > max(const AD< Scalar > &x, const AD< Scalar > &y)
CppAD::AD< Base > Literal
TaylorSeriesExpansion< Scalar > Base
#define EIGEN_DEVICE_FUNC
Cast scalar type from type FROM to type TO.
Main pinocchio namespace.
pinocchio
Author(s): 
autogenerated on Wed May 28 2025 02:41:17