15#include "./InternalHeaderCheck.h"
55template <
int OuterStr
ideAtCompileTime_,
int InnerStr
ideAtCompileTime_>
59 enum { InnerStrideAtCompileTime = InnerStrideAtCompileTime_, OuterStrideAtCompileTime = OuterStrideAtCompileTime_ };
62 EIGEN_DEVICE_FUNC
constexpr Stride() : m_outer(OuterStrideAtCompileTime), m_inner(InnerStrideAtCompileTime) {
63 eigen_assert(InnerStrideAtCompileTime != Dynamic && OuterStrideAtCompileTime != Dynamic);
68 : m_outer(outerStride), m_inner(innerStride) {}
75 m_outer.setValue(other.
outer());
76 m_inner.setValue(other.
inner());
81 EIGEN_DEVICE_FUNC
constexpr Index outer()
const {
return m_outer.value(); }
83 EIGEN_DEVICE_FUNC
constexpr Index inner()
const {
return m_inner.value(); }
86 internal::variable_if_dynamic<Index, OuterStrideAtCompileTime> m_outer;
87 internal::variable_if_dynamic<Index, InnerStrideAtCompileTime> m_inner;
93class InnerStride :
public Stride<0, Value> {
97 EIGEN_DEVICE_FUNC
constexpr InnerStride() =
default;
98 EIGEN_DEVICE_FUNC
constexpr InnerStride(
Index v) : Base(0, v) {}
104class OuterStride :
public Stride<Value, 0> {
108 EIGEN_DEVICE_FUNC
constexpr OuterStride() =
default;
109 EIGEN_DEVICE_FUNC
constexpr OuterStride(
Index v) : Base(v, 0) {}
constexpr Stride & operator=(const Stride &other)
Definition Stride.h:74
constexpr Stride(Index outerStride, Index innerStride)
Definition Stride.h:67
constexpr Stride()
Definition Stride.h:62
constexpr Index outer() const
Definition Stride.h:81
Eigen::Index Index
Definition Stride.h:58
constexpr Index inner() const
Definition Stride.h:83
constexpr Stride(const Stride &other)=default