Actual source code: zvecregf.c
1: #include <petsc/private/fortranimpl.h>
2: #include <petscvec.h>
3: #if defined(PETSC_HAVE_FORTRAN_CAPS)
4: #define vecsettype_ VECSETTYPE
5: #define vecgettype_ VECGETTYPE
6: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
7: #define vecsettype_ vecsettype
8: #define vecgettype_ vecgettype
9: #endif
11: PETSC_EXTERN void vecsettype_(Vec *x, char *type_name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
12: {
13: char *t;
15: FIXCHAR(type_name, len, t);
16: *ierr = VecSetType(*x, t);
17: if (*ierr) return;
18: FREECHAR(type_name, t);
19: }
21: PETSC_EXTERN void vecgettype_(Vec *vv, char *name, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
22: {
23: const char *tname;
25: *ierr = VecGetType(*vv, &tname);
26: *ierr = PetscStrncpy(name, tname, len);
27: FIXRETURNCHAR(PETSC_TRUE, name, len);
28: }