Actual source code: zgamgf.c

  1: #include <petsc/private/fortranimpl.h>
  2: #include <petscksp.h>

  4: #if defined(PETSC_HAVE_FORTRAN_CAPS)
  5:   #define pcgamggettype_          PCGAMGGETTYPE
  6:   #define pcgamgsettype_          PCGAMGSETTYPE
  7:   #define pcgamgsetesteigksptype_ PCGAMGSETESTEIGKSPTYPE
  8: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
  9:   #define pcgamggettype_          pcgamggettype
 10:   #define pcgamgsettype_          pcgamgsettype
 11:   #define pcgamgsetesteigksptype_ pcgamgsetesteigksptype
 12: #endif

 14: PETSC_EXTERN void pcgamggettype_(PC *pc, char *name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 15: {
 16:   const char *tname;

 18:   *ierr = PCGAMGGetType(*pc, &tname);
 19:   if (*ierr) return;
 20:   *ierr = PetscStrncpy(name, tname, len);
 21:   FIXRETURNCHAR(PETSC_TRUE, name, len);
 22: }

 24: PETSC_EXTERN void pcgamgsettype_(PC *pc, char *type, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 25: {
 26:   char *t;

 28:   FIXCHAR(type, len, t);
 29:   *ierr = PCGAMGSetType(*pc, t);
 30:   if (*ierr) return;
 31:   FREECHAR(type, t);
 32: }