Actual source code: mgfuncf.c
1: /* mgfunc.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 petscsles.h
29: #include "petscfix.h"
30: #include petscmg.h
31: #ifdef MPI_BUILD_PROFILING
32: #ifdef PETSC_HAVE_FORTRAN_CAPS
33: #define mgsetinterpolate_ PMGSETINTERPOLATE
34: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
35: #define mgsetinterpolate_ pmgsetinterpolate
36: #else
37: #define mgsetinterpolate_ pmgsetinterpolate_
38: #endif
39: #else
40: #ifdef PETSC_HAVE_FORTRAN_CAPS
41: #define mgsetinterpolate_ MGSETINTERPOLATE
42: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
43: #define mgsetinterpolate_ mgsetinterpolate
44: #endif
45: #endif
47: #ifdef MPI_BUILD_PROFILING
48: #ifdef PETSC_HAVE_FORTRAN_CAPS
49: #define mgsetrestriction_ PMGSETRESTRICTION
50: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
51: #define mgsetrestriction_ pmgsetrestriction
52: #else
53: #define mgsetrestriction_ pmgsetrestriction_
54: #endif
55: #else
56: #ifdef PETSC_HAVE_FORTRAN_CAPS
57: #define mgsetrestriction_ MGSETRESTRICTION
58: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
59: #define mgsetrestriction_ mgsetrestriction
60: #endif
61: #endif
63: #ifdef MPI_BUILD_PROFILING
64: #ifdef PETSC_HAVE_FORTRAN_CAPS
65: #define mgsetcyclesonlevel_ PMGSETCYCLESONLEVEL
66: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
67: #define mgsetcyclesonlevel_ pmgsetcyclesonlevel
68: #else
69: #define mgsetcyclesonlevel_ pmgsetcyclesonlevel_
70: #endif
71: #else
72: #ifdef PETSC_HAVE_FORTRAN_CAPS
73: #define mgsetcyclesonlevel_ MGSETCYCLESONLEVEL
74: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
75: #define mgsetcyclesonlevel_ mgsetcyclesonlevel
76: #endif
77: #endif
79: #ifdef MPI_BUILD_PROFILING
80: #ifdef PETSC_HAVE_FORTRAN_CAPS
81: #define mgsetrhs_ PMGSETRHS
82: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
83: #define mgsetrhs_ pmgsetrhs
84: #else
85: #define mgsetrhs_ pmgsetrhs_
86: #endif
87: #else
88: #ifdef PETSC_HAVE_FORTRAN_CAPS
89: #define mgsetrhs_ MGSETRHS
90: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
91: #define mgsetrhs_ mgsetrhs
92: #endif
93: #endif
95: #ifdef MPI_BUILD_PROFILING
96: #ifdef PETSC_HAVE_FORTRAN_CAPS
97: #define mgsetx_ PMGSETX
98: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
99: #define mgsetx_ pmgsetx
100: #else
101: #define mgsetx_ pmgsetx_
102: #endif
103: #else
104: #ifdef PETSC_HAVE_FORTRAN_CAPS
105: #define mgsetx_ MGSETX
106: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
107: #define mgsetx_ mgsetx
108: #endif
109: #endif
111: #ifdef MPI_BUILD_PROFILING
112: #ifdef PETSC_HAVE_FORTRAN_CAPS
113: #define mgsetr_ PMGSETR
114: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
115: #define mgsetr_ pmgsetr
116: #else
117: #define mgsetr_ pmgsetr_
118: #endif
119: #else
120: #ifdef PETSC_HAVE_FORTRAN_CAPS
121: #define mgsetr_ MGSETR
122: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
123: #define mgsetr_ mgsetr
124: #endif
125: #endif
129: /* Definitions of Fortran Wrapper routines */
130: #if defined(__cplusplus)
131: extern "C" {
132: #endif
133: void PETSC_STDCALL mgsetinterpolate_(PC pc,int *l,Mat mat, int *ierr ){
134: *MGSetInterpolate(
135: (PC)PetscToPointer( (pc) ),*l,
136: (Mat)PetscToPointer( (mat) ));
137: }
138: void PETSC_STDCALL mgsetrestriction_(PC pc,int *l,Mat mat, int *ierr ){
139: *MGSetRestriction(
140: (PC)PetscToPointer( (pc) ),*l,
141: (Mat)PetscToPointer( (mat) ));
142: }
143: void PETSC_STDCALL mgsetcyclesonlevel_(PC pc,int *l,int *c, int *ierr ){
144: *MGSetCyclesOnLevel(
145: (PC)PetscToPointer( (pc) ),*l,*c);
146: }
147: void PETSC_STDCALL mgsetrhs_(PC pc,int *l,Vec c, int *ierr ){
148: *MGSetRhs(
149: (PC)PetscToPointer( (pc) ),*l,
150: (Vec)PetscToPointer( (c) ));
151: }
152: void PETSC_STDCALL mgsetx_(PC pc,int *l,Vec c, int *ierr ){
153: *MGSetX(
154: (PC)PetscToPointer( (pc) ),*l,
155: (Vec)PetscToPointer( (c) ));
156: }
157: void PETSC_STDCALL mgsetr_(PC pc,int *l,Vec c, int *ierr ){
158: *MGSetR(
159: (PC)PetscToPointer( (pc) ),*l,
160: (Vec)PetscToPointer( (c) ));
161: }
162: #if defined(__cplusplus)
163: }
164: #endif