mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-05-02 00:34:14 +08:00
Workaround MSVC ICE
This commit is contained in:
parent
466d6d41c6
commit
486ca277a0
@ -277,7 +277,16 @@ template<typename _MatrixType, unsigned int _Mode> class TriangularView
|
|||||||
solve(const MatrixBase<Other>& other) const
|
solve(const MatrixBase<Other>& other) const
|
||||||
{ return Solve<TriangularView, Other>(*this, other.derived()); }
|
{ return Solve<TriangularView, Other>(*this, other.derived()); }
|
||||||
|
|
||||||
|
// workaround MSVC ICE
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
template<int Side, typename Other>
|
||||||
|
EIGEN_DEVICE_FUNC
|
||||||
|
inline const internal::triangular_solve_retval<Side,TriangularView, Other>
|
||||||
|
solve(const MatrixBase<Other>& other) const
|
||||||
|
{ return Base::template solve<Side>(other); }
|
||||||
|
#else
|
||||||
using Base::solve;
|
using Base::solve;
|
||||||
|
#endif
|
||||||
#endif // EIGEN_TEST_EVALUATORS
|
#endif // EIGEN_TEST_EVALUATORS
|
||||||
|
|
||||||
EIGEN_DEVICE_FUNC
|
EIGEN_DEVICE_FUNC
|
||||||
@ -575,7 +584,7 @@ template<typename _MatrixType, unsigned int _Mode> class TriangularViewImpl<_Mat
|
|||||||
EIGEN_STRONG_INLINE void _solve_impl(const RhsType &rhs, DstType &dst) const {
|
EIGEN_STRONG_INLINE void _solve_impl(const RhsType &rhs, DstType &dst) const {
|
||||||
if(!(internal::is_same<RhsType,DstType>::value && internal::extract_data(dst) == internal::extract_data(rhs)))
|
if(!(internal::is_same<RhsType,DstType>::value && internal::extract_data(dst) == internal::extract_data(rhs)))
|
||||||
dst = rhs;
|
dst = rhs;
|
||||||
this->template solveInPlace(dst);
|
this->solveInPlace(dst);
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename ProductType>
|
template<typename ProductType>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user