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