diff -Nru slepc-2.2.0/bmake/slepc_common_variables slepc-2.2.0-patched/bmake/slepc_common_variables --- slepc-2.2.0/bmake/slepc_common_variables 2004-04-14 15:19:17.000000000 +0200 +++ slepc-2.2.0-patched/bmake/slepc_common_variables 2004-07-23 11:28:22.963126248 +0200 @@ -26,7 +26,7 @@ # some extra packages specific to SLEPc # include ${PETSC_DIR}/bmake/common/variables --include ${SLEPC_DIR}/bmake/${PETSC_ARCH}/packages +include ${SLEPC_DIR}/bmake/${PETSC_ARCH}/packages # # INSTALL_LIB_DIR = ${SLEPC_DIR}/lib/lib${BOPT}/${PETSC_ARCH} diff -Nru slepc-2.2.0/include/slepcversion.h slepc-2.2.0-patched/include/slepcversion.h --- slepc-2.2.0/include/slepcversion.h 2004-04-14 15:19:18.000000000 +0200 +++ slepc-2.2.0-patched/include/slepcversion.h 2004-07-23 12:08:36.334238072 +0200 @@ -5,12 +5,12 @@ /* Current SLEPC version number and release date */ -#define SLEPC_VERSION_NUMBER "SLEPc Version 2.2.0, Released Apr 14, 2004" +#define SLEPC_VERSION_NUMBER "SLEPc Version 2.2.0-3, Released Jul 23, 2004" #define SLEPC_VERSION_MAJOR 2 #define SLEPC_VERSION_MINOR 2 #define SLEPC_VERSION_SUBMINOR 0 -#define SLEPC_VERSION_PATCH 0 -#define SLEPC_VERSION_DATE "Apr 14, 2004" +#define SLEPC_VERSION_PATCH 3 +#define SLEPC_VERSION_DATE "Jul 23, 2004" #define SLEPC_AUTHOR_INFO "The SLEPc Team\n\ Bug reports, questions: slepc-maint@grycap.upv.es\n\ Web page: http://www.grycap.upv.es/slepc\n" diff -Nru slepc-2.2.0/makefile slepc-2.2.0-patched/makefile --- slepc-2.2.0/makefile 2004-04-14 15:19:20.000000000 +0200 +++ slepc-2.2.0-patched/makefile 2004-07-23 11:28:22.981123512 +0200 @@ -189,7 +189,7 @@ touch ${SLEPC_DIR}/src/fortran/auto/makefile.src ;\ ${OMAKE} ACTION=slepc_fortranstubs tree_basic ;\ cd ${SLEPC_DIR}/src/fortran/auto; ${RM} makefile.src; echo SOURCEC = ` ls *.c | tr -s '\n' ' '` > makefile.src ;\ - cd ${SLEPC_DIR}/src/fortran/auto; ${OMAKE} slepc_fixfortran ;\ + cd ${SLEPC_DIR}/src/fortran/auto; ${OMAKE} fixfortran ;\ fi # ------------------------------------------------------------------------------- diff -Nru slepc-2.2.0/src/eps/impls/arpack/arpack.c slepc-2.2.0-patched/src/eps/impls/arpack/arpack.c --- slepc-2.2.0/src/eps/impls/arpack/arpack.c 2004-04-14 15:19:18.000000000 +0200 +++ slepc-2.2.0-patched/src/eps/impls/arpack/arpack.c 2004-07-23 11:28:22.996121232 +0200 @@ -51,7 +51,7 @@ else /* set default value of ncv */ eps->ncv = PetscMin(PetscMax(20,2*eps->nev+1),N); - if (!eps->max_it) eps->max_it = PetscMax(300,(int)ceil(2*N/eps->ncv)); + if (!eps->max_it) eps->max_it = PetscMax(300,(int)(2*N/eps->ncv)); if (!eps->tol) eps->tol = 1.e-7; PetscFunctionReturn(0); } diff -Nru slepc-2.2.0/src/eps/impls/arpack/arpackp.h slepc-2.2.0-patched/src/eps/impls/arpack/arpackp.h --- slepc-2.2.0/src/eps/impls/arpack/arpackp.h 2004-04-14 15:19:18.000000000 +0200 +++ slepc-2.2.0-patched/src/eps/impls/arpack/arpackp.h 2004-07-23 11:53:13.725495920 +0200 @@ -108,10 +108,10 @@ #endif #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) -#define ARnaupd__ dnaupd -#define ARneupd__ dneupd -#define ARsaupd__ dsaupd -#define ARseupd__ dseupd +#define ARnaupd__ dnaupd_ +#define ARneupd__ dneupd_ +#define ARsaupd__ dsaupd_ +#define ARseupd__ dseupd_ #elif defined(PETSC_HAVE_FORTRAN_CAPS) #define ARnaupd__ DNAUPD #define ARneupd__ DNEUPD @@ -134,8 +134,8 @@ #endif #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE) -#define ARnaupd__ znaupd -#define ARneupd__ zneupd +#define ARnaupd__ znaupd_ +#define ARneupd__ zneupd_ #elif defined(PETSC_HAVE_FORTRAN_CAPS) #define ARnaupd__ ZNAUPD #define ARneupd__ ZNEUPD @@ -152,25 +152,25 @@ #if !defined(_petsc_mpi_uni) -extern void ARsaupd_(MPI_Comm*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*, +extern void ARsaupd_(MPI_Fint*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*, int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int); -extern void ARseupd_(MPI_Comm*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*, +extern void ARseupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*, int*,PetscReal*, char*,int*,char*,int*,PetscReal*,PetscScalar*, int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int); #if !defined(PETSC_USE_COMPLEX) -extern void ARnaupd_(MPI_Comm*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*, +extern void ARnaupd_(MPI_Fint*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*, int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int); -extern void ARneupd_(MPI_Comm*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*, +extern void ARneupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscReal*,PetscReal*, PetscReal*,int*,PetscReal*,PetscReal*,PetscReal*, char*,int*,char*,int*,PetscReal*,PetscScalar*, int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,int*,int,int,int); #else -extern void ARnaupd_(MPI_Comm*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*, +extern void ARnaupd_(MPI_Fint*,int*,char*,int*,char*,int*,PetscReal*,PetscScalar*, int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*, int,int); -extern void ARneupd_(MPI_Comm*,PetscTruth*,char*,PetscTruth*,PetscScalar*,PetscScalar*, +extern void ARneupd_(MPI_Fint*,PetscTruth*,char*,PetscTruth*,PetscScalar*,PetscScalar*, int*,PetscScalar*,PetscScalar*, char*,int*,char*,int*,PetscReal*,PetscScalar*, int*,PetscScalar*,int*,int*,int*,PetscScalar*,PetscScalar*,int*,PetscReal*,int*, diff -Nru slepc-2.2.0/src/eps/interface/itfunc.c slepc-2.2.0-patched/src/eps/interface/itfunc.c --- slepc-2.2.0/src/eps/interface/itfunc.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/eps/interface/itfunc.c 2004-07-23 12:02:42.717995912 +0200 @@ -1429,7 +1429,7 @@ PetscFunctionBegin; ierr = VecGetLocalSize(eps->vec_initial,&n);CHKERRQ(ierr); - lwork = n; + lwork = PetscMax(m,n); ierr = PetscMalloc(m*sizeof(PetscScalar),&tau);CHKERRQ(ierr); ierr = PetscMalloc(lwork*sizeof(PetscScalar),&work);CHKERRQ(ierr); diff -Nru slepc-2.2.0/src/fortran/auto/blzpackf.c slepc-2.2.0-patched/src/fortran/auto/blzpackf.c --- slepc-2.2.0/src/fortran/auto/blzpackf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/blzpackf.c 2004-07-23 11:28:23.027116520 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepceps.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -63,11 +64,11 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL epsblzpacksetblocksize_(EPS *eps,int *bs, int *__ierr ){ -*__ierr = EPSBlzpackSetBlockSize(*eps,*bs); +void PETSC_STDCALL epsblzpacksetblocksize_(EPS *eps,int *bs, int *ierr ){ +*ierr = EPSBlzpackSetBlockSize(*eps,*bs); } -void PETSC_STDCALL epsblzpacksetinterval_(EPS *eps,PetscReal *initial,PetscReal *final, int *__ierr ){ -*__ierr = EPSBlzpackSetInterval(*eps,*initial,*final); +void PETSC_STDCALL epsblzpacksetinterval_(EPS *eps,PetscReal *initial,PetscReal *final, int *ierr ){ +*ierr = EPSBlzpackSetInterval(*eps,*initial,*final); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/borthogf.c slepc-2.2.0-patched/src/fortran/auto/borthogf.c --- slepc-2.2.0/src/fortran/auto/borthogf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/borthogf.c 2004-07-23 11:28:23.035115304 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepceps.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -79,18 +80,16 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL epsqrdecomposition_(EPS *eps,int *m,int *n,PetscScalar *R,int *ldr, int *__ierr ){ -*__ierr = EPSQRDecomposition(*eps,*m,*n, - (PetscScalar* )PetscToPointer( (R) ),*ldr); +void PETSC_STDCALL epsqrdecomposition_(EPS *eps,int *m,int *n,PetscScalar *R,int *ldr, int *ierr ){ +*ierr = EPSQRDecomposition(*eps,*m,*n,R,*ldr); } -void PETSC_STDCALL epssetorthogonalization_(EPS *eps,EPSOrthogonalizationType *type,EPSOrthogonalizationRefinementType *refinement,PetscReal *eta, int *__ierr ){ -*__ierr = EPSSetOrthogonalization(*eps,*type,*refinement,*eta); +void PETSC_STDCALL epssetorthogonalization_(EPS *eps,EPSOrthogonalizationType *type,EPSOrthogonalizationRefinementType *refinement,PetscReal *eta, int *ierr ){ +*ierr = EPSSetOrthogonalization(*eps,*type,*refinement,*eta); } -void PETSC_STDCALL epsgetorthogonalization_(EPS *eps,EPSOrthogonalizationType *type,EPSOrthogonalizationRefinementType *refinement,PetscReal *eta, int *__ierr ){ -*__ierr = EPSGetOrthogonalization(*eps, +void PETSC_STDCALL epsgetorthogonalization_(EPS *eps,EPSOrthogonalizationType *type,EPSOrthogonalizationRefinementType *refinement,PetscReal *eta, int *ierr ){ +*ierr = EPSGetOrthogonalization(*eps, (EPSOrthogonalizationType* )PetscToPointer( (type) ), - (EPSOrthogonalizationRefinementType* )PetscToPointer( (refinement) ), - (PetscReal* )PetscToPointer( (eta) )); + (EPSOrthogonalizationRefinementType* )PetscToPointer( (refinement) ),eta); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/densef.c slepc-2.2.0-patched/src/fortran/auto/densef.c --- slepc-2.2.0/src/fortran/auto/densef.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/densef.c 2004-07-23 11:28:23.036115152 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepceps.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -79,24 +80,14 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL epssorteigenvalues_(int *n,PetscScalar *eig,PetscScalar *eigi,EPSWhich *which,int *nev,int *permout, int *__ierr ){ -*__ierr = EPSSortEigenvalues(*n, - (PetscScalar* )PetscToPointer( (eig) ), - (PetscScalar* )PetscToPointer( (eigi) ),*which,*nev,permout); +void PETSC_STDCALL epssorteigenvalues_(int *n,PetscScalar *eig,PetscScalar *eigi,EPSWhich *which,int *nev,int *permout, int *ierr ){ +*ierr = EPSSortEigenvalues(*n,eig,eigi,*which,*nev,permout); } -void PETSC_STDCALL epsdensenhep_(int *n,PetscScalar *A,PetscScalar *w,PetscScalar *wi,PetscScalar *V, int *__ierr ){ -*__ierr = EPSDenseNHEP(*n, - (PetscScalar* )PetscToPointer( (A) ), - (PetscScalar* )PetscToPointer( (w) ), - (PetscScalar* )PetscToPointer( (wi) ), - (PetscScalar* )PetscToPointer( (V) )); +void PETSC_STDCALL epsdensenhep_(int *n,PetscScalar *A,PetscScalar *w,PetscScalar *wi,PetscScalar *V, int *ierr ){ +*ierr = EPSDenseNHEP(*n,A,w,wi,V); } -void PETSC_STDCALL epsdensenhepsorted_(int *n,PetscScalar *A,PetscScalar *w,PetscScalar *wi,PetscScalar *V,int *m,EPSWhich *which, int *__ierr ){ -*__ierr = EPSDenseNHEPSorted(*n, - (PetscScalar* )PetscToPointer( (A) ), - (PetscScalar* )PetscToPointer( (w) ), - (PetscScalar* )PetscToPointer( (wi) ), - (PetscScalar* )PetscToPointer( (V) ),*m,*which); +void PETSC_STDCALL epsdensenhepsorted_(int *n,PetscScalar *A,PetscScalar *w,PetscScalar *wi,PetscScalar *V,int *m,EPSWhich *which, int *ierr ){ +*ierr = EPSDenseNHEPSorted(*n,A,w,wi,V,*m,*which); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/itcreatef.c slepc-2.2.0-patched/src/fortran/auto/itcreatef.c --- slepc-2.2.0/src/fortran/auto/itcreatef.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/itcreatef.c 2004-07-23 11:28:23.041114392 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepceps.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -47,8 +48,8 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL epssetfromoptions_(EPS *eps, int *__ierr ){ -*__ierr = EPSSetFromOptions(*eps); +void PETSC_STDCALL epssetfromoptions_(EPS *eps, int *ierr ){ +*ierr = EPSSetFromOptions(*eps); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/iterativf.c slepc-2.2.0-patched/src/fortran/auto/iterativf.c --- slepc-2.2.0/src/fortran/auto/iterativf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/iterativf.c 2004-07-23 11:28:23.042114240 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepceps.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -63,11 +64,11 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL epsgetiterationnumber_(EPS *eps,int *its, int *__ierr ){ -*__ierr = EPSGetIterationNumber(*eps,its); +void PETSC_STDCALL epsgetiterationnumber_(EPS *eps,int *its, int *ierr ){ +*ierr = EPSGetIterationNumber(*eps,its); } -void PETSC_STDCALL epsgetnumberlineariterations_(EPS *eps,int* lits, int *__ierr ){ -*__ierr = EPSGetNumberLinearIterations(*eps,lits); +void PETSC_STDCALL epsgetnumberlineariterations_(EPS *eps,int* lits, int *ierr ){ +*ierr = EPSGetNumberLinearIterations(*eps,lits); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/itfuncf.c slepc-2.2.0-patched/src/fortran/auto/itfuncf.c --- slepc-2.2.0/src/fortran/auto/itfuncf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/itfuncf.c 2004-07-23 11:28:23.050113024 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepceps.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -463,101 +464,94 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL epssetdefaults_(EPS *eps, int *__ierr ){ -*__ierr = EPSSetDefaults(*eps); +void PETSC_STDCALL epssetdefaults_(EPS *eps, int *ierr ){ +*ierr = EPSSetDefaults(*eps); } -void PETSC_STDCALL epssetup_(EPS *eps, int *__ierr ){ -*__ierr = EPSSetUp(*eps); +void PETSC_STDCALL epssetup_(EPS *eps, int *ierr ){ +*ierr = EPSSetUp(*eps); } -void PETSC_STDCALL epssolve_(EPS *eps, int *__ierr ){ -*__ierr = EPSSolve(*eps); +void PETSC_STDCALL epssolve_(EPS *eps, int *ierr ){ +*ierr = EPSSolve(*eps); } -void PETSC_STDCALL epsdestroy_(EPS *eps, int *__ierr ){ -*__ierr = EPSDestroy(*eps); +void PETSC_STDCALL epsdestroy_(EPS *eps, int *ierr ){ +*ierr = EPSDestroy(*eps); } -void PETSC_STDCALL epsgettolerances_(EPS *eps,PetscReal *tol,int *maxits, int *__ierr ){ -*__ierr = EPSGetTolerances(*eps, - (PetscReal* )PetscToPointer( (tol) ),maxits); +void PETSC_STDCALL epsgettolerances_(EPS *eps,PetscReal *tol,int *maxits, int *ierr ){ +*ierr = EPSGetTolerances(*eps,tol,maxits); } -void PETSC_STDCALL epssettolerances_(EPS *eps,PetscReal *tol,int *maxits, int *__ierr ){ -*__ierr = EPSSetTolerances(*eps,*tol,*maxits); +void PETSC_STDCALL epssettolerances_(EPS *eps,PetscReal *tol,int *maxits, int *ierr ){ +*ierr = EPSSetTolerances(*eps,*tol,*maxits); } -void PETSC_STDCALL epsgetdimensions_(EPS *eps,int *nev,int *ncv, int *__ierr ){ -*__ierr = EPSGetDimensions(*eps,nev,ncv); +void PETSC_STDCALL epsgetdimensions_(EPS *eps,int *nev,int *ncv, int *ierr ){ +*ierr = EPSGetDimensions(*eps,nev,ncv); } -void PETSC_STDCALL epssetdimensions_(EPS *eps,int *nev,int *ncv, int *__ierr ){ -*__ierr = EPSSetDimensions(*eps,*nev,*ncv); +void PETSC_STDCALL epssetdimensions_(EPS *eps,int *nev,int *ncv, int *ierr ){ +*ierr = EPSSetDimensions(*eps,*nev,*ncv); } -void PETSC_STDCALL epsgetconverged_(EPS *eps,int *nconv, int *__ierr ){ -*__ierr = EPSGetConverged(*eps,nconv); +void PETSC_STDCALL epsgetconverged_(EPS *eps,int *nconv, int *ierr ){ +*ierr = EPSGetConverged(*eps,nconv); } -void PETSC_STDCALL epsgeteigenpair_(EPS *eps,int *i,PetscScalar *eigr,PetscScalar *eigi,Vec Vr,Vec Vi, int *__ierr ){ -*__ierr = EPSGetEigenpair(*eps,*i, - (PetscScalar* )PetscToPointer( (eigr) ), - (PetscScalar* )PetscToPointer( (eigi) ), +void PETSC_STDCALL epsgeteigenpair_(EPS *eps,int *i,PetscScalar *eigr,PetscScalar *eigi,Vec Vr,Vec Vi, int *ierr ){ +*ierr = EPSGetEigenpair(*eps,*i,eigr,eigi, (Vec)PetscToPointer( (Vr) ), (Vec)PetscToPointer( (Vi) )); } -void PETSC_STDCALL epsgeterrorestimate_(EPS *eps,int *i,PetscReal *errest, int *__ierr ){ -*__ierr = EPSGetErrorEstimate(*eps,*i, - (PetscReal* )PetscToPointer( (errest) )); +void PETSC_STDCALL epsgeterrorestimate_(EPS *eps,int *i,PetscReal *errest, int *ierr ){ +*ierr = EPSGetErrorEstimate(*eps,*i,errest); } -void PETSC_STDCALL epssetst_(EPS *eps,ST *st, int *__ierr ){ -*__ierr = EPSSetST(*eps,*st); +void PETSC_STDCALL epssetst_(EPS *eps,ST *st, int *ierr ){ +*ierr = EPSSetST(*eps,*st); } -void PETSC_STDCALL epsgetst_(EPS *eps,ST *st, int *__ierr ){ -*__ierr = EPSGetST(*eps, +void PETSC_STDCALL epsgetst_(EPS *eps,ST *st, int *ierr ){ +*ierr = EPSGetST(*eps, (ST* )PetscToPointer( (st) )); } -void PETSC_STDCALL epssetinitialvector_(EPS *eps,Vec vec, int *__ierr ){ -*__ierr = EPSSetInitialVector(*eps, +void PETSC_STDCALL epssetinitialvector_(EPS *eps,Vec vec, int *ierr ){ +*ierr = EPSSetInitialVector(*eps, (Vec)PetscToPointer( (vec) )); } -void PETSC_STDCALL epsgetinitialvector_(EPS *eps,Vec *vec, int *__ierr ){ -*__ierr = EPSGetInitialVector(*eps,vec); +void PETSC_STDCALL epsgetinitialvector_(EPS *eps,Vec *vec, int *ierr ){ +*ierr = EPSGetInitialVector(*eps,vec); } -void PETSC_STDCALL epssetwhicheigenpairs_(EPS *eps,EPSWhich *which, int *__ierr ){ -*__ierr = EPSSetWhichEigenpairs(*eps,*which); +void PETSC_STDCALL epssetwhicheigenpairs_(EPS *eps,EPSWhich *which, int *ierr ){ +*ierr = EPSSetWhichEigenpairs(*eps,*which); } -void PETSC_STDCALL epsgetwhicheigenpairs_(EPS *eps,EPSWhich *which, int *__ierr ){ -*__ierr = EPSGetWhichEigenpairs(*eps, +void PETSC_STDCALL epsgetwhicheigenpairs_(EPS *eps,EPSWhich *which, int *ierr ){ +*ierr = EPSGetWhichEigenpairs(*eps, (EPSWhich* )PetscToPointer( (which) )); } -void PETSC_STDCALL epscomputeexplicitoperator_(EPS *eps,Mat *mat, int *__ierr ){ -*__ierr = EPSComputeExplicitOperator(*eps,mat); +void PETSC_STDCALL epscomputeexplicitoperator_(EPS *eps,Mat *mat, int *ierr ){ +*ierr = EPSComputeExplicitOperator(*eps,mat); } -void PETSC_STDCALL epssetoperators_(EPS *eps,Mat A,Mat B, int *__ierr ){ -*__ierr = EPSSetOperators(*eps, +void PETSC_STDCALL epssetoperators_(EPS *eps,Mat A,Mat B, int *ierr ){ +*ierr = EPSSetOperators(*eps, (Mat)PetscToPointer( (A) ), (Mat)PetscToPointer( (B) )); } -void PETSC_STDCALL epscomputeresidualnorm_(EPS *eps,int *i,PetscReal *norm, int *__ierr ){ -*__ierr = EPSComputeResidualNorm(*eps,*i, - (PetscReal* )PetscToPointer( (norm) )); -} -void PETSC_STDCALL epscomputerelativeerror_(EPS *eps,int *i,PetscReal *error, int *__ierr ){ -*__ierr = EPSComputeRelativeError(*eps,*i, - (PetscReal* )PetscToPointer( (error) )); +void PETSC_STDCALL epscomputeresidualnorm_(EPS *eps,int *i,PetscReal *norm, int *ierr ){ +*ierr = EPSComputeResidualNorm(*eps,*i,norm); } -void PETSC_STDCALL epssetproblemtype_(EPS *eps,EPSProblemType *type, int *__ierr ){ -*__ierr = EPSSetProblemType(*eps,*type); +void PETSC_STDCALL epscomputerelativeerror_(EPS *eps,int *i,PetscReal *error, int *ierr ){ +*ierr = EPSComputeRelativeError(*eps,*i,error); } -void PETSC_STDCALL epsgetproblemtype_(EPS *eps,EPSProblemType *type, int *__ierr ){ -*__ierr = EPSGetProblemType(*eps, +void PETSC_STDCALL epssetproblemtype_(EPS *eps,EPSProblemType *type, int *ierr ){ +*ierr = EPSSetProblemType(*eps,*type); +} +void PETSC_STDCALL epsgetproblemtype_(EPS *eps,EPSProblemType *type, int *ierr ){ +*ierr = EPSGetProblemType(*eps, (EPSProblemType* )PetscToPointer( (type) )); } -void PETSC_STDCALL epsisgeneralized_(EPS *eps,PetscTruth* is, int *__ierr ){ -*__ierr = EPSIsGeneralized(*eps,is); +void PETSC_STDCALL epsisgeneralized_(EPS *eps,PetscTruth* is, int *ierr ){ +*ierr = EPSIsGeneralized(*eps,is); } -void PETSC_STDCALL epsishermitian_(EPS *eps,PetscTruth* is, int *__ierr ){ -*__ierr = EPSIsHermitian(*eps,is); +void PETSC_STDCALL epsishermitian_(EPS *eps,PetscTruth* is, int *ierr ){ +*ierr = EPSIsHermitian(*eps,is); } -void PETSC_STDCALL epsreverseprojection_(EPS *eps,int *k,int *m,PetscScalar *S, int *__ierr ){ -*__ierr = EPSReverseProjection(*eps,*k,*m, - (PetscScalar* )PetscToPointer( (S) )); +void PETSC_STDCALL epsreverseprojection_(EPS *eps,int *k,int *m,PetscScalar *S, int *ierr ){ +*ierr = EPSReverseProjection(*eps,*k,*m,S); } -void PETSC_STDCALL epsswapeigenpairs_(EPS *eps,int *i,int *j, int *__ierr ){ -*__ierr = EPSSwapEigenpairs(*eps,*i,*j); +void PETSC_STDCALL epsswapeigenpairs_(EPS *eps,int *i,int *j, int *ierr ){ +*ierr = EPSSwapEigenpairs(*eps,*i,*j); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/sinvertf.c slepc-2.2.0-patched/src/fortran/auto/sinvertf.c --- slepc-2.2.0/src/fortran/auto/sinvertf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/sinvertf.c 2004-07-23 11:28:23.051112872 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepcst.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -63,11 +64,11 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL stsinvertsetmatmode_(ST *st,STSinvertMatMode *mode, int *__ierr ){ -*__ierr = STSinvertSetMatMode(*st,*mode); +void PETSC_STDCALL stsinvertsetmatmode_(ST *st,STSinvertMatMode *mode, int *ierr ){ +*ierr = STSinvertSetMatMode(*st,*mode); } -void PETSC_STDCALL stsinvertsetmatstructure_(ST *st,MatStructure *str, int *__ierr ){ -*__ierr = STSinvertSetMatStructure(*st,*str); +void PETSC_STDCALL stsinvertsetmatstructure_(ST *st,MatStructure *str, int *ierr ){ +*ierr = STSinvertSetMatStructure(*st,*str); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/slepcinitf.c slepc-2.2.0-patched/src/fortran/auto/slepcinitf.c --- slepc-2.2.0/src/fortran/auto/slepcinitf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/slepcinitf.c 2004-07-23 11:28:23.051112872 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepc.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -47,8 +48,8 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL slepcfinalize_(int *__ierr ){ -*__ierr = SlepcFinalize(); +void PETSC_STDCALL slepcfinalize_(int *ierr ){ +*ierr = SlepcFinalize(); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/slepcutilf.c slepc-2.2.0-patched/src/fortran/auto/slepcutilf.c --- slepc-2.2.0/src/fortran/auto/slepcutilf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/slepcutilf.c 2004-07-23 11:28:23.057111960 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepc.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -63,12 +64,12 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL slepcvecsetrandom_(Vec x, int *__ierr ){ -*__ierr = SlepcVecSetRandom( +void PETSC_STDCALL slepcvecsetrandom_(Vec x, int *ierr ){ +*ierr = SlepcVecSetRandom( (Vec)PetscToPointer( (x) )); } -void PETSC_STDCALL slepcishermitian_(Mat A,PetscTruth *is, int *__ierr ){ -*__ierr = SlepcIsHermitian( +void PETSC_STDCALL slepcishermitian_(Mat A,PetscTruth *is, int *ierr ){ +*ierr = SlepcIsHermitian( (Mat)PetscToPointer( (A) ),is); } #if defined(__cplusplus) diff -Nru slepc-2.2.0/src/fortran/auto/stfuncf.c slepc-2.2.0-patched/src/fortran/auto/stfuncf.c --- slepc-2.2.0/src/fortran/auto/stfuncf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/stfuncf.c 2004-07-23 11:28:23.058111808 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepcst.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -127,27 +128,26 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL stsetoperators_(ST *st,Mat A,Mat B, int *__ierr ){ -*__ierr = STSetOperators(*st, +void PETSC_STDCALL stsetoperators_(ST *st,Mat A,Mat B, int *ierr ){ +*ierr = STSetOperators(*st, (Mat)PetscToPointer( (A) ), (Mat)PetscToPointer( (B) )); } -void PETSC_STDCALL stsetvector_(ST *st,Vec vec, int *__ierr ){ -*__ierr = STSetVector(*st, +void PETSC_STDCALL stsetvector_(ST *st,Vec vec, int *ierr ){ +*ierr = STSetVector(*st, (Vec)PetscToPointer( (vec) )); } -void PETSC_STDCALL stgetvector_(ST *st,Vec *vec, int *__ierr ){ -*__ierr = STGetVector(*st,vec); +void PETSC_STDCALL stgetvector_(ST *st,Vec *vec, int *ierr ){ +*ierr = STGetVector(*st,vec); } -void PETSC_STDCALL stsetshift_(ST *st,PetscScalar *shift, int *__ierr ){ -*__ierr = STSetShift(*st,*shift); +void PETSC_STDCALL stsetshift_(ST *st,PetscScalar *shift, int *ierr ){ +*ierr = STSetShift(*st,*shift); } -void PETSC_STDCALL stgetshift_(ST *st,PetscScalar* shift, int *__ierr ){ -*__ierr = STGetShift(*st, - (PetscScalar* )PetscToPointer( (shift) )); +void PETSC_STDCALL stgetshift_(ST *st,PetscScalar* shift, int *ierr ){ +*ierr = STGetShift(*st,shift); } -void PETSC_STDCALL stgetnumberofshifts_(ST *st,int* nshifts, int *__ierr ){ -*__ierr = STGetNumberOfShifts(*st,nshifts); +void PETSC_STDCALL stgetnumberofshifts_(ST *st,int* nshifts, int *ierr ){ +*ierr = STGetNumberOfShifts(*st,nshifts); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/stsetf.c slepc-2.2.0-patched/src/fortran/auto/stsetf.c --- slepc-2.2.0/src/fortran/auto/stsetf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/stsetf.c 2004-07-23 11:28:23.059111656 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepcst.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -47,8 +48,8 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL stsetfromoptions_(ST *st, int *__ierr ){ -*__ierr = STSetFromOptions(*st); +void PETSC_STDCALL stsetfromoptions_(ST *st, int *ierr ){ +*ierr = STSetFromOptions(*st); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/stslesf.c slepc-2.2.0-patched/src/fortran/auto/stslesf.c --- slepc-2.2.0/src/fortran/auto/stslesf.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/stslesf.c 2004-07-23 11:28:23.064110896 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepcst.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -95,18 +96,18 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL stsetksp_(ST *st,KSP ksp, int *__ierr ){ -*__ierr = STSetKSP(*st, +void PETSC_STDCALL stsetksp_(ST *st,KSP ksp, int *ierr ){ +*ierr = STSetKSP(*st, (KSP)PetscToPointer( (ksp) )); } -void PETSC_STDCALL stgetksp_(ST *st,KSP* ksp, int *__ierr ){ -*__ierr = STGetKSP(*st,ksp); +void PETSC_STDCALL stgetksp_(ST *st,KSP* ksp, int *ierr ){ +*ierr = STGetKSP(*st,ksp); } -void PETSC_STDCALL stgetnumberlineariterations_(ST *st,int* lits, int *__ierr ){ -*__ierr = STGetNumberLinearIterations(*st,lits); +void PETSC_STDCALL stgetnumberlineariterations_(ST *st,int* lits, int *ierr ){ +*ierr = STGetNumberLinearIterations(*st,lits); } -void PETSC_STDCALL stresetnumberlineariterations_(ST *st, int *__ierr ){ -*__ierr = STResetNumberLinearIterations(*st); +void PETSC_STDCALL stresetnumberlineariterations_(ST *st, int *ierr ){ +*ierr = STResetNumberLinearIterations(*st); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/stsolvef.c slepc-2.2.0-patched/src/fortran/auto/stsolvef.c --- slepc-2.2.0/src/fortran/auto/stsolvef.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/stsolvef.c 2004-07-23 11:28:23.065110744 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepcst.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -95,23 +96,23 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL stapply_(ST *st,Vec x,Vec y, int *__ierr ){ -*__ierr = STApply(*st, +void PETSC_STDCALL stapply_(ST *st,Vec x,Vec y, int *ierr ){ +*ierr = STApply(*st, (Vec)PetscToPointer( (x) ), (Vec)PetscToPointer( (y) )); } -void PETSC_STDCALL stapplyb_(ST *st,Vec x,Vec y, int *__ierr ){ -*__ierr = STApplyB(*st, +void PETSC_STDCALL stapplyb_(ST *st,Vec x,Vec y, int *ierr ){ +*ierr = STApplyB(*st, (Vec)PetscToPointer( (x) ), (Vec)PetscToPointer( (y) )); } -void PETSC_STDCALL stapplynob_(ST *st,Vec x,Vec y, int *__ierr ){ -*__ierr = STApplyNoB(*st, +void PETSC_STDCALL stapplynob_(ST *st,Vec x,Vec y, int *ierr ){ +*ierr = STApplyNoB(*st, (Vec)PetscToPointer( (x) ), (Vec)PetscToPointer( (y) )); } -void PETSC_STDCALL stsetup_(ST *st, int *__ierr ){ -*__ierr = STSetUp(*st); +void PETSC_STDCALL stsetup_(ST *st, int *ierr ){ +*ierr = STSetUp(*st); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/auto/subspacef.c slepc-2.2.0-patched/src/fortran/auto/subspacef.c --- slepc-2.2.0/src/fortran/auto/subspacef.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/auto/subspacef.c 2004-07-23 11:28:23.065110744 +0200 @@ -24,6 +24,7 @@ #define PetscRmPointer(a) #endif +#include "petscfix.h" #include "slepceps.h" #ifdef MPI_BUILD_PROFILING #ifdef PETSC_HAVE_FORTRAN_CAPS @@ -47,8 +48,8 @@ #if defined(__cplusplus) extern "C" { #endif -void PETSC_STDCALL epssubspacesetinner_(EPS *eps,int *val, int *__ierr ){ -*__ierr = EPSSubspaceSetInner(*eps,*val); +void PETSC_STDCALL epssubspacesetinner_(EPS *eps,int *val, int *ierr ){ +*ierr = EPSSubspaceSetInner(*eps,*val); } #if defined(__cplusplus) } diff -Nru slepc-2.2.0/src/fortran/custom/zeps.c slepc-2.2.0-patched/src/fortran/custom/zeps.c --- slepc-2.2.0/src/fortran/custom/zeps.c 2004-04-14 15:19:19.000000000 +0200 +++ slepc-2.2.0-patched/src/fortran/custom/zeps.c 2004-07-23 11:28:23.071109832 +0200 @@ -17,7 +17,6 @@ #define epssetvaluesmonitor_ EPSSETVALUESMONITOR #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) #define epsview_ epsview -#define epssetoptionsprefix_ ekepsview #define epssetoptionsprefix_ epssetoptionsprefix #define epsappendoptionsprefix_ epsappendoptionsprefix #define epsgetoptionsprefix_ epsgetoptionsprefix @@ -30,6 +29,17 @@ #define epssetvaluesmonitor_ epssetvaluesmonitor #endif +#if defined(PETSC_USES_CPTOFCD) +#define FIXRETURNCHAR(a,n) +#else +#define FIXRETURNCHAR(a,n) \ +{ \ + int __i; \ + for (__i=0; __i