5 #ifndef __pinocchio_math_fwd_hpp__ 6 #define __pinocchio_math_fwd_hpp__ 8 #include "pinocchio/fwd.hpp" 10 #include <boost/math/constants/constants.hpp> 25 template<
typename Scalar>
27 {
return boost::math::constants::pi<Scalar>(); }
35 #define PINOCCHIO_OVERLOAD_MATH_UNARY_OPERATOR(name) \ 36 template<typename Scalar> \ 37 Scalar name(const Scalar & value) \ 38 { using std::name; return name(value); } 40 #define PINOCCHIO_OVERLOAD_MATH_BINARY_OPERATOR(name) \ 43 template<typename T1, typename T2> \ 44 struct return_type_##name \ 48 template<typename T1, typename T2> \ 51 static inline typename return_type_##name<T1,T2>::type \ 52 run(const T1 & a, const T2 & b) \ 53 { using std::name; return name(a,b); } \ 56 template<typename T1, typename T2> \ 57 inline typename internal::return_type_##name<T1,T2>::type name(const T1 & a, const T2 & b) \ 58 { return internal::call_##name<T1,T2>::run(a,b); } 75 #endif //#ifndef __pinocchio_math_fwd_hpp__ JointCollectionTpl const DataTpl< Scalar, Options, JointCollectionTpl > const Eigen::MatrixBase< Mat > & min
#define PINOCCHIO_OVERLOAD_MATH_BINARY_OPERATOR(name)
AD< Scalar > max(const AD< Scalar > &x, const AD< Scalar > &y)
const Scalar PI()
Returns the value of PI according to the template parameters Scalar.
#define PINOCCHIO_OVERLOAD_MATH_UNARY_OPERATOR(name)
Main pinocchio namespace.