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