1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
/*
This file has been extracted and edited from the ARPACK++ distribution
to define the Fortran routines for use in C.
ARPACK++ v1.0 8/1/1997
c++ interface to ARPACK code.
MODULE arpackf.h
ARPACK FORTRAN routines.
ARPACK Authors
Richard Lehoucq
Danny Sorensen
Chao Yang
Dept. of Computational & Applied Mathematics
Rice University
Houston, Texas
*/
// debug "common" statement.
struct {
integer logfil, ndigit, mgetv0;
integer msaupd, msaup2, msaitr, mseigt, msapps, msgets, mseupd;
integer mnaupd, mnaup2, mnaitr, mneigt, mnapps, mngets, mneupd;
integer mcaupd, mcaup2, mcaitr, mceigt, mcapps, mcgets, mceupd;
} debug_;
// double precision symmetric routines.
void dsaupd_(integer *ido, char *bmat, integer *n, char *which,
integer *nev, double *tol, double *resid,
integer *ncv, double *V, integer *ldv,
integer *iparam, integer *ipntr, double *workd,
double *workl, integer *lworkl, integer *info);
void dseupd_(logical *rvec, char *HowMny, logical *select,
double *d, double *Z, integer *ldz,
double *sigma, char *bmat, integer *n,
char *which, integer *nev, double *tol,
double *resid, integer *ncv, double *V,
integer *ldv, integer *iparam, integer *ipntr,
double *workd, double *workl,
integer *lworkl, integer *info);
// double precision nonsymmetric routines.
void dnaupd_(integer *ido, char *bmat, integer *n, char *which,
integer *nev, double *tol, double *resid,
integer *ncv, double *V, integer *ldv,
integer *iparam, integer *ipntr, double *workd,
double *workl, integer *lworkl, integer *info);
void dneupd_(logical *rvec, char *HowMny, logical *select,
double *dr, double *di, double *Z,
integer *ldz, double *sigmar,
double *sigmai, double *workev,
char *bmat, integer *n, char *which,
integer *nev, double *tol, double *resid,
integer *ncv, double *V, integer *ldv,
integer *iparam, integer *ipntr,
double *workd, double *workl,
integer *lworkl, integer *info);
// single precision symmetric routines.
void ssaupd_(integer *ido, char *bmat, integer *n, char *which,
integer *nev, float *tol, float *resid,
integer *ncv, float *V, integer *ldv,
integer *iparam, integer *ipntr, float *workd,
float *workl, integer *lworkl, integer *info);
void sseupd_(logical *rvec, char *HowMny, logical *select,
float *d, float *Z, integer *ldz,
float *sigma, char *bmat, integer *n,
char *which, integer *nev, float *tol,
float *resid, integer *ncv, float *V,
integer *ldv, integer *iparam, integer *ipntr,
float *workd, float *workl,
integer *lworkl, integer *info);
// single precision nonsymmetric routines.
void snaupd_(integer *ido, char *bmat, integer *n, char *which,
integer *nev, float *tol, float *resid,
integer *ncv, float *V, integer *ldv,
integer *iparam, integer *ipntr, float *workd,
float *workl, integer *lworkl, integer *info);
void sneupd_(logical *rvec, char *HowMny, logical *select,
float *dr, float *di, float *Z,
integer *ldz, float *sigmar,
float *sigmai, float *workev, char *bmat,
integer *n, char *which, integer *nev,
float *tol, float *resid, integer *ncv,
float *V, integer *ldv, integer *iparam,
integer *ipntr, float *workd, float *workl,
integer *lworkl, integer *info);
|