From 05da15bf40a32a3a8f10c44b1b9f4d2b496e1ace Mon Sep 17 00:00:00 2001 From: Kolja Brix Date: Tue, 18 Jun 2013 09:44:40 +0200 Subject: [PATCH] bug #230, fix compilation issues and wrong static assertions --- unsupported/Eigen/ArpackSupport | 2 +- .../src/Eigenvalues/ArpackSelfAdjointEigenSolver.h | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/unsupported/Eigen/ArpackSupport b/unsupported/Eigen/ArpackSupport index 98f8e886b..37a2799ef 100644 --- a/unsupported/Eigen/ArpackSupport +++ b/unsupported/Eigen/ArpackSupport @@ -23,7 +23,7 @@ */ #include -#include "src/Eigenvalues/ArpackGeneralizedSelfAdjointEigenSolver.h" +#include "src/Eigenvalues/ArpackSelfAdjointEigenSolver.h" #include diff --git a/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h b/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h index 68b5dd5cc..3b6a69aff 100644 --- a/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h +++ b/unsupported/Eigen/src/Eigenvalues/ArpackSelfAdjointEigenSolver.h @@ -25,7 +25,7 @@ #ifndef EIGEN_ARPACKGENERALIZEDSELFADJOINTEIGENSOLVER_H #define EIGEN_ARPACKGENERALIZEDSELFADJOINTEIGENSOLVER_H - +#include namespace Eigen { @@ -337,6 +337,8 @@ ArpackGeneralizedSelfAdjointEigenSolver& { MatrixType B(0,0); compute(A, B, nbrEigenvalues, eigs_sigma, options, tol); + + return *this; } @@ -681,7 +683,9 @@ template struct arpack_wrapper int *nev, RealScalar *tol, Scalar *resid, int *ncv, Scalar *v, int *ldv, int *iparam, int *ipntr, Scalar *workd, Scalar *workl, int *lworkl, int *info) - { EIGEN_STATIC_ASSERT(false, static_assertion::NUMERIC_TYPE_MUST_BE_REAL); } + { + EIGEN_STATIC_ASSERT(!NumTraits::IsComplex, NUMERIC_TYPE_MUST_BE_REAL) + } static inline void seupd(int *rvec, char *All, int *select, Scalar *d, Scalar *z, int *ldz, RealScalar *sigma, @@ -689,7 +693,9 @@ template struct arpack_wrapper RealScalar *tol, Scalar *resid, int *ncv, Scalar *v, int *ldv, int *iparam, int *ipntr, Scalar *workd, Scalar *workl, int *lworkl, int *ierr) - { EIGEN_STATIC_ASSERT(false, static_assertion::NUMERIC_TYPE_MUST_BE_REAL); } + { + EIGEN_STATIC_ASSERT(!NumTraits::IsComplex, NUMERIC_TYPE_MUST_BE_REAL) + } }; template <> struct arpack_wrapper