diff --git a/PARPACK/SRC/MPI/icbpcn.f90 b/PARPACK/SRC/MPI/icbpcn.f90 index f5257555c..70a49769d 100644 --- a/PARPACK/SRC/MPI/icbpcn.f90 +++ b/PARPACK/SRC/MPI/icbpcn.f90 @@ -5,23 +5,23 @@ subroutine pcnaupd_c(comm, ido, bmat, n, which, nev, tol, resid, ncv, v, ldv,& bind(c, name="pcnaupd_c") use :: iso_c_binding implicit none - integer(kind=c_int), value, intent(in) :: comm + integer(kind=c_int), value, intent(in) :: comm integer(kind=c_int), intent(inout) :: ido - character(kind=c_char), dimension(1), intent(in) :: bmat - integer(kind=c_int), value, intent(in) :: n - character(kind=c_char), dimension(2), intent(in) :: which - integer(kind=c_int), value, intent(in) :: nev - real(kind=c_float_complex), value, intent(in) :: tol - real(kind=c_float_complex), dimension(n), intent(inout) :: resid - integer(kind=c_int), value, intent(in) :: ncv - real(kind=c_float_complex), dimension(ldv, ncv), intent(out) :: v - integer(kind=c_int), value, intent(in) :: ldv - integer(kind=c_int), dimension(11), intent(inout) :: iparam - integer(kind=c_int), dimension(11), intent(out) :: ipntr - real(kind=c_float_complex), dimension(3*n), intent(out) :: workd - real(kind=c_float_complex), dimension(lworkl), intent(out) :: workl - integer(kind=c_int), value, intent(in) :: lworkl - real(kind=c_float_complex), dimension(ncv), intent(out) :: rwork + character(kind=c_char), dimension(1), intent(in) :: bmat + integer(kind=c_int), value, intent(in) :: n + character(kind=c_char), dimension(2), intent(in) :: which + integer(kind=c_int), value, intent(in) :: nev + real(kind=c_float), value, intent(in) :: tol + complex(kind=c_float_complex),dimension(n), intent(inout) :: resid + integer(kind=c_int), value, intent(in) :: ncv + complex(kind=c_float_complex),dimension(ldv, ncv),intent(out) :: v + integer(kind=c_int), value, intent(in) :: ldv + integer(kind=c_int), dimension(11), intent(inout) :: iparam + integer(kind=c_int), dimension(11), intent(out) :: ipntr + complex(kind=c_float_complex),dimension(3*n), intent(out) :: workd + complex(kind=c_float_complex),dimension(lworkl), intent(out) :: workl + integer(kind=c_int), value, intent(in) :: lworkl + complex(kind=c_float_complex),dimension(ncv), intent(out) :: rwork integer(kind=c_int), intent(inout) :: info call pcnaupd(comm, ido, bmat, n, which, nev, tol, resid, ncv, v, ldv,& iparam, ipntr, workd, workl, lworkl, rwork, info) @@ -33,30 +33,30 @@ subroutine pcneupd_c(comm, rvec, howmny, select, d, z, ldz, sigma, workev,& bind(c, name="pcneupd_c") use :: iso_c_binding implicit none - integer(kind=c_int), value, intent(in) :: comm - logical(kind=c_bool), value, intent(in) :: rvec - character(kind=c_char), dimension(1), intent(in) :: howmny - logical(kind=c_bool), dimension(ncv), intent(in) :: select - real(kind=c_float_complex), dimension(nev), intent(out) :: d - real(kind=c_float_complex), dimension(n, nev), intent(out) :: z - integer(kind=c_int), value, intent(in) :: ldz - real(kind=c_float_complex), value, intent(in) :: sigma - real(kind=c_float_complex), dimension(2*ncv), intent(in) :: workev - character(kind=c_char), dimension(1), intent(in) :: bmat - integer(kind=c_int), value, intent(in) :: n - character(kind=c_char), dimension(2), intent(in) :: which - integer(kind=c_int), value, intent(in) :: nev - real(kind=c_float_complex), value, intent(in) :: tol - real(kind=c_float_complex), dimension(n), intent(inout) :: resid - integer(kind=c_int), value, intent(in) :: ncv - real(kind=c_float_complex), dimension(ldv, ncv), intent(out) :: v - integer(kind=c_int), value, intent(in) :: ldv - integer(kind=c_int), dimension(11), intent(inout) :: iparam - integer(kind=c_int), dimension(11), intent(out) :: ipntr - real(kind=c_float_complex), dimension(3*n), intent(out) :: workd - real(kind=c_float_complex), dimension(lworkl), intent(out) :: workl - integer(kind=c_int), value, intent(in) :: lworkl - real(kind=c_float_complex), dimension(ncv), intent(out) :: rwork + integer(kind=c_int), value, intent(in) :: comm + logical(kind=c_bool), value, intent(in) :: rvec + character(kind=c_char), dimension(1), intent(in) :: howmny + logical(kind=c_bool), dimension(ncv), intent(in) :: select + complex(kind=c_float_complex),dimension(nev), intent(out) :: d + complex(kind=c_float_complex),dimension(n, nev), intent(out) :: z + integer(kind=c_int), value, intent(in) :: ldz + complex(kind=c_float_complex),value, intent(in) :: sigma + complex(kind=c_float_complex),dimension(2*ncv), intent(out) :: workev + character(kind=c_char), dimension(1), intent(in) :: bmat + integer(kind=c_int), value, intent(in) :: n + character(kind=c_char), dimension(2), intent(in) :: which + integer(kind=c_int), value, intent(in) :: nev + real(kind=c_float), value, intent(in) :: tol + complex(kind=c_float_complex),dimension(n), intent(inout) :: resid + integer(kind=c_int), value, intent(in) :: ncv + complex(kind=c_float_complex),dimension(ldv, ncv),intent(out) :: v + integer(kind=c_int), value, intent(in) :: ldv + integer(kind=c_int), dimension(11), intent(inout) :: iparam + integer(kind=c_int), dimension(11), intent(out) :: ipntr + complex(kind=c_float_complex),dimension(3*n), intent(out) :: workd + complex(kind=c_float_complex),dimension(lworkl), intent(out) :: workl + integer(kind=c_int), value, intent(in) :: lworkl + complex(kind=c_float_complex),dimension(ncv), intent(out) :: rwork integer(kind=c_int), intent(inout) :: info call pcneupd(comm, rvec, howmny, select, d, z, ldz, sigma, workev,& bmat, n, which, nev, tol, resid, ncv, v, ldv, & diff --git a/PARPACK/SRC/MPI/icbpzn.f90 b/PARPACK/SRC/MPI/icbpzn.f90 index cd649bf10..dd2e5d080 100644 --- a/PARPACK/SRC/MPI/icbpzn.f90 +++ b/PARPACK/SRC/MPI/icbpzn.f90 @@ -5,24 +5,24 @@ subroutine pznaupd_c(comm, ido, bmat, n, which, nev, tol, resid, ncv, v, ldv,& bind(c, name="pznaupd_c") use :: iso_c_binding implicit none - integer(kind=c_int), value, intent(in) :: comm - integer(kind=c_int), intent(inout) :: ido - character(kind=c_char), dimension(1), intent(in) :: bmat - integer(kind=c_int), value, intent(in) :: n - character(kind=c_char), dimension(2), intent(in) :: which - integer(kind=c_int), value, intent(in) :: nev - real(kind=c_double_complex), value, intent(in) :: tol - real(kind=c_double_complex), dimension(n), intent(inout) :: resid - integer(kind=c_int), value, intent(in) :: ncv - real(kind=c_double_complex), dimension(ldv, ncv), intent(out) :: v - integer(kind=c_int), value, intent(in) :: ldv - integer(kind=c_int), dimension(11), intent(inout) :: iparam - integer(kind=c_int), dimension(11), intent(out) :: ipntr - real(kind=c_double_complex), dimension(3*n), intent(out) :: workd - real(kind=c_double_complex), dimension(lworkl), intent(out) :: workl - integer(kind=c_int), value, intent(in) :: lworkl - real(kind=c_double_complex), dimension(ncv), intent(out) :: rwork - integer(kind=c_int), intent(inout) :: info + integer(kind=c_int), value, intent(in) :: comm + integer(kind=c_int), intent(inout) :: ido + character(kind=c_char), dimension(1), intent(in) :: bmat + integer(kind=c_int), value, intent(in) :: n + character(kind=c_char), dimension(2), intent(in) :: which + integer(kind=c_int), value, intent(in) :: nev + real(kind=c_double), value, intent(in) :: tol + complex(kind=c_double_complex), dimension(n), intent(inout) :: resid + integer(kind=c_int), value, intent(in) :: ncv + complex(kind=c_double_complex), dimension(ldv, ncv),intent(out) :: v + integer(kind=c_int), value, intent(in) :: ldv + integer(kind=c_int), dimension(11), intent(inout) :: iparam + integer(kind=c_int), dimension(11), intent(out) :: ipntr + complex(kind=c_double_complex), dimension(3*n), intent(out) :: workd + complex(kind=c_double_complex), dimension(lworkl), intent(out) :: workl + integer(kind=c_int), value, intent(in) :: lworkl + complex(kind=c_double_complex), dimension(ncv), intent(out) :: rwork + integer(kind=c_int), intent(inout) :: info call pznaupd(comm, ido, bmat, n, which, nev, tol, resid, ncv, v, ldv,& iparam, ipntr, workd, workl, lworkl, rwork, info) end subroutine pznaupd_c @@ -33,31 +33,31 @@ subroutine pzneupd_c(comm, rvec, howmny, select, d, z, ldz, sigma, workev,& bind(c, name="pzneupd_c") use :: iso_c_binding implicit none - integer(kind=c_int), value, intent(in) :: comm - logical(kind=c_bool), value, intent(in) :: rvec - character(kind=c_char), dimension(1), intent(in) :: howmny - logical(kind=c_bool), dimension(ncv), intent(in) :: select - real(kind=c_double_complex), dimension(nev), intent(out) :: d - real(kind=c_double_complex), dimension(n, nev), intent(out) :: z - integer(kind=c_int), value, intent(in) :: ldz - real(kind=c_double_complex), value, intent(in) :: sigma - real(kind=c_double_complex), dimension(2*ncv), intent(in) :: workev - character(kind=c_char), dimension(1), intent(in) :: bmat - integer(kind=c_int), value, intent(in) :: n - character(kind=c_char), dimension(2), intent(in) :: which - integer(kind=c_int), value, intent(in) :: nev - real(kind=c_double_complex), value, intent(in) :: tol - real(kind=c_double_complex), dimension(n), intent(inout) :: resid - integer(kind=c_int), value, intent(in) :: ncv - real(kind=c_double_complex), dimension(ldv, ncv), intent(out) :: v - integer(kind=c_int), value, intent(in) :: ldv - integer(kind=c_int), dimension(11), intent(inout) :: iparam - integer(kind=c_int), dimension(11), intent(out) :: ipntr - real(kind=c_double_complex), dimension(3*n), intent(out) :: workd - real(kind=c_double_complex), dimension(lworkl), intent(out) :: workl - integer(kind=c_int), value, intent(in) :: lworkl - real(kind=c_double_complex), dimension(ncv), intent(out) :: rwork - integer(kind=c_int), intent(inout) :: info + integer(kind=c_int), value, intent(in) :: comm + logical(kind=c_bool), value, intent(in) :: rvec + character(kind=c_char), dimension(1), intent(in) :: howmny + logical(kind=c_bool), dimension(ncv), intent(in) :: select + complex(kind=c_double_complex), dimension(nev), intent(out) :: d + complex(kind=c_double_complex), dimension(n, nev), intent(out) :: z + integer(kind=c_int), value, intent(in) :: ldz + complex(kind=c_double_complex), value, intent(in) :: sigma + complex(kind=c_double_complex), dimension(2*ncv), intent(out) :: workev + character(kind=c_char), dimension(1), intent(in) :: bmat + integer(kind=c_int), value, intent(in) :: n + character(kind=c_char), dimension(2), intent(in) :: which + integer(kind=c_int), value, intent(in) :: nev + real(kind=c_double), value, intent(in) :: tol + complex(kind=c_double_complex), dimension(n), intent(inout) :: resid + integer(kind=c_int), value, intent(in) :: ncv + complex(kind=c_double_complex), dimension(ldv, ncv),intent(out) :: v + integer(kind=c_int), value, intent(in) :: ldv + integer(kind=c_int), dimension(11), intent(inout) :: iparam + integer(kind=c_int), dimension(11), intent(out) :: ipntr + complex(kind=c_double_complex), dimension(3*n), intent(out) :: workd + complex(kind=c_double_complex), dimension(lworkl), intent(out) :: workl + integer(kind=c_int), value, intent(in) :: lworkl + complex(kind=c_double_complex), dimension(ncv), intent(out) :: rwork + integer(kind=c_int), intent(inout) :: info call pzneupd(comm, rvec, howmny, select, d, z, ldz, sigma, workev,& bmat, n, which, nev, tol, resid, ncv, v, ldv, & iparam, ipntr, workd, workl, lworkl, rwork, info) diff --git a/parpack.h b/parpack.h index 10b516d6c..e1c15df23 100644 --- a/parpack.h +++ b/parpack.h @@ -12,73 +12,18 @@ extern "C" { #endif -extern void pssaupd_c(MPI_Fint comm, int * ido, const char * bmat, int n, const char * which, int nev, - float tol, float * resid, int ncv, float * v, - int ldv, int * iparam, int * ipntr, float * workd, - float * workl, int lworkl, int * info); - -extern void psseupd_c(MPI_Fint comm, bool rvec, const char * howmny, int * select, float * d, float * z, int ldz, float sigma, - const char * bmat, int n, const char * which, int nev, - float tol, float * resid, int ncv, float * v, - int ldv, int * iparam, int * ipntr, float * workd, - float * workl, int lworkl, int * info); - -extern void pdsaupd_c(MPI_Fint comm, int * ido, const char * bmat, int n, const char * which, int nev, - double tol, double * resid, int ncv, double * v, - int ldv, int * iparam, int * ipntr, double * workd, - double * workl, int lworkl, int * info); - -extern void pdseupd_c(MPI_Fint comm, bool rvec, const char * howmny, int * select, double * d, double * z, int ldz, double sigma, - const char * bmat, int n, const char * which, int nev, - double tol, double * resid, int ncv, double * v, - int ldv, int * iparam, int * ipntr, double * workd, - double * workl, int lworkl, int * info); - -extern void psnaupd_c(MPI_Fint comm, int * ido, const char * bmat, int n, const char * which, int nev, - float tol, float * resid, int ncv, float * v, - int ldv, int * iparam, int * ipntr, float * workd, - float * workl, int lworkl, int * info); - -extern void psneupd_c(MPI_Fint comm, bool rvec, const char * howmny, int * select, float * dr, float * di, float * z, int ldz, float sigmar, float sigmai, - const char * bmat, int n, const char * which, int nev, - float tol, float * resid, int ncv, float * v, - int ldv, int * iparam, int * ipntr, float * workd, - float * workl, int lworkl, int * info); - -extern void pdnaupd_c(MPI_Fint comm, int * ido, const char * bmat, int n, const char * which, int nev, - double tol, double * resid, int ncv, double * v, - int ldv, int * iparam, int * ipntr, double * workd, - double * workl, int lworkl, int * info); - -extern void pdneupd_c(MPI_Fint comm, bool rvec, const char * howmny, int * select, double * dr, double * di, double * z, int ldz, double sigmar, double sigmai, - const char * bmat, int n, const char * which, int nev, - double tol, double * resid, int ncv, double * v, - int ldv, int * iparam, int * ipntr, double * workd, - double * workl, int lworkl, int * info); - -extern void pcnaupd_c(MPI_Fint comm, int * ido, const char * bmat, int n, const char * which, int nev, - float tol, float _Complex * resid, int ncv, float _Complex * v, - int ldv, int * iparam, int * ipntr, float _Complex * workd, - float _Complex * workl, int lworkl, float _Complex * rwork, int * info); - -extern void pcneupd_c(MPI_Fint comm, bool rvec, const char * howmny, int * select, - float _Complex * d, float _Complex * z, int ldz, float _Complex sigma, float _Complex * workev, - const char * bmat, int n, const char * which, int nev, - float tol, float _Complex * resid, int ncv, float _Complex * v, - int ldv, int * iparam, int * ipntr, float _Complex * workd, - float _Complex * workl, int lworkl, float _Complex * rwork, int * info); - -extern void pznaupd_c(MPI_Fint comm, int * ido, const char * bmat, int n, const char * which, int nev, - double tol, double _Complex * resid, int ncv, double _Complex * v, - int ldv, int * iparam, int * ipntr, double _Complex * workd, - double _Complex * workl, int lworkl, double _Complex * rwork, int * info); - -extern void pzneupd_c(MPI_Fint comm, bool rvec, const char * howmny, int * select, - double _Complex * d, double _Complex * z, int ldz, double _Complex sigma, double _Complex * workev, - const char * bmat, int n, const char * which, int nev, - double tol, double _Complex * resid, int ncv, double _Complex * v, - int ldv, int * iparam, int * ipntr, double _Complex * workd, - double _Complex * workl, int lworkl, double _Complex * rwork, int * info); +void pcnaupd_c(MPI_Fint comm, int* ido, char const* bmat, int n, char const* which, int nev, float tol, float _Complex* resid, int ncv, float _Complex* v, int ldv, int* iparam, int* ipntr, float _Complex* workd, float _Complex* workl, int lworkl, float _Complex* rwork, int* info); +void pcneupd_c(MPI_Fint comm, bool rvec, char const* howmny, int const* select, float _Complex* d, float _Complex* z, int ldz, float _Complex sigma, float _Complex* workev, char const* bmat, int n, char const* which, int nev, float tol, float _Complex* resid, int ncv, float _Complex* v, int ldv, int* iparam, int* ipntr, float _Complex* workd, float _Complex* workl, int lworkl, float _Complex* rwork, int* info); +void pdnaupd_c(MPI_Fint comm, int* ido, char const* bmat, int n, char const* which, int nev, double tol, double* resid, int ncv, double* v, int ldv, int* iparam, int* ipntr, double* workd, double* workl, int lworkl, int* info); +void pdneupd_c(MPI_Fint comm, bool rvec, char const* howmny, int const* select, double* dr, double* di, double* z, int ldz, double sigmar, double sigmai, char const* bmat, int n, char const* which, int nev, double tol, double* resid, int ncv, double* v, int ldv, int* iparam, int* ipntr, double* workd, double* workl, int lworkl, int* info); +void pdsaupd_c(MPI_Fint comm, int* ido, char const* bmat, int n, char const* which, int nev, double tol, double* resid, int ncv, double* v, int ldv, int* iparam, int* ipntr, double* workd, double* workl, int lworkl, int* info); +void pdseupd_c(MPI_Fint comm, bool rvec, char const* howmny, int const* select, double* d, double* z, int ldz, double sigma, char const* bmat, int n, char const* which, int nev, double tol, double* resid, int ncv, double* v, int ldv, int* iparam, int* ipntr, double* workd, double* workl, int lworkl, int* info); +void psnaupd_c(MPI_Fint comm, int* ido, char const* bmat, int n, char const* which, int nev, float tol, float* resid, int ncv, float* v, int ldv, int* iparam, int* ipntr, float* workd, float* workl, int lworkl, int* info); +void psneupd_c(MPI_Fint comm, bool rvec, char const* howmny, int const* select, float* dr, float* di, float* z, int ldz, float sigmar, float sigmai, char const* bmat, int n, char const* which, int nev, float tol, float* resid, int ncv, float* v, int ldv, int* iparam, int* ipntr, float* workd, float* workl, int lworkl, int* info); +void pssaupd_c(MPI_Fint comm, int* ido, char const* bmat, int n, char const* which, int nev, float tol, float* resid, int ncv, float* v, int ldv, int* iparam, int* ipntr, float* workd, float* workl, int lworkl, int* info); +void psseupd_c(MPI_Fint comm, bool rvec, char const* howmny, int const* select, float* d, float* z, int ldz, float sigma, char const* bmat, int n, char const* which, int nev, float tol, float* resid, int ncv, float* v, int ldv, int* iparam, int* ipntr, float* workd, float* workl, int lworkl, int* info); +void pznaupd_c(MPI_Fint comm, int* ido, char const* bmat, int n, char const* which, int nev, double tol, double _Complex* resid, int ncv, double _Complex* v, int ldv, int* iparam, int* ipntr, double _Complex* workd, double _Complex* workl, int lworkl, double _Complex* rwork, int* info); +void pzneupd_c(MPI_Fint comm, bool rvec, char const* howmny, int const* select, double _Complex* d, double _Complex* z, int ldz, double _Complex sigma, double _Complex* workev, char const* bmat, int n, char const* which, int nev, double tol, double _Complex* resid, int ncv, double _Complex* v, int ldv, int* iparam, int* ipntr, double _Complex* workd, double _Complex* workl, int lworkl, double _Complex* rwork, int* info); #ifdef __cplusplus } diff --git a/parpack.hpp b/parpack.hpp index 74e250cbc..a46f0a208 100644 --- a/parpack.hpp +++ b/parpack.hpp @@ -12,100 +12,16 @@ namespace arpack { namespace internal { -/* - * From C++, arpack does not exist. - * Arpack is Fortran. ISO_C_BINDING is a gateway from Fortran to C, not C++. - * But, C++ can "get back" to C. - * - * NOTE IMPORTANT: MPI communicators MUST be passed from C to Fortran using - * MPI_Comm_c2f. MPI_Fint MCW = MPI_Comm_c2f(MPI_COMM_WORLD); - */ -extern "C" { -void pssaupd_c(MPI_Fint comm, int& ido, const char* bmat, int n, - const char* which, int nev, float tol, float* resid, int ncv, - float* v, int ldv, int* iparam, int* ipntr, float* workd, - float* workl, int lworkl, int& info); - -void psseupd_c(MPI_Fint comm, bool rvec, const char* howmny, int* select, - float* d, float* z, int ldz, float sigma, const char* bmat, - int n, const char* which, int nev, float tol, float* resid, - int ncv, float* v, int ldv, int* iparam, int* ipntr, - float* workd, float* workl, int lworkl, int& info); - -void pdsaupd_c(MPI_Fint comm, int& ido, const char* bmat, int n, - const char* which, int nev, double tol, double* resid, int ncv, - double* v, int ldv, int* iparam, int* ipntr, double* workd, - double* workl, int lworkl, int& info); - -void pdseupd_c(MPI_Fint comm, bool rvec, const char* howmny, int* select, - double* d, double* z, int ldz, double sigma, const char* bmat, - int n, const char* which, int nev, double tol, double* resid, - int ncv, double* v, int ldv, int* iparam, int* ipntr, - double* workd, double* workl, int lworkl, int& info); - -void psnaupd_c(MPI_Fint comm, int& ido, const char* bmat, int n, - const char* which, int nev, float tol, float* resid, int ncv, - float* v, int ldv, int* iparam, int* ipntr, float* workd, - float* workl, int lworkl, int& info); - -void psneupd_c(MPI_Fint comm, bool rvec, const char* howmny, int* select, - float* dr, float* di, float* z, int ldz, float sigmar, - float sigmai, const char* bmat, int n, const char* which, - int nev, float tol, float* resid, int ncv, float* v, int ldv, - int* iparam, int* ipntr, float* workd, float* workl, int lworkl, - int& info); - -void pdnaupd_c(MPI_Fint comm, int& ido, const char* bmat, int n, - const char* which, int nev, double tol, double* resid, int ncv, - double* v, int ldv, int* iparam, int* ipntr, double* workd, - double* workl, int lworkl, int& info); - -void pdneupd_c(MPI_Fint comm, bool rvec, const char* howmny, int* select, - double* dr, double* di, double* z, int ldz, double sigmar, - double sigmai, const char* bmat, int n, const char* which, - int nev, double tol, double* resid, int ncv, double* v, int ldv, - int* iparam, int* ipntr, double* workd, double* workl, - int lworkl, int& info); - -void pcnaupd_c(MPI_Fint comm, int& ido, const char* bmat, int n, - const char* which, int nev, float tol, float _Complex* resid, - int ncv, float _Complex* v, int ldv, int* iparam, int* ipntr, - float _Complex* workd, float _Complex* workl, int lworkl, - float _Complex* rwork, int& info); - -void pcneupd_c(MPI_Fint comm, bool rvec, const char* howmny, int* select, - float _Complex* d, float _Complex* z, int ldz, - float _Complex sigma, float _Complex* workev, const char* bmat, - int n, const char* which, int nev, float tol, - float _Complex* resid, int ncv, float _Complex* v, int ldv, - int* iparam, int* ipntr, float _Complex* workd, - float _Complex* workl, int lworkl, float _Complex* rwork, - int& info); - -void pznaupd_c(MPI_Fint comm, int& ido, const char* bmat, int n, - const char* which, int nev, double tol, double _Complex* resid, - int ncv, double _Complex* v, int ldv, int* iparam, int* ipntr, - double _Complex* workd, double _Complex* workl, int lworkl, - double _Complex* rwork, int& info); - -void pzneupd_c(MPI_Fint comm, bool rvec, const char* howmny, int* select, - double _Complex* d, double _Complex* z, int ldz, - double _Complex sigma, double _Complex* workev, const char* bmat, - int n, const char* which, int nev, double tol, - double _Complex* resid, int ncv, double _Complex* v, int ldv, - int* iparam, int* ipntr, double _Complex* workd, - double _Complex* workl, int lworkl, double _Complex* rwork, - int& info); -} +#include "parpack.h" } // namespace internal inline void saupd(MPI_Fint comm, int& ido, bmat const bmat_option, int n, which const which_option, int nev, float tol, float* resid, int ncv, float* v, int ldv, int* iparam, int* ipntr, float* workd, float* workl, int lworkl, int& info) { - internal::pssaupd_c(comm, ido, internal::convert_to_char(bmat_option), n, + internal::pssaupd_c(comm, &ido, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, resid, - ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info); + ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, &info); } inline void seupd(MPI_Fint comm, bool rvec, howmny const howmny_option, @@ -118,16 +34,16 @@ inline void seupd(MPI_Fint comm, bool rvec, howmny const howmny_option, select, d, z, ldz, sigma, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, resid, - ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info); + ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, &info); } inline void saupd(MPI_Fint comm, int& ido, bmat const bmat_option, int n, which const which_option, int nev, double tol, double* resid, int ncv, double* v, int ldv, int* iparam, int* ipntr, double* workd, double* workl, int lworkl, int& info) { - internal::pdsaupd_c(comm, ido, internal::convert_to_char(bmat_option), n, + internal::pdsaupd_c(comm, &ido, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, resid, - ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info); + ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, &info); } inline void seupd(MPI_Fint comm, bool rvec, howmny const howmny_option, @@ -140,16 +56,16 @@ inline void seupd(MPI_Fint comm, bool rvec, howmny const howmny_option, select, d, z, ldz, sigma, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, resid, - ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info); + ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, &info); } inline void naupd(MPI_Fint comm, int& ido, bmat const bmat_option, int n, which const which_option, int nev, float tol, float* resid, int ncv, float* v, int ldv, int* iparam, int* ipntr, float* workd, float* workl, int lworkl, int& info) { - internal::psnaupd_c(comm, ido, internal::convert_to_char(bmat_option), n, + internal::psnaupd_c(comm, &ido, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, resid, - ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info); + ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, &info); } inline void neupd(MPI_Fint comm, bool rvec, howmny const howmny_option, @@ -162,16 +78,16 @@ inline void neupd(MPI_Fint comm, bool rvec, howmny const howmny_option, select, dr, di, z, ldz, sigmar, sigmai, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, resid, - ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info); + ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, &info); } inline void naupd(MPI_Fint comm, int& ido, bmat const bmat_option, int n, which const which_option, int nev, double tol, double* resid, int ncv, double* v, int ldv, int* iparam, int* ipntr, double* workd, double* workl, int lworkl, int& info) { - internal::pdnaupd_c(comm, ido, internal::convert_to_char(bmat_option), n, + internal::pdnaupd_c(comm, &ido, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, resid, - ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info); + ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, &info); } inline void neupd(MPI_Fint comm, bool rvec, howmny const howmny_option, @@ -184,7 +100,7 @@ inline void neupd(MPI_Fint comm, bool rvec, howmny const howmny_option, select, dr, di, z, ldz, sigmar, sigmai, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, resid, - ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, info); + ncv, v, ldv, iparam, ipntr, workd, workl, lworkl, &info); } inline void naupd(MPI_Fint comm, int& ido, bmat const bmat_option, int n, @@ -193,13 +109,13 @@ inline void naupd(MPI_Fint comm, int& ido, bmat const bmat_option, int n, int ldv, int* iparam, int* ipntr, std::complex* workd, std::complex* workl, int lworkl, std::complex* rwork, int& info) { - internal::pcnaupd_c(comm, ido, internal::convert_to_char(bmat_option), n, + internal::pcnaupd_c(comm, &ido, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, reinterpret_cast<_Complex float*>(resid), ncv, reinterpret_cast<_Complex float*>(v), ldv, iparam, ipntr, reinterpret_cast<_Complex float*>(workd), reinterpret_cast<_Complex float*>(workl), lworkl, - reinterpret_cast<_Complex float*>(rwork), info); + reinterpret_cast<_Complex float*>(rwork), &info); } inline void neupd(MPI_Fint comm, bool rvec, howmny const howmny_option, @@ -224,7 +140,7 @@ inline void neupd(MPI_Fint comm, bool rvec, howmny const howmny_option, reinterpret_cast<_Complex float*>(v), ldv, iparam, ipntr, reinterpret_cast<_Complex float*>(workd), reinterpret_cast<_Complex float*>(workl), lworkl, - reinterpret_cast<_Complex float*>(rwork), info); + reinterpret_cast<_Complex float*>(rwork), &info); } inline void naupd(MPI_Fint comm, int& ido, bmat const bmat_option, int n, @@ -233,13 +149,13 @@ inline void naupd(MPI_Fint comm, int& ido, bmat const bmat_option, int n, int ldv, int* iparam, int* ipntr, std::complex* workd, std::complex* workl, int lworkl, std::complex* rwork, int& info) { - internal::pznaupd_c(comm, ido, internal::convert_to_char(bmat_option), n, + internal::pznaupd_c(comm, &ido, internal::convert_to_char(bmat_option), n, internal::convert_to_char(which_option), nev, tol, reinterpret_cast<_Complex double*>(resid), ncv, reinterpret_cast<_Complex double*>(v), ldv, iparam, ipntr, reinterpret_cast<_Complex double*>(workd), reinterpret_cast<_Complex double*>(workl), lworkl, - reinterpret_cast<_Complex double*>(rwork), info); + reinterpret_cast<_Complex double*>(rwork), &info); } inline void neupd(MPI_Fint comm, bool rvec, howmny const howmny_option, @@ -262,7 +178,7 @@ inline void neupd(MPI_Fint comm, bool rvec, howmny const howmny_option, reinterpret_cast<_Complex double*>(v), ldv, iparam, ipntr, reinterpret_cast<_Complex double*>(workd), reinterpret_cast<_Complex double*>(workl), lworkl, - reinterpret_cast<_Complex double*>(rwork), info); + reinterpret_cast<_Complex double*>(rwork), &info); } } // namespace arpack #endif