5 #ifndef __pinocchio_codegen_ccpadcg_hpp__ 6 #define __pinocchio_codegen_ccpadcg_hpp__ 8 #define PINOCCHIO_WITH_CPPADCG_SUPPORT 10 #include "pinocchio/math/fwd.hpp" 13 #include <cppad/cg/support/cppadcg_eigen.hpp> 15 #include "pinocchio/autodiff/cppad.hpp" 17 #ifndef PINOCCHIO_WITH_CXX11_SUPPORT 18 #error CppADCodeGen requires C++11 or more 29 template<
typename Scalar>
30 struct constant_pi<
CppAD::cg::CG<Scalar> > : constant_pi<Scalar>
35 static inline CGScalar
get(
const mpl::int_<N>&
n)
37 return CGScalar(constant_pi<Scalar>::get(
n));
40 template <
class T, T value>
41 static inline CGScalar
get(
const std::integral_constant<T, value> &
n)
43 return CGScalar(constant_pi<Scalar>::get(
n));
56 template<
typename Scalar>
59 #if EIGEN_VERSION_AT_LEAST(3,2,90) 62 static inline Scalar run(
const CppAD::cg::CG<Scalar> & x)
72 template <
class Scalar>
77 template <
class Scalar>
84 template<
typename Scalar>
93 return CGScalar(Base::template precision<degree>());
99 #endif // #ifndef __pinocchio_codegen_ccpadcg_hpp__ TaylorSeriesExpansion< Scalar > Base
bool isfinite(const CG< Scalar > &x)
CppAD::cg::CG< Scalar > CGScalar
#define EIGEN_DEVICE_FUNC
static Scalar run(const CppAD::cg::CG< Scalar > &x)
static CGScalar precision()
Main pinocchio namespace.
CppAD::cg::CG< Scalar > CGScalar