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 "petscfix.h"
28: #include petscpc.h
29: #ifdef MPI_BUILD_PROFILING
30: #ifdef PETSC_HAVE_FORTRAN_CAPS
31: #define pcasmsetuseinplace_ PPCASMSETUSEINPLACE
32: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
33: #define pcasmsetuseinplace_ ppcasmsetuseinplace
34: #else
35: #define pcasmsetuseinplace_ ppcasmsetuseinplace_
36: #endif
37: #else
38: #ifdef PETSC_HAVE_FORTRAN_CAPS
39: #define pcasmsetuseinplace_ PCASMSETUSEINPLACE
40: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
41: #define pcasmsetuseinplace_ pcasmsetuseinplace
42: #endif
43: #endif
45: #ifdef MPI_BUILD_PROFILING
46: #ifdef PETSC_HAVE_FORTRAN_CAPS
47: #define pcasmsetoverlap_ PPCASMSETOVERLAP
48: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
49: #define pcasmsetoverlap_ ppcasmsetoverlap
50: #else
51: #define pcasmsetoverlap_ ppcasmsetoverlap_
52: #endif
53: #else
54: #ifdef PETSC_HAVE_FORTRAN_CAPS
55: #define pcasmsetoverlap_ PCASMSETOVERLAP
56: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
57: #define pcasmsetoverlap_ pcasmsetoverlap
58: #endif
59: #endif
61: #ifdef MPI_BUILD_PROFILING
62: #ifdef PETSC_HAVE_FORTRAN_CAPS
63: #define pcasmsettype_ PPCASMSETTYPE
64: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
65: #define pcasmsettype_ ppcasmsettype
66: #else
67: #define pcasmsettype_ ppcasmsettype_
68: #endif
69: #else
70: #ifdef PETSC_HAVE_FORTRAN_CAPS
71: #define pcasmsettype_ PCASMSETTYPE
72: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
73: #define pcasmsettype_ pcasmsettype
74: #endif
75: #endif
77: #ifdef MPI_BUILD_PROFILING
78: #ifdef PETSC_HAVE_FORTRAN_CAPS
79: #define pcasmcreatesubdomains2d_ PPCASMCREATESUBDOMAINS2D
80: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
81: #define pcasmcreatesubdomains2d_ ppcasmcreatesubdomains2d
82: #else
83: #define pcasmcreatesubdomains2d_ ppcasmcreatesubdomains2d_
84: #endif
85: #else
86: #ifdef PETSC_HAVE_FORTRAN_CAPS
87: #define pcasmcreatesubdomains2d_ PCASMCREATESUBDOMAINS2D
88: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
89: #define pcasmcreatesubdomains2d_ pcasmcreatesubdomains2d
90: #endif
91: #endif
95: /* Definitions of Fortran Wrapper routines */
96: #if defined(__cplusplus)
97: extern "C" {
98: #endif
99: void PETSC_STDCALL pcasmsetuseinplace_(PC pc, int *ierr ){
100: *PCASMSetUseInPlace(
101: (PC)PetscToPointer( (pc) ));
102: }
103: void PETSC_STDCALL pcasmsetoverlap_(PC pc,int *ovl, int *ierr ){
104: *PCASMSetOverlap(
105: (PC)PetscToPointer( (pc) ),*ovl);
106: }
107: void PETSC_STDCALL pcasmsettype_(PC pc,PCASMType *type, int *ierr ){
108: *PCASMSetType(
109: (PC)PetscToPointer( (pc) ),*type);
110: }
111: void PETSC_STDCALL pcasmcreatesubdomains2d_(int *m,int *n,int *M,int *N,int *dof,int *overlap,int *Nsub,IS **is, int *ierr ){
112: *PCASMCreateSubdomains2D(*m,*n,*M,*N,*dof,*overlap,Nsub,is);
113: }
114: #if defined(__cplusplus)
115: }
116: #endif