Actual source code: ziguess.c

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

  5: #if defined(PETSC_HAVE_FORTRAN_CAPS)
  6:   #define kspguessgettype_ KSPGUESSGETTYPE
  7:   #define kspguesssettype_ KSPGUESSSETTYPE
  8:   #define kspguessview_    KSPGUESSVIEW
  9: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
 10:   #define kspguessgettype_ kspguessgettype
 11:   #define kspguesssettype_ kspguesssettype
 12:   #define kspguessview_    kspguessview
 13: #endif

 15: PETSC_EXTERN void kspguessgettype_(KSPGuess *kspguess, char *name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 16: {
 17:   const char *tname;

 19:   *ierr = KSPGuessGetType(*kspguess, &tname);
 20:   if (*ierr) return;
 21:   *ierr = PetscStrncpy(name, tname, len);
 22:   FIXRETURNCHAR(PETSC_TRUE, name, len);
 23: }

 25: PETSC_EXTERN void kspguesssettype_(KSPGuess *kspguess, char *type, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
 26: {
 27:   char *t;

 29:   FIXCHAR(type, len, t);
 30:   *ierr = KSPGuessSetType(*kspguess, t);
 31:   if (*ierr) return;
 32:   FREECHAR(type, t);
 33: }

 35: PETSC_EXTERN void kspguessview_(KSPGuess *kspguess, PetscViewer *viewer, PetscErrorCode *ierr)
 36: {
 37:   PetscViewer v;
 38:   PetscPatchDefaultViewers_Fortran(viewer, v);
 39:   *ierr = KSPGuessView(*kspguess, v);
 40: }