aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
diff options
context:
space:
mode:
authorGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2015-03-24 13:12:14 -0700
committerGravatar Benoit Steiner <benoit.steiner.goog@gmail.com>2015-03-24 13:12:14 -0700
commitd3f7915aeb5fb08da7961cfb0160561ec0cf56bb (patch)
treeadf1d716f3ebd09540728776b719bfe8cdb1a022 /Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
parent0196141938e5f988308eab82450cf283dacdf844 (diff)
parentabdbe8562e889a0ca0877d607cfd5c4cbf937e3a (diff)
Pulled latest update from the eigen main codebase
Diffstat (limited to 'Eigen/src/Eigenvalues/GeneralizedEigenSolver.h')
-rw-r--r--Eigen/src/Eigenvalues/GeneralizedEigenSolver.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h b/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
index c9da6740a..e2e28cd4a 100644
--- a/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
+++ b/Eigen/src/Eigenvalues/GeneralizedEigenSolver.h
@@ -263,6 +263,13 @@ template<typename _MatrixType> class GeneralizedEigenSolver
}
protected:
+
+ static void check_template_parameters()
+ {
+ EIGEN_STATIC_ASSERT_NON_INTEGER(Scalar);
+ EIGEN_STATIC_ASSERT(!NumTraits<Scalar>::IsComplex, NUMERIC_TYPE_MUST_BE_REAL);
+ }
+
MatrixType m_eivec;
ComplexVectorType m_alphas;
VectorType m_betas;
@@ -290,6 +297,8 @@ template<typename MatrixType>
GeneralizedEigenSolver<MatrixType>&
GeneralizedEigenSolver<MatrixType>::compute(const MatrixType& A, const MatrixType& B, bool computeEigenvectors)
{
+ check_template_parameters();
+
using std::sqrt;
using std::abs;
eigen_assert(A.cols() == A.rows() && B.cols() == A.rows() && B.cols() == B.rows());