Actual source code: asmf.c
1: /* asm.c */
2: /* Fortran interface file */
4: /*
5: * This file was generated automatically by bfort from the C source
6: * file.
7: */
9: #ifdef PETSC_USE_POINTER_CONVERSION
10: #if defined(__cplusplus)
11: extern "C" {
12: #endif
13: extern void *PetscToPointer(void *);
14: extern int PetscFromPointer(void *);
15: extern void PetscRmPointer(void *);
16: #if defined(__cplusplus)
17: }
18: #endif
20: #else
22: #define PetscToPointer(a) (*(long *)(a))
23: #define PetscFromPointer(a) (long)(a)
24: #define PetscRmPointer(a)
25: #endif
27: #include petscpc.h
28: #ifdef MPI_BUILD_PROFILING
29: #ifdef PETSC_HAVE_FORTRAN_CAPS
30: #define pcasmsetuseinplace_ PPCASMSETUSEINPLACE
31: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
32: #define pcasmsetuseinplace_ ppcasmsetuseinplace
33: #else
34: #define pcasmsetuseinplace_ ppcasmsetuseinplace_
35: #endif
36: #else
37: #ifdef PETSC_HAVE_FORTRAN_CAPS
38: #define pcasmsetuseinplace_ PCASMSETUSEINPLACE
39: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
40: #define pcasmsetuseinplace_ pcasmsetuseinplace
41: #endif
42: #endif
44: #ifdef MPI_BUILD_PROFILING
45: #ifdef PETSC_HAVE_FORTRAN_CAPS
46: #define pcasmsetoverlap_ PPCASMSETOVERLAP
47: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
48: #define pcasmsetoverlap_ ppcasmsetoverlap
49: #else
50: #define pcasmsetoverlap_ ppcasmsetoverlap_
51: #endif
52: #else
53: #ifdef PETSC_HAVE_FORTRAN_CAPS
54: #define pcasmsetoverlap_ PCASMSETOVERLAP
55: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
56: #define pcasmsetoverlap_ pcasmsetoverlap
57: #endif
58: #endif
60: #ifdef MPI_BUILD_PROFILING
61: #ifdef PETSC_HAVE_FORTRAN_CAPS
62: #define pcasmsettype_ PPCASMSETTYPE
63: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
64: #define pcasmsettype_ ppcasmsettype
65: #else
66: #define pcasmsettype_ ppcasmsettype_
67: #endif
68: #else
69: #ifdef PETSC_HAVE_FORTRAN_CAPS
70: #define pcasmsettype_ PCASMSETTYPE
71: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
72: #define pcasmsettype_ pcasmsettype
73: #endif
74: #endif
76: #ifdef MPI_BUILD_PROFILING
77: #ifdef PETSC_HAVE_FORTRAN_CAPS
78: #define pcasmcreatesubdomains2d_ PPCASMCREATESUBDOMAINS2D
79: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
80: #define pcasmcreatesubdomains2d_ ppcasmcreatesubdomains2d
81: #else
82: #define pcasmcreatesubdomains2d_ ppcasmcreatesubdomains2d_
83: #endif
84: #else
85: #ifdef PETSC_HAVE_FORTRAN_CAPS
86: #define pcasmcreatesubdomains2d_ PCASMCREATESUBDOMAINS2D
87: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
88: #define pcasmcreatesubdomains2d_ pcasmcreatesubdomains2d
89: #endif
90: #endif
94: /* Definitions of Fortran Wrapper routines */
95: #if defined(__cplusplus)
96: extern "C" {
97: #endif
98: void PETSC_STDCALL pcasmsetuseinplace_(PC pc, int *__ierr ){
99: *__PCASMSetUseInPlace(
100: (PC)PetscToPointer( (pc) ));
101: }
102: void PETSC_STDCALL pcasmsetoverlap_(PC pc,int *ovl, int *__ierr ){
103: *__PCASMSetOverlap(
104: (PC)PetscToPointer( (pc) ),*ovl);
105: }
106: void PETSC_STDCALL pcasmsettype_(PC pc,PCASMType *type, int *__ierr ){
107: *__PCASMSetType(
108: (PC)PetscToPointer( (pc) ),*type);
109: }
110: void PETSC_STDCALL pcasmcreatesubdomains2d_(int *m,int *n,int *M,int *N,int *dof,int *overlap,int *Nsub,IS **is, int *__ierr ){
111: *__PCASMCreateSubdomains2D(*m,*n,*M,*N,*dof,*overlap,Nsub,is);
112: }
113: #if defined(__cplusplus)
114: }
115: #endif