Spec-Zone.ru › Eigen3

Eigen::Stride

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

Содержит информацию о шагах для Map.

Этот класс содержит информацию о шагах для сопоставления массивов с шагами с классом Map.

Он содержит две величины: внутренний шаг и внешний шаг.

Внутренний шаг — это приращение указателя между двумя последовательными элементами в данной строке матрицы в строчном порядке или в данном столбце матрицы в столбцовом порядке.

Внешний шаг — это приращение указателя между двумя последовательными строками матрицы в строчном порядке или между двумя последовательными столбцами матрицы в столбцовом порядке.

Эти два значения можно передавать либо во время компиляции как параметры шаблона, либо во время выполнения как аргументы конструктора.

Действительно, этот класс принимает два параметра шаблона:

Параметры шаблона
_OuterStrideAtCompileTime внешний шаг или Dynamic, если нужно указать его во время выполнения.
_InnerStrideAtCompileTime внутренний шаг или Dynamic, если нужно указать его во время выполнения.

Вот пример:

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;

Вывод:

 0  8 16
 2 10 18
 4 12 20

Оба шага могут быть отрицательными, однако отрицательный шаг -1 нельзя указать во время компиляции из-за неоднозначности с Dynamic, которое определено как -1 (исторически отрицательные шаги были запрещены).

См. также
класс InnerStride, класс OuterStride, Порядки хранения
typedef Eigen::Index Index
EIGEN_CONSTEXPR Index inner () const
EIGEN_CONSTEXPR Index outer () const
Stride ()
Stride (const Stride &other)
Stride (Index outerStride, Index innerStride)

Index

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
typedef Eigen::Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Index
Устаревшее:
с Eigen 3.3

Stride() [1/3]

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

Конструктор по умолчанию, для использования, когда шаги фиксированы во время компиляции

Stride() [2/3]

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

Конструктор, позволяющий передать шаги во время выполнения

Stride() [3/3]

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

Копирующий конструктор

inner()

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_CONSTEXPR Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::inner ( ) const
inline
Возвращает
внутренний шаг

outer()

template<int _OuterStrideAtCompileTime, int _InnerStrideAtCompileTime>
EIGEN_CONSTEXPR Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::outer ( ) const
inline
Возвращает
внешний шаг

Документация для этого класса была сгенерирована из следующего файла:
  • Stride.h

© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/classEigen_1_1Stride.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API