mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-13 12:19:12 +08:00
Inlining fixes + fixed typo.
Removed ei_assert in presence of static assert.
This commit is contained in:
parent
1503043981
commit
d177c1f3ac
@ -147,7 +147,6 @@ EIGEN_STRONG_INLINE const CwiseNullaryOp<CustomNullaryOp, Derived>
|
|||||||
MatrixBase<Derived>::NullaryExpr(int size, const CustomNullaryOp& func)
|
MatrixBase<Derived>::NullaryExpr(int size, const CustomNullaryOp& func)
|
||||||
{
|
{
|
||||||
EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
|
EIGEN_STATIC_ASSERT_VECTOR_ONLY(Derived)
|
||||||
ei_assert(IsVectorAtCompileTime);
|
|
||||||
if(RowsAtCompileTime == 1) return CwiseNullaryOp<CustomNullaryOp, Derived>(1, size, func);
|
if(RowsAtCompileTime == 1) return CwiseNullaryOp<CustomNullaryOp, Derived>(1, size, func);
|
||||||
else return CwiseNullaryOp<CustomNullaryOp, Derived>(size, 1, func);
|
else return CwiseNullaryOp<CustomNullaryOp, Derived>(size, 1, func);
|
||||||
}
|
}
|
||||||
|
@ -112,6 +112,16 @@ struct ei_redux_novec_unroller<Func, Derived, Start, 1>
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// This is actually dead code and will never be called. It is required
|
||||||
|
// to prevent false warnings regarding failed inlining though
|
||||||
|
// for 0 length run() will never be called at all.
|
||||||
|
template<typename Func, typename Derived, int Start>
|
||||||
|
struct ei_redux_novec_unroller<Func, Derived, Start, 0>
|
||||||
|
{
|
||||||
|
typedef typename Derived::Scalar Scalar;
|
||||||
|
EIGEN_STRONG_INLINE static Scalar run(const Derived&, const Func&) { return Scalar(); }
|
||||||
|
};
|
||||||
|
|
||||||
/*** vectorization ***/
|
/*** vectorization ***/
|
||||||
|
|
||||||
template<typename Func, typename Derived, int Start, int Length>
|
template<typename Func, typename Derived, int Start, int Length>
|
||||||
@ -297,7 +307,7 @@ struct ei_redux_impl<Func, Derived, LinearVectorization, CompleteUnrolling>
|
|||||||
/** \returns the result of a full redux operation on the whole matrix or vector using \a func
|
/** \returns the result of a full redux operation on the whole matrix or vector using \a func
|
||||||
*
|
*
|
||||||
* The template parameter \a BinaryOp is the type of the functor \a func which must be
|
* The template parameter \a BinaryOp is the type of the functor \a func which must be
|
||||||
* an assiociative operator. Both current STL and TR1 functor styles are handled.
|
* an associative operator. Both current STL and TR1 functor styles are handled.
|
||||||
*
|
*
|
||||||
* \sa MatrixBase::sum(), MatrixBase::minCoeff(), MatrixBase::maxCoeff(), MatrixBase::colwise(), MatrixBase::rowwise()
|
* \sa MatrixBase::sum(), MatrixBase::minCoeff(), MatrixBase::maxCoeff(), MatrixBase::colwise(), MatrixBase::rowwise()
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user