arpack.hpp: Dont use complex.h C macros

Fixes build with llvm on osx, as with libc++
including complex.h just gives you the c++ header.
This commit is contained in:
Julien Schueller
2019-11-26 11:58:33 +01:00
parent 531d24c41f
commit 4bc2349330
+4 -2
View File
@@ -201,10 +201,11 @@ inline void neupd(a_int rvec, howmny const howmny_option, a_int* select,
std::complex<float>* v, a_int ldv, a_int* iparam, a_int* ipntr,
std::complex<float>* workd, std::complex<float>* workl,
a_int lworkl, float* rwork, a_int& info) {
std::complex<float> sigma2 = sigma;
internal::cneupd_c(rvec, internal::convert_to_char(howmny_option), select,
reinterpret_cast<_Complex float*>(d),
reinterpret_cast<_Complex float*>(z), ldz,
std::real(sigma) + std::imag(sigma) * I,
*reinterpret_cast<_Complex float*>(&sigma2),
reinterpret_cast<_Complex float*>(workev),
internal::convert_to_char(bmat_option), n,
internal::convert_to_char(ritz_option), nev, tol,
@@ -238,10 +239,11 @@ inline void neupd(a_int rvec, howmny const howmny_option, a_int* select,
std::complex<double>* v, a_int ldv, a_int* iparam, a_int* ipntr,
std::complex<double>* workd, std::complex<double>* workl,
a_int lworkl, double* rwork, a_int& info) {
std::complex<double> sigma2 = sigma;
internal::zneupd_c(rvec, internal::convert_to_char(howmny_option), select,
reinterpret_cast<_Complex double*>(d),
reinterpret_cast<_Complex double*>(z), ldz,
std::real(sigma) + _Complex_I * std::imag(sigma),
*reinterpret_cast<_Complex double*>(&sigma2),
reinterpret_cast<_Complex double*>(workev),
internal::convert_to_char(bmat_option), n,
internal::convert_to_char(ritz_option), nev, tol,