Go to the documentation of this file.
    5 #ifndef __pinocchio_math_tensor_hpp__ 
    6 #define __pinocchio_math_tensor_hpp__ 
   10 #if !EIGEN_VERSION_AT_LEAST(3, 2, 90) 
   11   #define EIGEN_DEVICE_FUNC 
   14 #ifndef PINOCCHIO_WITH_EIGEN_TENSOR_MODULE 
   15   #if (__cplusplus <= 199711L && EIGEN_COMP_MSVC < 1900) || defined(__CUDACC__)                    \ 
   16     || defined(EIGEN_AVOID_STL_ARRAY) 
   19   template<
typename T, std::
size_t n>
 
   39     EIGEN_STRONG_INLINE 
const T & 
front()
 const 
   50     EIGEN_STRONG_INLINE 
const T & 
back()
 const 
   63   template<
class T, std::
size_t n>
 
   66     for (std::size_t 
i = 0; 
i < 
n; ++
i)
 
   76   template<
class T, std::
size_t n>
 
   86   template<
typename T, std::
size_t N>
 
   87   using array = std::array<T, N>;
 
   95 #ifndef PINOCCHIO_WITH_EIGEN_TENSOR_MODULE 
  102     typename IndexType = Eigen::DenseIndex>
 
  105     EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
  141       assert(
n <= 
NumIndices && 
"n is larger than the dimension of the tensor.");
 
  195       EIGEN_STATIC_ASSERT(1 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  203       EIGEN_STATIC_ASSERT(2 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  212       EIGEN_STATIC_ASSERT(3 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  222       EIGEN_STATIC_ASSERT(4 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  227     : 
m_storage(dim1 * dim2 * dim3 * dim4 * dim5)
 
  234       EIGEN_STATIC_ASSERT(5 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  240       EIGEN_STATIC_ASSERT(1 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  247       EIGEN_STATIC_ASSERT(2 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  254       EIGEN_STATIC_ASSERT(3 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  261       EIGEN_STATIC_ASSERT(4 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  268     EIGEN_STRONG_INLINE 
const Scalar &
 
  271       EIGEN_STATIC_ASSERT(5 == 
NumIndices, YOU_MADE_A_PROGRAMMING_MISTAKE)
 
  292       bool size_changed = 
size != this->
size();
 
  296   #ifdef EIGEN_INITIALIZE_COEFFS 
  299     #if defined(EIGEN_INITIALIZE_MATRICES_BY_ZERO) 
  301     #elif defined(EIGEN_INITIALIZE_MATRICES_BY_NAN) 
  302         m_storage.fill(std::numeric_limits<Scalar>::quiet_NaN());
 
  319     typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> 
StorageType;
 
  332     typename IndexType = Eigen::DenseIndex>
 
  333   using Tensor = Eigen::Tensor<Scalar_, NumIndices_, Options_, IndexType>;
 
  335 #endif // ifndef PINOCCHIO_WITH_EIGEN_TENSOR_MODULE 
  339 #if !EIGEN_VERSION_AT_LEAST(3, 2, 90) 
  340   #undef EIGEN_DEVICE_FUNC 
  343 #endif // ifndef __pinocchio_math_tensor_hpp__ 
  
Eigen::array< Index, NumIndices_ > Dimensions
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor(const Tensor &other)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor(Index dim1)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor & setRandom()
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef Scalar_ Scalar
EIGEN_DEVICE_FUNC void resize(const Eigen::array< Index, NumIndices > &dimensions)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor(Index dim1, Index dim2, Index dim3)
const Tensor & base() const
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar * data() const
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar & operator()(Index i0, Index i1, Index i2, Index i3) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor(Index dim1, Index dim2, Index dim3, Index dim4)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & operator[](size_t index)
EIGEN_DEVICE_FUNC bool operator!=(const Tensor &other) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor & setZero()
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar & operator()(Index i0) const
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE T & back() const
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar & operator()(Index i0, Index i1, Index i2, Index i3, Index i4) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index size() const
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Dimensions & dimensions() const
EIGEN_DEVICE_FUNC bool operator==(const Tensor &other) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rank() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor & setConstant(const Scalar &val)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar * data()
EIGEN_DEVICE_FUNC bool operator==(const array< T, n > &lhs, const array< T, n > &rhs)
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE T & front() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & front()
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar & operator()(Index i0, Index i1, Index i2) const
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE Scalar & operator()(Index i0, Index i1) const
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE T & operator[](size_t index) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index dimension(std::size_t n) const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor(Index dim1, Index dim2, Index dim3, Index dim4, Index dim5)
EIGEN_DEVICE_FUNC bool operator!=(const array< T, n > &lhs, const array< T, n > &rhs)
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T & back()
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Tensor(Index dim1, Index dim2)
Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > StorageType
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Dimensions & dimensions()
#define EIGEN_DEVICE_FUNC
Main pinocchio namespace.
EIGEN_DEVICE_FUNC static EIGEN_ALWAYS_INLINE std::size_t size()
pinocchio
Author(s): 
autogenerated on Wed May 28 2025 02:41:22