mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-05 18:24:06 +08:00
A bit of cleaning
This commit is contained in:
parent
aceae8314b
commit
0a6c472335
@ -509,7 +509,7 @@ EIGEN_STRONG_INLINE Derived& DenseBase<Derived>
|
|||||||
#ifdef EIGEN_TEST_EVALUATORS
|
#ifdef EIGEN_TEST_EVALUATORS
|
||||||
|
|
||||||
eigen_assert(rows() == other.rows() && cols() == other.cols());
|
eigen_assert(rows() == other.rows() && cols() == other.cols());
|
||||||
internal::call_dense_assignment_loop(derived(),other.derived());
|
internal::call_assignment_no_alias(derived(),other.derived());
|
||||||
|
|
||||||
#else // EIGEN_TEST_EVALUATORS
|
#else // EIGEN_TEST_EVALUATORS
|
||||||
|
|
||||||
@ -530,23 +530,7 @@ EIGEN_STRONG_INLINE Derived& DenseBase<Derived>
|
|||||||
|
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
||||||
#ifdef EIGEN_TEST_EVALUATORS
|
#ifndef EIGEN_TEST_EVALUATORS
|
||||||
|
|
||||||
// TODO remove this class which is now useless
|
|
||||||
|
|
||||||
template<typename Derived, typename OtherDerived>
|
|
||||||
struct assign_selector {
|
|
||||||
EIGEN_DEVICE_FUNC
|
|
||||||
static EIGEN_STRONG_INLINE Derived& run(Derived& dst, const OtherDerived& other) {
|
|
||||||
call_assignment(dst, other.derived(), internal::assign_op<typename OtherDerived::Scalar>());
|
|
||||||
return dst;
|
|
||||||
}
|
|
||||||
template<typename ActualDerived, typename ActualOtherDerived>
|
|
||||||
EIGEN_DEVICE_FUNC
|
|
||||||
static EIGEN_STRONG_INLINE Derived& evalTo(ActualDerived& dst, const ActualOtherDerived& other) { other.evalTo(dst); return dst; }
|
|
||||||
};
|
|
||||||
|
|
||||||
#else // EIGEN_TEST_EVALUATORS
|
|
||||||
template<typename Derived, typename OtherDerived,
|
template<typename Derived, typename OtherDerived,
|
||||||
bool EvalBeforeAssigning = (int(internal::traits<OtherDerived>::Flags) & EvalBeforeAssigningBit) != 0,
|
bool EvalBeforeAssigning = (int(internal::traits<OtherDerived>::Flags) & EvalBeforeAssigningBit) != 0,
|
||||||
bool NeedToTranspose = ((int(Derived::RowsAtCompileTime) == 1 && int(OtherDerived::ColsAtCompileTime) == 1)
|
bool NeedToTranspose = ((int(Derived::RowsAtCompileTime) == 1 && int(OtherDerived::ColsAtCompileTime) == 1)
|
||||||
@ -585,6 +569,59 @@ struct assign_selector<Derived,OtherDerived,true,true> {
|
|||||||
#endif // EIGEN_TEST_EVALUATORS
|
#endif // EIGEN_TEST_EVALUATORS
|
||||||
} // end namespace internal
|
} // end namespace internal
|
||||||
|
|
||||||
|
#ifdef EIGEN_TEST_EVALUATORS
|
||||||
|
template<typename Derived>
|
||||||
|
template<typename OtherDerived>
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::operator=(const DenseBase<OtherDerived>& other)
|
||||||
|
{
|
||||||
|
internal::call_assignment(derived(), other.derived());
|
||||||
|
return derived();
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename Derived>
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
EIGEN_STRONG_INLINE Derived& DenseBase<Derived>::operator=(const DenseBase& other)
|
||||||
|
{
|
||||||
|
internal::call_assignment(derived(), other.derived());
|
||||||
|
return derived();
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename Derived>
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const MatrixBase& other)
|
||||||
|
{
|
||||||
|
internal::call_assignment(derived(), other.derived());
|
||||||
|
return derived();
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename Derived>
|
||||||
|
template <typename OtherDerived>
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const DenseBase<OtherDerived>& other)
|
||||||
|
{
|
||||||
|
internal::call_assignment(derived(), other.derived());
|
||||||
|
return derived();
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename Derived>
|
||||||
|
template <typename OtherDerived>
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const EigenBase<OtherDerived>& other)
|
||||||
|
{
|
||||||
|
other.derived().evalTo(derived());
|
||||||
|
return derived();
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename Derived>
|
||||||
|
template<typename OtherDerived>
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const ReturnByValue<OtherDerived>& other)
|
||||||
|
{
|
||||||
|
other.derived().evalTo(derived());
|
||||||
|
return derived();
|
||||||
|
}
|
||||||
|
#else // EIGEN_TEST_EVALUATORS
|
||||||
template<typename Derived>
|
template<typename Derived>
|
||||||
template<typename OtherDerived>
|
template<typename OtherDerived>
|
||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
@ -620,11 +657,7 @@ template <typename OtherDerived>
|
|||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const EigenBase<OtherDerived>& other)
|
EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const EigenBase<OtherDerived>& other)
|
||||||
{
|
{
|
||||||
#ifdef EIGEN_TEST_EVALUATORS
|
|
||||||
return internal::assign_selector<Derived,OtherDerived>::evalTo(derived(), other.derived());
|
|
||||||
#else
|
|
||||||
return internal::assign_selector<Derived,OtherDerived,false>::evalTo(derived(), other.derived());
|
return internal::assign_selector<Derived,OtherDerived,false>::evalTo(derived(), other.derived());
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Derived>
|
template<typename Derived>
|
||||||
@ -632,12 +665,9 @@ template<typename OtherDerived>
|
|||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const ReturnByValue<OtherDerived>& other)
|
EIGEN_STRONG_INLINE Derived& MatrixBase<Derived>::operator=(const ReturnByValue<OtherDerived>& other)
|
||||||
{
|
{
|
||||||
#ifdef EIGEN_TEST_EVALUATORS
|
|
||||||
return internal::assign_selector<Derived,OtherDerived>::evalTo(derived(), other.derived());
|
|
||||||
#else
|
|
||||||
return internal::assign_selector<Derived,OtherDerived,false>::evalTo(derived(), other.derived());
|
return internal::assign_selector<Derived,OtherDerived,false>::evalTo(derived(), other.derived());
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
#endif // EIGEN_TEST_EVALUATORS
|
||||||
|
|
||||||
} // end namespace Eigen
|
} // end namespace Eigen
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user