Actual source code: zhypref.c

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

  4: #if defined(PETSC_HAVE_FORTRAN_CAPS)
  5:   #define pchypresettype_                     PCHYPRESETTYPE
  6:   #define pchypregettype_                     PCHYPREGETTYPE
  7:   #define pcmggalerkinsetmatproductalgorithm_ PCMGGALERKINSETMATPRODUCTALGORITHM
  8:   #define pcmggalerkingetmatproductalgorithm_ PCMGGALERKINGETMATPRODUCTALGORITHM
  9: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
 10:   #define pchypresettype_                     pchypresettype
 11:   #define pchypregettype_                     pchypregettype
 12:   #define pcmggalerkinsetmatproductalgorithm_ pcmggalerkinsetmatproductalgorithm
 13:   #define pcmggalerkingetmatproductalgorithm_ pcmggalerkingetmatproductalgorithm
 14: #endif

 16: PETSC_EXTERN void pchypresettype_(PC *pc, char *name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 17: {
 18:   char *t;

 20:   FIXCHAR(name, len, t);
 21:   *ierr = PCHYPRESetType(*pc, t);
 22:   if (*ierr) return;
 23:   FREECHAR(name, t);
 24: }

 26: PETSC_EXTERN void pchypregettype_(PC *pc, char *name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 27: {
 28:   const char *tname;

 30:   *ierr = PCHYPREGetType(*pc, &tname);
 31:   if (*ierr) return;
 32:   *ierr = PetscStrncpy(name, tname, len);
 33:   if (*ierr) return;
 34:   FIXRETURNCHAR(PETSC_TRUE, name, len);
 35: }

 37: PETSC_EXTERN void pcmggalerkinsetmatproductalgorithm_(PC *pc, char *name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 38: {
 39:   char *t;

 41:   FIXCHAR(name, len, t);
 42:   *ierr = PCMGGalerkinSetMatProductAlgorithm(*pc, t);
 43:   if (*ierr) return;
 44:   FREECHAR(name, t);
 45: }

 47: PETSC_EXTERN void pcmggalerkingetmatproductalgorithm_(PC *pc, char *name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 48: {
 49:   const char *tname;

 51:   *ierr = PCMGGalerkinGetMatProductAlgorithm(*pc, &tname);
 52:   if (*ierr) return;
 53:   *ierr = PetscStrncpy(name, tname, len);
 54:   if (*ierr) return;
 55:   FIXRETURNCHAR(PETSC_TRUE, name, len);
 56: }