diff --git a/Eigen/src/Cholesky/LDLT.h b/Eigen/src/Cholesky/LDLT.h index 31867f884..99e5c25c2 100644 --- a/Eigen/src/Cholesky/LDLT.h +++ b/Eigen/src/Cholesky/LDLT.h @@ -203,7 +203,7 @@ class LDLT : public SolverBase > { * \sa MatrixBase::ldlt(), SelfAdjointView::ldlt() */ template - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif template @@ -642,8 +642,8 @@ MatrixType LDLT::reconstructedMatrix() const { * \sa MatrixBase::ldlt() */ template -inline const LDLT::PlainObject, UpLo> -SelfAdjointView::ldlt() const { +inline LDLT::PlainObject, UpLo> SelfAdjointView::ldlt() + const { return LDLT(m_matrix); } @@ -652,7 +652,7 @@ SelfAdjointView::ldlt() const { * \sa SelfAdjointView::ldlt() */ template -inline const LDLT::PlainObject> MatrixBase::ldlt() const { +inline LDLT::PlainObject> MatrixBase::ldlt() const { return LDLT(derived()); } diff --git a/Eigen/src/Cholesky/LLT.h b/Eigen/src/Cholesky/LLT.h index 905503a3b..09d1a1482 100644 --- a/Eigen/src/Cholesky/LLT.h +++ b/Eigen/src/Cholesky/LLT.h @@ -139,7 +139,7 @@ class LLT : public SolverBase > { * \sa solveInPlace(), MatrixBase::llt(), SelfAdjointView::llt() */ template - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif template @@ -497,7 +497,7 @@ MatrixType LLT::reconstructedMatrix() const { * \sa SelfAdjointView::llt() */ template -inline const LLT::PlainObject> MatrixBase::llt() const { +inline LLT::PlainObject> MatrixBase::llt() const { return LLT(derived()); } @@ -506,7 +506,7 @@ inline const LLT::PlainObject> MatrixBase: * \sa SelfAdjointView::llt() */ template -inline const LLT::PlainObject, UpLo> SelfAdjointView::llt() +inline LLT::PlainObject, UpLo> SelfAdjointView::llt() const { return LLT(m_matrix); } diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h index f12b93fea..35d8327a6 100644 --- a/Eigen/src/Core/MatrixBase.h +++ b/Eigen/src/Core/MatrixBase.h @@ -338,14 +338,14 @@ class MatrixBase : public DenseBase { /////////// LU module /////////// template - inline const FullPivLU fullPivLu() const; + inline FullPivLU fullPivLu() const; template - inline const PartialPivLU partialPivLu() const; + inline PartialPivLU partialPivLu() const; template - inline const PartialPivLU lu() const; + inline PartialPivLU lu() const; - EIGEN_DEVICE_FUNC inline const Inverse inverse() const; + EIGEN_DEVICE_FUNC inline Inverse inverse() const; template inline void computeInverseAndDetWithCheck( @@ -361,18 +361,18 @@ class MatrixBase : public DenseBase { /////////// Cholesky module /////////// - inline const LLT llt() const; - inline const LDLT ldlt() const; + inline LLT llt() const; + inline LDLT ldlt() const; /////////// QR module /////////// - inline const HouseholderQR householderQr() const; + inline HouseholderQR householderQr() const; template - inline const ColPivHouseholderQR colPivHouseholderQr() const; + inline ColPivHouseholderQR colPivHouseholderQr() const; template - inline const FullPivHouseholderQR fullPivHouseholderQr() const; + inline FullPivHouseholderQR fullPivHouseholderQr() const; template - inline const CompleteOrthogonalDecomposition completeOrthogonalDecomposition() const; + inline CompleteOrthogonalDecomposition completeOrthogonalDecomposition() const; /////////// Eigenvalues module /////////// diff --git a/Eigen/src/Core/Random.h b/Eigen/src/Core/Random.h index f8a543562..532ca0e6e 100644 --- a/Eigen/src/Core/Random.h +++ b/Eigen/src/Core/Random.h @@ -19,7 +19,7 @@ namespace internal { template struct scalar_random_op { - inline const Scalar operator()() const { return random(); } + inline Scalar operator()() const { return random(); } }; template diff --git a/Eigen/src/Core/SelfAdjointView.h b/Eigen/src/Core/SelfAdjointView.h index 16f0e7513..4cfa81565 100644 --- a/Eigen/src/Core/SelfAdjointView.h +++ b/Eigen/src/Core/SelfAdjointView.h @@ -219,8 +219,8 @@ class SelfAdjointView : public TriangularBase /////////// Cholesky module /////////// - const LLT llt() const; - const LDLT ldlt() const; + LLT llt() const; + LDLT ldlt() const; /////////// Eigenvalue module /////////// diff --git a/Eigen/src/Core/SolverBase.h b/Eigen/src/Core/SolverBase.h index 5a6dfd425..a6ecbc9f8 100644 --- a/Eigen/src/Core/SolverBase.h +++ b/Eigen/src/Core/SolverBase.h @@ -111,7 +111,7 @@ class SolverBase : public EigenBase { /** \returns an expression of the solution x of \f$ A x = b \f$ using the current decomposition of A. */ template - inline const Solve solve(const MatrixBase& b) const { + inline Solve solve(const MatrixBase& b) const { internal::solve_assertion>::template run(derived(), b); return Solve(derived(), b.derived()); } diff --git a/Eigen/src/Core/TriangularMatrix.h b/Eigen/src/Core/TriangularMatrix.h index 66b860afd..df2c25002 100644 --- a/Eigen/src/Core/TriangularMatrix.h +++ b/Eigen/src/Core/TriangularMatrix.h @@ -244,7 +244,7 @@ class TriangularView } template - EIGEN_DEVICE_FUNC inline const Solve solve(const MatrixBase& other) const { + EIGEN_DEVICE_FUNC inline Solve solve(const MatrixBase& other) const { return Solve(*this, other.derived()); } diff --git a/Eigen/src/Core/functors/BinaryFunctors.h b/Eigen/src/Core/functors/BinaryFunctors.h index 85e1584ea..0f318646a 100644 --- a/Eigen/src/Core/functors/BinaryFunctors.h +++ b/Eigen/src/Core/functors/BinaryFunctors.h @@ -305,7 +305,7 @@ struct scalar_cmp_op : binar */ template struct scalar_hypot_op : binary_op_base { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& x, const Scalar& y) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& x, const Scalar& y) const { // This functor is used by hypotNorm only for which it is faster to first apply abs // on all coefficients prior to reduction through hypot. // This way we avoid calling abs on positive and real entries, and this also permits @@ -342,7 +342,7 @@ struct scalar_pow_op : binary_op_base { } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const { return generic_pow(a, b); } }; @@ -368,12 +368,12 @@ struct scalar_difference_op : binary_op_base { #ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_difference_op(){EIGEN_SCALAR_BINARY_OP_PLUGIN} #endif - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const LhsScalar& a, const RhsScalar& b) const { return a - b; } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const { return internal::psub(a, b); } }; @@ -417,12 +417,12 @@ struct scalar_quotient_op : binary_op_base { #ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_quotient_op(){EIGEN_SCALAR_BINARY_OP_PLUGIN} #endif - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const LhsScalar& a, const RhsScalar& b) const { return a / b; } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const { return internal::pdiv(a, b); } }; @@ -646,12 +646,12 @@ struct scalar_absolute_difference_op : binary_op_base { #ifdef EIGEN_SCALAR_BINARY_OP_PLUGIN scalar_absolute_difference_op(){EIGEN_SCALAR_BINARY_OP_PLUGIN} #endif - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const LhsScalar& a, const RhsScalar& b) const { return numext::absdiff(a, b); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a, const Packet& b) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a, const Packet& b) const { return internal::pabsdiff(a, b); } }; @@ -704,12 +704,12 @@ struct bind1st_op : BinaryOp { EIGEN_DEVICE_FUNC explicit bind1st_op(const first_argument_type& val) : m_value(val) {} - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const second_argument_type& b) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const second_argument_type& b) const { return BinaryOp::operator()(m_value, b); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& b) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& b) const { return BinaryOp::packetOp(internal::pset1(m_value), b); } @@ -726,12 +726,12 @@ struct bind2nd_op : BinaryOp { EIGEN_DEVICE_FUNC explicit bind2nd_op(const second_argument_type& val) : m_value(val) {} - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const first_argument_type& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const first_argument_type& a) const { return BinaryOp::operator()(a, m_value); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return BinaryOp::packetOp(a, internal::pset1(m_value)); } diff --git a/Eigen/src/Core/functors/NullaryFunctors.h b/Eigen/src/Core/functors/NullaryFunctors.h index 35dc73869..6d85883d7 100644 --- a/Eigen/src/Core/functors/NullaryFunctors.h +++ b/Eigen/src/Core/functors/NullaryFunctors.h @@ -20,9 +20,9 @@ namespace internal { template struct scalar_constant_op { EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE scalar_constant_op(const Scalar& other) : m_other(other) {} - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()() const { return m_other; } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()() const { return m_other; } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const PacketType packetOp() const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketType packetOp() const { return internal::pset1(m_other); } const Scalar m_other; @@ -39,9 +39,9 @@ struct functor_traits> { template struct scalar_zero_op { EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE scalar_zero_op() = default; - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()() const { return Scalar(0); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()() const { return Scalar(0); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const PacketType packetOp() const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE PacketType packetOp() const { return internal::pzero(PacketType()); } }; @@ -51,7 +51,7 @@ struct functor_traits> : functor_traits struct scalar_identity_op { template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(IndexType row, IndexType col) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(IndexType row, IndexType col) const { return row == col ? Scalar(1) : Scalar(0); } }; @@ -75,7 +75,7 @@ struct linspaced_op_impl { m_flip(numext::abs(high) < numext::abs(low)) {} template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(IndexType i) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(IndexType i) const { if (m_flip) return (i == 0) ? m_low : Scalar(m_high - RealScalar(m_size1 - i) * m_step); else @@ -83,7 +83,7 @@ struct linspaced_op_impl { } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(IndexType i) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(IndexType i) const { // Principle: // [low, ..., low] + ( [step, ..., step] * ( [i, ..., i] + [0, ..., size] ) ) Packet low = pset1(m_low); @@ -119,7 +119,7 @@ struct linspaced_op_impl { m_use_divisor(num_steps > 1 && (numext::abs(high - low) + 1) < num_steps) {} template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(IndexType i) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(IndexType i) const { if (m_use_divisor) return m_low + convert_index(i) / m_divisor; else @@ -155,12 +155,12 @@ struct linspaced_op { : impl((num_steps == 1 ? high : low), high, num_steps) {} template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(IndexType i) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(IndexType i) const { return impl(i); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(IndexType i) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(IndexType i) const { return impl.template packetOp(i); } @@ -175,7 +175,7 @@ struct equalspaced_op { EIGEN_DEVICE_FUNC equalspaced_op(const Scalar& start, const Scalar& step) : m_start(start), m_step(step) {} template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(IndexType i) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(IndexType i) const { return m_start + m_step * static_cast(i); } template diff --git a/Eigen/src/Core/functors/UnaryFunctors.h b/Eigen/src/Core/functors/UnaryFunctors.h index d7fc7bb4d..8c9f81393 100644 --- a/Eigen/src/Core/functors/UnaryFunctors.h +++ b/Eigen/src/Core/functors/UnaryFunctors.h @@ -24,9 +24,9 @@ namespace internal { */ template struct scalar_opposite_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { return numext::negate(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::negate(a); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::pnegate(a); } }; @@ -43,9 +43,9 @@ struct functor_traits> { template struct scalar_abs_op { typedef typename NumTraits::Real result_type; - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const Scalar& a) const { return numext::abs(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const Scalar& a) const { return numext::abs(a); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::pabs(a); } }; @@ -71,7 +71,7 @@ template struct abs_knowing_score { typedef typename NumTraits::Real result_type; template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const Scalar& a, const Score&) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const Scalar& a, const Score&) const { return numext::abs(a); } }; @@ -79,7 +79,7 @@ template struct abs_knowing_score::Score_is_abs> { typedef typename NumTraits::Real result_type; template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const Scal&, const result_type& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const Scal&, const result_type& a) const { return a; } }; @@ -92,9 +92,9 @@ struct abs_knowing_score::Score_i template struct scalar_abs2_op { typedef typename NumTraits::Real result_type; - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const Scalar& a) const { return numext::abs2(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const Scalar& a) const { return numext::abs2(a); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::pmul(a, a); } }; @@ -113,9 +113,9 @@ struct functor_traits> { */ template struct scalar_conjugate_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { return numext::conj(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::conj(a); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::pconj(a); } }; @@ -143,9 +143,9 @@ struct functor_traits> { template struct scalar_arg_op { typedef typename NumTraits::Real result_type; - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const result_type operator()(const Scalar& a) const { return numext::arg(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE result_type operator()(const Scalar& a) const { return numext::arg(a); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::parg(a); } }; @@ -165,11 +165,9 @@ struct functor_traits> { template struct scalar_carg_op { using result_type = Scalar; - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { - return Scalar(numext::arg(a)); - } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return Scalar(numext::arg(a)); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return pcarg(a); } }; @@ -187,9 +185,7 @@ struct functor_traits> { template struct scalar_cast_op { typedef NewType result_type; - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const NewType operator()(const Scalar& a) const { - return cast(a); - } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE NewType operator()(const Scalar& a) const { return cast(a); } }; template @@ -222,11 +218,11 @@ struct functor_traits> { */ template struct scalar_shift_right_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::arithmetic_shift_right(a); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::parithmetic_shift_right(a); } }; @@ -242,11 +238,11 @@ struct functor_traits> { */ template struct scalar_shift_left_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::logical_shift_left(a); } template - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Packet packetOp(const Packet& a) const { return internal::plogical_shift_left(a); } }; @@ -329,7 +325,7 @@ struct functor_traits> { */ template struct scalar_exp_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return internal::pexp(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return internal::pexp(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pexp(a); @@ -361,7 +357,7 @@ struct functor_traits> { template struct scalar_exp2_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return internal::pexp2(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return internal::pexp2(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pexp2(a); @@ -383,7 +379,7 @@ struct functor_traits> { */ template struct scalar_expm1_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::expm1(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::expm1(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pexpm1(a); @@ -405,7 +401,7 @@ struct functor_traits> { */ template struct scalar_log_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::log(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::log(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog(a); @@ -437,7 +433,7 @@ struct functor_traits> { */ template struct scalar_log1p_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::log1p(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::log1p(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog1p(a); @@ -459,7 +455,7 @@ struct functor_traits> { */ template struct scalar_log10_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { EIGEN_USING_STD(log10) return log10(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { EIGEN_USING_STD(log10) return log10(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::plog10(a); @@ -479,7 +475,7 @@ struct functor_traits> { template struct scalar_log2_op { using RealScalar = typename NumTraits::Real; - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return Scalar(RealScalar(EIGEN_LOG2E)) * numext::log(a); } template @@ -498,7 +494,7 @@ struct functor_traits> { */ template struct scalar_sqrt_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::sqrt(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::sqrt(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psqrt(a); @@ -540,7 +536,7 @@ struct functor_traits> { */ template struct scalar_cbrt_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::cbrt(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::cbrt(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pcbrt(a); @@ -558,7 +554,7 @@ struct functor_traits> { */ template struct scalar_rsqrt_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::rsqrt(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::rsqrt(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::prsqrt(a); @@ -593,7 +589,7 @@ struct functor_traits> { */ template struct scalar_sin_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::sin(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::sin(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psin(a); @@ -610,7 +606,7 @@ struct functor_traits> { */ template struct scalar_tan_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::tan(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::tan(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::ptan(a); @@ -627,7 +623,7 @@ struct functor_traits> { */ template struct scalar_acos_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::acos(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::acos(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pacos(a); @@ -644,7 +640,7 @@ struct functor_traits> { */ template struct scalar_asin_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::asin(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::asin(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pasin(a); @@ -661,7 +657,7 @@ struct functor_traits> { */ template struct scalar_atan_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::atan(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::atan(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::patan(a); @@ -678,7 +674,7 @@ struct functor_traits> { */ template struct scalar_tanh_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::tanh(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::tanh(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& x) const { return ptanh(x); @@ -713,7 +709,7 @@ struct functor_traits> { */ template struct scalar_atanh_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::atanh(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::atanh(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& x) const { return patanh(x); @@ -731,7 +727,7 @@ struct functor_traits> { */ template struct scalar_sinh_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::sinh(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::sinh(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::psinh(a); @@ -748,7 +744,7 @@ struct functor_traits> { */ template struct scalar_asinh_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::asinh(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::asinh(a); } }; template @@ -762,7 +758,7 @@ struct functor_traits> { */ template struct scalar_cosh_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::cosh(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::cosh(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pcosh(a); @@ -779,7 +775,7 @@ struct functor_traits> { */ template struct scalar_acosh_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::acosh(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::acosh(a); } }; template @@ -795,7 +791,7 @@ template struct scalar_inverse_op { EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return Scalar(1) / a; } template - EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::preciprocal(a); } }; @@ -819,7 +815,7 @@ template struct scalar_square_op { EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return a * a; } template - EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pmul(a, a); } }; @@ -833,7 +829,7 @@ template <> struct scalar_square_op { EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline bool operator()(const bool& a) const { return a; } template - EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const { + EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return a; } }; @@ -850,7 +846,7 @@ template struct scalar_cube_op { EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return a * a * a; } template - EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const { + EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pmul(a, pmul(a, a)); } }; @@ -864,7 +860,7 @@ template <> struct scalar_cube_op { EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline bool operator()(const bool& a) const { return a; } template - EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline const Packet packetOp(const Packet& a) const { + EIGEN_DEPRECATED EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return a; } }; @@ -879,7 +875,7 @@ struct functor_traits> { */ template struct scalar_round_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { return numext::round(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::round(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pround(a); @@ -899,7 +895,7 @@ struct functor_traits> { */ template struct scalar_floor_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { return numext::floor(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::floor(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pfloor(a); @@ -919,7 +915,7 @@ struct functor_traits> { */ template struct scalar_rint_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { return numext::rint(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::rint(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::print(a); @@ -939,7 +935,7 @@ struct functor_traits> { */ template struct scalar_ceil_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { return numext::ceil(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::ceil(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::pceil(a); @@ -959,7 +955,7 @@ struct functor_traits> { */ template struct scalar_trunc_op { - EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const Scalar operator()(const Scalar& a) const { return numext::trunc(a); } + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar operator()(const Scalar& a) const { return numext::trunc(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { return internal::ptrunc(a); @@ -1153,7 +1149,7 @@ struct functor_traits> { */ template struct scalar_sign_op { - EIGEN_DEVICE_FUNC inline const Scalar operator()(const Scalar& a) const { return numext::sign(a); } + EIGEN_DEVICE_FUNC inline Scalar operator()(const Scalar& a) const { return numext::sign(a); } template EIGEN_DEVICE_FUNC inline Packet packetOp(const Packet& a) const { diff --git a/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h b/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h index 904d853f9..2be9d436a 100644 --- a/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h +++ b/Eigen/src/IterativeLinearSolvers/BasicPreconditioners.h @@ -86,7 +86,7 @@ class DiagonalPreconditioner { } template - inline const Solve solve(const MatrixBase& b) const { + inline Solve solve(const MatrixBase& b) const { eigen_assert(m_isInitialized && "DiagonalPreconditioner is not initialized."); eigen_assert(m_invdiag.size() == b.rows() && "DiagonalPreconditioner::solve(): invalid number of rows of the right hand side matrix b"); diff --git a/Eigen/src/LU/FullPivLU.h b/Eigen/src/LU/FullPivLU.h index 786cd76da..7723b64c9 100644 --- a/Eigen/src/LU/FullPivLU.h +++ b/Eigen/src/LU/FullPivLU.h @@ -247,7 +247,7 @@ class FullPivLU : public SolverBase > * \sa TriangularView::solve(), kernel(), inverse() */ template - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif /** \returns an estimate of the reciprocal condition number of the matrix of which \c *this is @@ -394,7 +394,7 @@ class FullPivLU : public SolverBase > * * \sa MatrixBase::inverse() */ - inline const Inverse inverse() const { + inline Inverse inverse() const { eigen_assert(m_isInitialized && "LU is not initialized."); eigen_assert(m_lu.rows() == m_lu.cols() && "You can't take the inverse of a non-square matrix!"); return Inverse(*this); @@ -816,8 +816,7 @@ struct Assignment< */ template template -inline const FullPivLU::PlainObject, PermutationIndex> MatrixBase::fullPivLu() - const { +inline FullPivLU::PlainObject, PermutationIndex> MatrixBase::fullPivLu() const { return FullPivLU(eval()); } diff --git a/Eigen/src/LU/InverseImpl.h b/Eigen/src/LU/InverseImpl.h index fe8859e9a..5c24dfec1 100644 --- a/Eigen/src/LU/InverseImpl.h +++ b/Eigen/src/LU/InverseImpl.h @@ -276,7 +276,7 @@ struct Assignment, * \sa computeInverseAndDetWithCheck() */ template -EIGEN_DEVICE_FUNC inline const Inverse MatrixBase::inverse() const { +EIGEN_DEVICE_FUNC inline Inverse MatrixBase::inverse() const { EIGEN_STATIC_ASSERT(!NumTraits::IsInteger, THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPES) eigen_assert(rows() == cols()); return Inverse(derived()); diff --git a/Eigen/src/LU/PartialPivLU.h b/Eigen/src/LU/PartialPivLU.h index 7ea14f576..4abb0bf4d 100644 --- a/Eigen/src/LU/PartialPivLU.h +++ b/Eigen/src/LU/PartialPivLU.h @@ -181,7 +181,7 @@ class PartialPivLU : public SolverBase - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif /** \returns an estimate of the reciprocal condition number of the matrix of which \c *this is @@ -199,7 +199,7 @@ class PartialPivLU : public SolverBase inverse() const { + inline Inverse inverse() const { eigen_assert(m_isInitialized && "PartialPivLU is not initialized."); return Inverse(*this); } @@ -562,8 +562,8 @@ struct Assignment< */ template template -inline const PartialPivLU::PlainObject, PermutationIndex> -MatrixBase::partialPivLu() const { +inline PartialPivLU::PlainObject, PermutationIndex> MatrixBase::partialPivLu() + const { return PartialPivLU(eval()); } @@ -577,7 +577,7 @@ MatrixBase::partialPivLu() const { */ template template -inline const PartialPivLU::PlainObject, PermutationIndex> MatrixBase::lu() const { +inline PartialPivLU::PlainObject, PermutationIndex> MatrixBase::lu() const { return PartialPivLU(eval()); } diff --git a/Eigen/src/QR/ColPivHouseholderQR.h b/Eigen/src/QR/ColPivHouseholderQR.h index 092c29d61..f1659e8d8 100644 --- a/Eigen/src/QR/ColPivHouseholderQR.h +++ b/Eigen/src/QR/ColPivHouseholderQR.h @@ -158,7 +158,7 @@ class ColPivHouseholderQR : public SolverBase - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif HouseholderSequenceType householderQ() const; @@ -318,7 +318,7 @@ class ColPivHouseholderQR : public SolverBase inverse() const { + inline Inverse inverse() const { eigen_assert(m_isInitialized && "ColPivHouseholderQR is not initialized."); return Inverse(*this); } @@ -664,7 +664,7 @@ ColPivHouseholderQR::householderQ() const { */ template template -const ColPivHouseholderQR::PlainObject, PermutationIndexType> +ColPivHouseholderQR::PlainObject, PermutationIndexType> MatrixBase::colPivHouseholderQr() const { return ColPivHouseholderQR(eval()); } diff --git a/Eigen/src/QR/CompleteOrthogonalDecomposition.h b/Eigen/src/QR/CompleteOrthogonalDecomposition.h index 960ccb1e9..1e5cf54f6 100644 --- a/Eigen/src/QR/CompleteOrthogonalDecomposition.h +++ b/Eigen/src/QR/CompleteOrthogonalDecomposition.h @@ -140,7 +140,7 @@ class CompleteOrthogonalDecomposition * */ template - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif HouseholderSequenceType householderQ(void) const; @@ -293,7 +293,7 @@ class CompleteOrthogonalDecomposition * \warning: Do not compute \c this->pseudoInverse()*rhs to solve a linear systems. * It is more efficient and numerically stable to call \c this->solve(rhs). */ - inline const Inverse pseudoInverse() const { + inline Inverse pseudoInverse() const { eigen_assert(m_cpqr.m_isInitialized && "CompleteOrthogonalDecomposition is not initialized."); return Inverse(*this); } @@ -638,7 +638,7 @@ CompleteOrthogonalDecomposition::householderQ() co */ template template -const CompleteOrthogonalDecomposition::PlainObject, PermutationIndex> +CompleteOrthogonalDecomposition::PlainObject, PermutationIndex> MatrixBase::completeOrthogonalDecomposition() const { return CompleteOrthogonalDecomposition(eval()); } diff --git a/Eigen/src/QR/FullPivHouseholderQR.h b/Eigen/src/QR/FullPivHouseholderQR.h index d17344459..e98b5d655 100644 --- a/Eigen/src/QR/FullPivHouseholderQR.h +++ b/Eigen/src/QR/FullPivHouseholderQR.h @@ -186,7 +186,7 @@ class FullPivHouseholderQR : public SolverBase - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif /** \returns Expression object representing the matrix Q @@ -339,7 +339,7 @@ class FullPivHouseholderQR : public SolverBase inverse() const { + inline Inverse inverse() const { eigen_assert(m_isInitialized && "FullPivHouseholderQR is not initialized."); return Inverse(*this); } @@ -723,7 +723,7 @@ FullPivHouseholderQR::matrixQ() const { */ template template -const FullPivHouseholderQR::PlainObject, PermutationIndex> +FullPivHouseholderQR::PlainObject, PermutationIndex> MatrixBase::fullPivHouseholderQr() const { return FullPivHouseholderQR(eval()); } diff --git a/Eigen/src/QR/HouseholderQR.h b/Eigen/src/QR/HouseholderQR.h index 497085dbf..e55fc0fca 100644 --- a/Eigen/src/QR/HouseholderQR.h +++ b/Eigen/src/QR/HouseholderQR.h @@ -156,7 +156,7 @@ class HouseholderQR : public SolverBase> { * Output: \verbinclude HouseholderQR_solve.out */ template - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif /** This method returns an expression of the unitary matrix Q as a sequence of Householder transformations. @@ -534,7 +534,7 @@ void HouseholderQR::computeInPlace() { * \sa class HouseholderQR */ template -const HouseholderQR::PlainObject> MatrixBase::householderQr() const { +HouseholderQR::PlainObject> MatrixBase::householderQr() const { return HouseholderQR(eval()); } diff --git a/Eigen/src/SVD/SVDBase.h b/Eigen/src/SVD/SVDBase.h index dcb4dba20..c34bf0d44 100644 --- a/Eigen/src/SVD/SVDBase.h +++ b/Eigen/src/SVD/SVDBase.h @@ -290,7 +290,7 @@ class SVDBase : public SolverBase > { * A x - b \Vert \f$. */ template - inline const Solve solve(const MatrixBase& b) const; + inline Solve solve(const MatrixBase& b) const; #endif /** \brief Reports whether previous computation was successful. diff --git a/Eigen/src/SparseCore/SparseSolverBase.h b/Eigen/src/SparseCore/SparseSolverBase.h index d67a6773b..acf1564a9 100644 --- a/Eigen/src/SparseCore/SparseSolverBase.h +++ b/Eigen/src/SparseCore/SparseSolverBase.h @@ -81,7 +81,7 @@ class SparseSolverBase : internal::noncopyable { * \sa compute() */ template - inline const Solve solve(const MatrixBase& b) const { + inline Solve solve(const MatrixBase& b) const { eigen_assert(m_isInitialized && "Solver is not initialized."); eigen_assert(derived().rows() == b.rows() && "solve(): invalid number of rows of the right hand side matrix b"); return Solve(derived(), b.derived()); @@ -92,7 +92,7 @@ class SparseSolverBase : internal::noncopyable { * \sa compute() */ template - inline const Solve solve(const SparseMatrixBase& b) const { + inline Solve solve(const SparseMatrixBase& b) const { eigen_assert(m_isInitialized && "Solver is not initialized."); eigen_assert(derived().rows() == b.rows() && "solve(): invalid number of rows of the right hand side matrix b"); return Solve(derived(), b.derived()); diff --git a/Eigen/src/SparseLU/SparseLU.h b/Eigen/src/SparseLU/SparseLU.h index cc69a42de..a54c5c191 100644 --- a/Eigen/src/SparseLU/SparseLU.h +++ b/Eigen/src/SparseLU/SparseLU.h @@ -310,7 +310,7 @@ class SparseLU : public SparseSolverBase>, * \sa compute() */ template - inline const Solve solve(const MatrixBase& B) const; + inline Solve solve(const MatrixBase& B) const; #endif // EIGEN_PARSED_BY_DOXYGEN /** \brief Reports whether previous computation was successful. diff --git a/Eigen/src/SparseQR/SparseQR.h b/Eigen/src/SparseQR/SparseQR.h index 4dc7aa9f8..78c35d814 100644 --- a/Eigen/src/SparseQR/SparseQR.h +++ b/Eigen/src/SparseQR/SparseQR.h @@ -241,14 +241,14 @@ class SparseQR : public SparseSolverBase > * \sa compute() */ template - inline const Solve solve(const MatrixBase& B) const { + inline Solve solve(const MatrixBase& B) const { eigen_assert(m_isInitialized && "The factorization should be called first, use compute()"); eigen_assert(this->rows() == B.rows() && "SparseQR::solve() : invalid number of rows in the right hand side matrix"); return Solve(*this, B.derived()); } template - inline const Solve solve(const SparseMatrixBase& B) const { + inline Solve solve(const SparseMatrixBase& B) const { eigen_assert(m_isInitialized && "The factorization should be called first, use compute()"); eigen_assert(this->rows() == B.rows() && "SparseQR::solve() : invalid number of rows in the right hand side matrix");