This scalar needs to be passed by ref to preserve its alignment.

This commit is contained in:
Hauke Heibel 2010-06-15 10:26:12 +02:00
parent e5aa6a466b
commit 99d952466f
2 changed files with 3 additions and 3 deletions

View File

@ -226,7 +226,7 @@ template<typename Derived> class MatrixBase
template<unsigned int UpLo> SelfAdjointView<Derived, UpLo> selfadjointView();
template<unsigned int UpLo> const SelfAdjointView<Derived, UpLo> selfadjointView() const;
const SparseView<Derived> sparseView(const Scalar m_reference = Scalar(0),
const SparseView<Derived> sparseView(const Scalar& m_reference = Scalar(0),
typename NumTraits<Scalar>::Real m_epsilon = NumTraits<Scalar>::dummy_precision()) const;
static const IdentityReturnType Identity();
static const IdentityReturnType Identity(Index rows, Index cols);

View File

@ -35,7 +35,7 @@ class SparseView : public SparseMatrixBase<SparseView<MatrixType> >
public:
EIGEN_SPARSE_PUBLIC_INTERFACE(SparseView)
SparseView(const MatrixType& mat, const Scalar m_reference = Scalar(0),
SparseView(const MatrixType& mat, const Scalar& m_reference = Scalar(0),
typename NumTraits<Scalar>::Real m_epsilon = NumTraits<Scalar>::dummy_precision()) :
m_matrix(mat), m_reference(m_reference), m_epsilon(m_epsilon) {}
class InnerIterator;
@ -86,7 +86,7 @@ private:
};
template<typename Derived>
const SparseView<Derived> MatrixBase<Derived>::sparseView(const Scalar m_reference,
const SparseView<Derived> MatrixBase<Derived>::sparseView(const Scalar& m_reference,
typename NumTraits<Scalar>::Real m_epsilon) const
{
return SparseView<Derived>(derived(), m_reference, m_epsilon);