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: }