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