xref: /petsc/src/dm/label/ftn-custom/zdmlabel.c (revision 5e71baeff2f3138f93cd4f5927dfd596eb8325cc)
1 #include <petsc/private/fortranimpl.h>
2 #include <petscdmlabel.h>
3 #include <petscviewer.h>
4 
5 #if defined(PETSC_HAVE_FORTRAN_CAPS)
6 #define dmlabelview_                    DMLABELVIEW
7 #define petscsectionsymlabelsetstratum_ PETSCSECTIONSYMLABELSETSTRATUM
8 #define dmlabelgetname_                 DMLABELGETNAME
9 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
10 #define dmlabelview_                    dmlabelview
11 #define petscsectionsymlabelsetstratum_ petscsectionsymlabelsetstratum
12 #define dmlabelgetname_                 dmlabelgetname
13 #endif
14 
15 /* Definitions of Fortran Wrapper routines */
16 
17 PETSC_EXTERN void PETSC_STDCALL dmlabelview_(DMLabel *label, PetscViewer *vin, PetscErrorCode *ierr)
18 {
19   PetscViewer v;
20   PetscPatchDefaultViewers_Fortran(vin, v);
21   *ierr = DMLabelView(*label, v);
22 }
23 
24 PETSC_EXTERN void PETSC_STDCALL  petscsectionsymlabelsetstratum_(PetscSectionSym *sym,PetscInt *stratum,PetscInt *size,PetscInt *minOrient,PetscInt *maxOrient,PetscCopyMode *mode, PetscInt **perms, PetscScalar **rots, int *__ierr ){
25 *__ierr = PetscSectionSymLabelSetStratum(*sym,*stratum,*size,*minOrient,*maxOrient,*mode,(const PetscInt **)perms,(const PetscScalar **)rots);
26 }
27 
28 PETSC_EXTERN void PETSC_STDCALL dmlabelgetname_(DMLabel *label,char* name PETSC_MIXED_LEN(len),PetscErrorCode *ierr PETSC_END_LEN(len))
29 {
30   const char *tmp;
31   *ierr = DMLabelGetName(*label,&tmp);
32   *ierr = PetscStrncpy(name,tmp,len);if (*ierr) return;
33   FIXRETURNCHAR(PETSC_TRUE,name,len);
34 }
35