Actual source code: zslepc_startf.c

  2: #include "src/fortran/custom/zpetsc.h" 
  3: /* #include "sys.h" */
  4: #include "petscsys.h"

  6: #ifdef PETSC_HAVE_FORTRAN_CAPS
  7: #define slepcinitializefortran_     SLEPCINITIALIZEFORTRAN
  8: #define slepcsetcommonblock_        SLEPCSETCOMMONBLOCK
  9: #define slepc_null_function_        SLEPC_NULL_FUNCTION
 10: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
 11: #define slepcinitializefortran_     slepcinitializefortran
 12: #define slepcsetcommonblock_        slepcsetcommonblock
 13: #define slepc_null_function_        slepc_null_function
 14: #endif

 16: #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE_UNDERSCORE)
 17: #define slepc_null_function_  slepc_null_function__
 18: #endif

 20: EXTERN_C_BEGIN
 21: extern void PETSC_STDCALL slepcsetcommonblock_(void);
 22: EXTERN_C_END

 24: /*@C
 25:    SlepcInitializeFortran - Routine that should be called from C after
 26:    the call to SlepcInitialize() if one is using a C main program
 27:    that calls Fortran routines that in turn call SLEPc routines.

 29:    Collective on MPI_COMM_WORLD

 31:    Level: beginner

 33:    Notes:
 34:    SlepcInitializeFortran() initializes some of the default SLEPc variables
 35:    for use in Fortran if a user's main program is written in C.  
 36:    SlepcInitializeFortran() is NOT needed if a user's main
 37:    program is written in Fortran; in this case, just calling
 38:    SlepcInitialize() in the main (Fortran) program is sufficient.

 40: .seealso:  SlepcInitialize()

 42: @*/

 44: int SlepcInitializeFortran(void)
 45: {
 46:   slepcsetcommonblock_();
 47:   return 0;
 48: }
 49: 
 50: EXTERN_C_BEGIN

 52: void PETSC_STDCALL slepcinitializefortran_(int *info)
 53: {
 54:   *info = SlepcInitializeFortran();
 55: }

 57: /*
 58:   A valid address for the Fortran variable SLEPC_NULL_FUNCTION
 59: */
 60: void slepc_null_function_(void)
 61: {
 62:   return;
 63: }

 65: EXTERN_C_END