aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2014-07-19 15:19:10 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2014-07-19 15:19:10 +0200
commit62f332fc041a33a151617d93e60503a8a9bbf043 (patch)
treeaf8ae77843d6a41d4ecd9ba88876daec534416c6
parent3eba5e1101d8652483e1cf232a06dccf49a8a530 (diff)
Make sure we evaluate into temporaries matching evaluator storage order requirements
-rw-r--r--Eigen/src/Core/AssignEvaluator.h3
-rw-r--r--Eigen/src/SparseCore/SparseMatrixBase.h3
2 files changed, 2 insertions, 4 deletions
diff --git a/Eigen/src/Core/AssignEvaluator.h b/Eigen/src/Core/AssignEvaluator.h
index c45ac96f2..43755c2fd 100644
--- a/Eigen/src/Core/AssignEvaluator.h
+++ b/Eigen/src/Core/AssignEvaluator.h
@@ -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>());
diff --git a/Eigen/src/SparseCore/SparseMatrixBase.h b/Eigen/src/SparseCore/SparseMatrixBase.h
index a6452fa4e..361a66067 100644
--- a/Eigen/src/SparseCore/SparseMatrixBase.h
+++ b/Eigen/src/SparseCore/SparseMatrixBase.h
@@ -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