mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-24 02:29:33 +08:00
Chipping Asserts v2
This commit is contained in:
parent
fc92fe3125
commit
05a457534f
@ -934,6 +934,7 @@ class TensorBase<Derived, ReadOnlyAccessors>
|
||||
template <Index DimId> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
||||
const TensorChippingOp<DimId, const Derived>
|
||||
chip(const Index offset) const {
|
||||
EIGEN_STATIC_ASSERT(DimId < Derived::NumDimensions && DimId >= 0, Chip_Dim_out_of_range)
|
||||
return TensorChippingOp<DimId, const Derived>(derived(), offset, DimId);
|
||||
}
|
||||
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
||||
@ -1132,11 +1133,13 @@ class TensorBase : public TensorBase<Derived, ReadOnlyAccessors> {
|
||||
template <DenseIndex DimId> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
||||
const TensorChippingOp<DimId, const Derived>
|
||||
chip(const Index offset) const {
|
||||
EIGEN_STATIC_ASSERT(DimId < Derived::NumDimensions && DimId >= 0, Chip_Dim_out_of_range)
|
||||
return TensorChippingOp<DimId, const Derived>(derived(), offset, DimId);
|
||||
}
|
||||
template <Index DimId> EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE
|
||||
TensorChippingOp<DimId, Derived>
|
||||
chip(const Index offset) {
|
||||
EIGEN_STATIC_ASSERT(DimId < Derived::NumDimensions && DimId >= 0, Chip_Dim_out_of_range)
|
||||
return TensorChippingOp<DimId, Derived>(derived(), offset, DimId);
|
||||
}
|
||||
|
||||
|
@ -78,7 +78,9 @@ class TensorChippingOp : public TensorBase<TensorChippingOp<DimId, XprType> > {
|
||||
typedef typename Eigen::internal::traits<TensorChippingOp>::Index Index;
|
||||
|
||||
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorChippingOp(const XprType& expr, const Index offset, const Index dim)
|
||||
: m_xpr(expr), m_offset(offset), m_dim(dim) {}
|
||||
: m_xpr(expr), m_offset(offset), m_dim(dim) {
|
||||
eigen_assert(dim < XprType::NumDimensions && dim >= 0 && "Chip_Dim_out_of_range");
|
||||
}
|
||||
|
||||
EIGEN_DEVICE_FUNC const Index offset() const { return m_offset; }
|
||||
EIGEN_DEVICE_FUNC const Index dim() const { return m_dim.actualDim(); }
|
||||
|
Loading…
x
Reference in New Issue
Block a user