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
| typedef Eigen::Index Eigen::Stride< _OuterStrideAtCompileTime, _InnerStrideAtCompileTime >::Index |
- Устаревшее:
- с Eigen 3.3
Stride() [1/3]
| inline |
Конструктор по умолчанию, для использования, когда шаги фиксированы во время компиляции
Stride() [2/3]
| inline |
Конструктор, позволяющий передать шаги во время выполнения
Stride() [3/3]
| inline |
Копирующий конструктор
inner()
| inline |
- Возвращает
- внутренний шаг
outer()
| inline |
- Возвращает
- внешний шаг
Документация для этого класса была сгенерирована из следующего файла:
© Eigen.
Licensed under the MPL2 License.
https://eigen.tuxfamily.org/dox/classEigen_1_1Stride.html