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: PetscErrorCode 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