Do not initialize invalid fast_strides in TensorGeneratorOp

This commit is contained in:
Eugene Zhulenev 2019-03-04 16:58:49 -08:00
parent b95941e5c2
commit efb5080d31

View File

@ -113,16 +113,15 @@ struct TensorEvaluator<const TensorGeneratorOp<Generator, ArgType>, Device>
m_strides[0] = 1;
for (int i = 1; i < NumDims; ++i) {
m_strides[i] = m_strides[i - 1] * m_dimensions[i - 1];
if (m_strides[i] != 0) m_fast_strides[i] = IndexDivisor(m_strides[i]);
}
} else {
m_strides[NumDims - 1] = 1;
for (int i = NumDims - 2; i >= 0; --i) {
m_strides[i] = m_strides[i + 1] * m_dimensions[i + 1];
if (m_strides[i] != 0) m_fast_strides[i] = IndexDivisor(m_strides[i]);
}
}
for (int i = 0; i < NumDims; ++i) {
m_fast_strides[i] = IndexDivisor(m_strides[i]);
}
}
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Dimensions& dimensions() const { return m_dimensions; }