Re: can somebody verify this C program which calls dsaupd_ ? (longish)



Apparently, _glen herrmannsfeldt_, on 02/04/05 22:07,typed:


> The remaining parameters to the function calls are as follows:

 >   dsaupd(int n, int nev, double *Evals)
 >   dsaupd(int n, int nev, doubel *Evals, double **Evecs)

I would be very surprised to see a Fortran program expecting a double**.

It would be usual to expect a double* that is big enough for the whole
matrix, as it would be for C if declared as a 2D matrix. It is, of course, system dependent, but to satisfy some of the Fortran rules for
calls, it isn't easy otherwise.


If dsaupd is not a Fortran program, but a C interface to Fortran then I would have to agree that the question is 100% C. (Actually, C++ as there are many non-C constructs used.)

dsaupd is a C++ overloaded function. However, I am more interested in the calling of "dsaupd_" function (as the subject line mentions) from within the daupd function. dsaupd_, the ARPACK reverse communication routine in FORTRAN, gets called in the C dsaupd function (in dsaupd.h file). In other words, dsaupd is a wrapper for the FORTRAN dsaupd_ function.


->HS


Thanks, ->HS

--
Please remove the underscores ( the '_' symbols) from my email address to obtain the correct one. Apologies, but the fudging is to remove spam.
.