aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Core/MatrixBase.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2015-10-22 16:10:28 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2015-10-22 16:10:28 +0200
commit6df8e99470d1ecdd89f451c1bd366672d5a27b6b (patch)
treeaf2a2028e610bb6017ee9583412fd88a8aab7bf5 /Eigen/src/Core/MatrixBase.h
parente78bc111f1dc0a7af2360b836c94c33d67e55fc5 (diff)
bug #1089: add a warning when using a MatrixBase method which is implemented within another module by declaring them inline.
Diffstat (limited to 'Eigen/src/Core/MatrixBase.h')
-rw-r--r--Eigen/src/Core/MatrixBase.h49
1 files changed, 27 insertions, 22 deletions
diff --git a/Eigen/src/Core/MatrixBase.h b/Eigen/src/Core/MatrixBase.h
index 7c66572d1..b5afff005 100644
--- a/Eigen/src/Core/MatrixBase.h
+++ b/Eigen/src/Core/MatrixBase.h
@@ -328,23 +328,26 @@ template<typename Derived> class MatrixBase
/////////// LU module ///////////
- EIGEN_DEVICE_FUNC const FullPivLU<PlainObject> fullPivLu() const;
- EIGEN_DEVICE_FUNC const PartialPivLU<PlainObject> partialPivLu() const;
+ EIGEN_DEVICE_FUNC
+ inline const FullPivLU<PlainObject> fullPivLu() const;
+ EIGEN_DEVICE_FUNC
+ inline const PartialPivLU<PlainObject> partialPivLu() const;
- const PartialPivLU<PlainObject> lu() const;
+ EIGEN_DEVICE_FUNC
+ inline const PartialPivLU<PlainObject> lu() const;
EIGEN_DEVICE_FUNC
- const Inverse<Derived> inverse() const;
+ inline const Inverse<Derived> inverse() const;
template<typename ResultType>
- void computeInverseAndDetWithCheck(
+ inline void computeInverseAndDetWithCheck(
ResultType& inverse,
typename ResultType::Scalar& determinant,
bool& invertible,
const RealScalar& absDeterminantThreshold = NumTraits<Scalar>::dummy_precision()
) const;
template<typename ResultType>
- void computeInverseWithCheck(
+ inline void computeInverseWithCheck(
ResultType& inverse,
bool& invertible,
const RealScalar& absDeterminantThreshold = NumTraits<Scalar>::dummy_precision()
@@ -353,22 +356,24 @@ template<typename Derived> class MatrixBase
/////////// Cholesky module ///////////
- const LLT<PlainObject> llt() const;
- const LDLT<PlainObject> ldlt() const;
+ inline const LLT<PlainObject> llt() const;
+ inline const LDLT<PlainObject> ldlt() const;
/////////// QR module ///////////
- const HouseholderQR<PlainObject> householderQr() const;
- const ColPivHouseholderQR<PlainObject> colPivHouseholderQr() const;
- const FullPivHouseholderQR<PlainObject> fullPivHouseholderQr() const;
+ inline const HouseholderQR<PlainObject> householderQr() const;
+ inline const ColPivHouseholderQR<PlainObject> colPivHouseholderQr() const;
+ inline const FullPivHouseholderQR<PlainObject> fullPivHouseholderQr() const;
+
+/////////// Eigenvalues module ///////////
- EigenvaluesReturnType eigenvalues() const;
- RealScalar operatorNorm() const;
+ inline EigenvaluesReturnType eigenvalues() const;
+ inline RealScalar operatorNorm() const;
/////////// SVD module ///////////
- JacobiSVD<PlainObject> jacobiSvd(unsigned int computationOptions = 0) const;
- BDCSVD<PlainObject> bdcSvd(unsigned int computationOptions = 0) const;
+ inline JacobiSVD<PlainObject> jacobiSvd(unsigned int computationOptions = 0) const;
+ inline BDCSVD<PlainObject> bdcSvd(unsigned int computationOptions = 0) const;
/////////// Geometry module ///////////
@@ -381,24 +386,24 @@ template<typename Derived> class MatrixBase
#endif // EIGEN_PARSED_BY_DOXYGEN
template<typename OtherDerived>
EIGEN_DEVICE_FUNC
- typename cross_product_return_type<OtherDerived>::type
+ inline typename cross_product_return_type<OtherDerived>::type
cross(const MatrixBase<OtherDerived>& other) const;
template<typename OtherDerived>
EIGEN_DEVICE_FUNC
- PlainObject cross3(const MatrixBase<OtherDerived>& other) const;
+ inline PlainObject cross3(const MatrixBase<OtherDerived>& other) const;
EIGEN_DEVICE_FUNC
- PlainObject unitOrthogonal(void) const;
+ inline PlainObject unitOrthogonal(void) const;
- Matrix<Scalar,3,1> eulerAngles(Index a0, Index a1, Index a2) const;
+ inline Matrix<Scalar,3,1> eulerAngles(Index a0, Index a1, Index a2) const;
- ScalarMultipleReturnType operator*(const UniformScaling<Scalar>& s) const;
+ inline ScalarMultipleReturnType operator*(const UniformScaling<Scalar>& s) const;
// put this as separate enum value to work around possible GCC 4.3 bug (?)
enum { HomogeneousReturnTypeDirection = ColsAtCompileTime==1&&RowsAtCompileTime==1 ? ((internal::traits<Derived>::Flags&RowMajorBit)==RowMajorBit ? Horizontal : Vertical)
: ColsAtCompileTime==1 ? Vertical : Horizontal };
typedef Homogeneous<Derived, HomogeneousReturnTypeDirection> HomogeneousReturnType;
- HomogeneousReturnType homogeneous() const;
+ inline HomogeneousReturnType homogeneous() const;
enum {
SizeMinusOne = SizeAtCompileTime==Dynamic ? Dynamic : SizeAtCompileTime-1
@@ -409,7 +414,7 @@ template<typename Derived> class MatrixBase
typedef CwiseUnaryOp<internal::scalar_quotient1_op<typename internal::traits<Derived>::Scalar>,
const ConstStartMinusOne > HNormalizedReturnType;
- const HNormalizedReturnType hnormalized() const;
+ inline const HNormalizedReturnType hnormalized() const;
////////// Householder module ///////////