mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 03:39:01 +08:00
Make sure we evaluate into temporaries matching evaluator storage order requirements
This commit is contained in:
parent
3eba5e1101
commit
62f332fc04
@ -695,9 +695,8 @@ void call_assignment(const Dst& dst, const Src& src)
|
||||
template<typename Dst, typename Src, typename Func>
|
||||
void call_assignment(Dst& dst, const Src& src, const Func& func, typename enable_if<evaluator_traits<Src>::AssumeAliasing==1, void*>::type = 0)
|
||||
{
|
||||
|
||||
#ifdef EIGEN_TEST_EVALUATORS
|
||||
typename Src::PlainObject tmp(src);
|
||||
typename plain_matrix_type<Src>::type tmp(src);
|
||||
#else
|
||||
typename Src::PlainObject tmp(src.rows(), src.cols());
|
||||
call_assignment_no_alias(tmp, src, internal::assign_op<typename Dst::Scalar>());
|
||||
|
@ -102,10 +102,9 @@ template<typename Derived> class SparseMatrixBase : public EigenBase<Derived>
|
||||
Transpose<const Derived>
|
||||
>::type AdjointReturnType;
|
||||
|
||||
|
||||
// FIXME storage order do not match evaluator storage order
|
||||
typedef SparseMatrix<Scalar, Flags&RowMajorBit ? RowMajor : ColMajor, Index> PlainObject;
|
||||
|
||||
|
||||
#ifndef EIGEN_PARSED_BY_DOXYGEN
|
||||
/** This is the "real scalar" type; if the \a Scalar type is already real numbers
|
||||
* (e.g. int, float or double) then \a RealScalar is just the same as \a Scalar. If
|
||||
|
Loading…
x
Reference in New Issue
Block a user