Public Types | Public Member Functions | Protected Attributes | List of all members
Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime > Class Template Reference

Holds strides information for Map. More...

#include <Stride.h>

Public Types

enum  { InnerStrideAtCompileTime = _InnerStrideAtCompileTime, OuterStrideAtCompileTime = _OuterStrideAtCompileTime }
 
typedef Eigen::Index Index
 

Public Member Functions

EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index inner () const
 
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index outer () const
 
EIGEN_DEVICE_FUNC Stride ()
 
EIGEN_DEVICE_FUNC Stride (const Stride &other)
 
EIGEN_DEVICE_FUNC Stride (Index outerStride, Index innerStride)
 

Protected Attributes

internal::variable_if_dynamic< Index, InnerStrideAtCompileTimem_inner
 
internal::variable_if_dynamic< Index, OuterStrideAtCompileTimem_outer
 

Detailed Description

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
class Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >

Holds strides information for Map.

This class holds the strides information for mapping arrays with strides with class Map.

It holds two values: the inner stride and the outer stride.

The inner stride is the pointer increment between two consecutive entries within a given row of a row-major matrix or within a given column of a column-major matrix.

The outer stride is the pointer increment between two consecutive rows of a row-major matrix or between two consecutive columns of a column-major matrix.

These two values can be passed either at compile-time as template parameters, or at runtime as arguments to the constructor.

Indeed, this class takes two template parameters:

Template Parameters
_OuterStrideAtCompileTimethe outer stride, or Dynamic if you want to specify it at runtime.
_InnerStrideAtCompileTimethe inner stride, or Dynamic if you want to specify it at runtime.

Here is an example:

int array[24];
for(int i = 0; i < 24; ++i) array[i] = i;
cout << Map<MatrixXi, 0, Stride<Dynamic,2> >
(array, 3, 3, Stride<Dynamic,2>(8, 2))
<< endl;

Output:

Both strides can be negative, however, a negative stride of -1 cannot be specified at compiletime because of the ambiguity with Dynamic which is defined to -1 (historically, negative strides were not allowed).

See also
class InnerStride, class OuterStride, TopicStorageOrders

Definition at line 48 of file Stride.h.

Member Typedef Documentation

◆ Index

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
typedef Eigen::Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Index
Deprecated:
since Eigen 3.3

Definition at line 51 of file Stride.h.

Member Enumeration Documentation

◆ anonymous enum

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
anonymous enum
Enumerator
InnerStrideAtCompileTime 
OuterStrideAtCompileTime 

Definition at line 52 of file Stride.h.

Constructor & Destructor Documentation

◆ Stride() [1/3]

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_DEVICE_FUNC Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride ( )
inline

Default constructor, for use when strides are fixed at compile time

Definition at line 59 of file Stride.h.

◆ Stride() [2/3]

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_DEVICE_FUNC Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride ( Index  outerStride,
Index  innerStride 
)
inline

Constructor allowing to pass the strides at runtime

Definition at line 69 of file Stride.h.

◆ Stride() [3/3]

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_DEVICE_FUNC Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Stride ( const Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime > &  other)
inline

Copy constructor

Definition at line 76 of file Stride.h.

Member Function Documentation

◆ inner()

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::inner ( ) const
inline
Returns
the inner stride

Definition at line 85 of file Stride.h.

◆ outer()

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::outer ( ) const
inline
Returns
the outer stride

Definition at line 82 of file Stride.h.

Member Data Documentation

◆ m_inner

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
internal::variable_if_dynamic<Index, InnerStrideAtCompileTime> Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::m_inner
protected

Definition at line 89 of file Stride.h.

◆ m_outer

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
internal::variable_if_dynamic<Index, OuterStrideAtCompileTime> Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::m_outer
protected

Definition at line 88 of file Stride.h.


The documentation for this class was generated from the following file:
array
int array[24]
Definition: Map_general_stride.cpp:1
array
Definition: numpy.h:821
i
int i
Definition: BiCGSTAB_step_by_step.cpp:9


gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:12:13