xref: /petsc/src/vec/is/utils/ftn-custom/zvsectionisf.c (revision a1535ed22bfaa6025a683aa8c10c3aa014a29626)
1b5a418daSToby Isaac #include <petsc/private/fortranimpl.h>
2b5a418daSToby Isaac #include <petscis.h>
3b5a418daSToby Isaac #include <petscviewer.h>
4b5a418daSToby Isaac 
5b5a418daSToby Isaac #if defined(PETSC_HAVE_FORTRAN_CAPS)
6b5a418daSToby Isaac #define petscsectiongetpointsyms_          PETSCSECTIONGETPOINTSYMS
7b5a418daSToby Isaac #define petscsectionrestorepointsyms_      PETSCSECTIONRESTOREPOINTSYMS
8b5a418daSToby Isaac #define petscsectiongetfieldpointsyms_     PETSCSECTIONGETFIELDPOINTSYMS
9b5a418daSToby Isaac #define petscsectionrestorefieldpointsyms_ PETSCSECTIONRESTOREFIELDPOINTSYMS
10*a1535ed2SVaclav Hapla #define petscsectionview_                  PETSCSECTIONVIEW
11*a1535ed2SVaclav Hapla #define petscsectiongetfieldname_          PETSCSECTIONGETFIELDNAME
12*a1535ed2SVaclav Hapla #define petscsectionsetfieldname_          PETSCSECTIONSETFIELDNAME
13b5a418daSToby Isaac #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
14b5a418daSToby Isaac #define petscsectiongetpointsyms_          petscsectiongetpointsyms
15b5a418daSToby Isaac #define petscsectionrestorepointsyms_      petscsectionrestorepointsyms
16b5a418daSToby Isaac #define petscsectiongetfieldpointsyms_     petscsectiongetfieldpointsyms
17b5a418daSToby Isaac #define petscsectionrestorefieldpointsyms_ petscsectionrestorefieldpointsyms
18*a1535ed2SVaclav Hapla #define petscsectionview_                  petscsectionview
19*a1535ed2SVaclav Hapla #define petscsectiongetfieldname_          petscsectiongetfieldname
20*a1535ed2SVaclav Hapla #define petscsectionsetfieldname_          petscsectionsetfieldname
21b5a418daSToby Isaac #endif
22b5a418daSToby Isaac 
23b5a418daSToby Isaac PETSC_EXTERN void PETSC_STDCALL  petscsectiongetpointsyms_(PetscSection section,PetscInt *numPoints, PetscInt *points, PetscInt ***perms, PetscScalar ***rots, int *__ierr ){
24b5a418daSToby Isaac *__ierr = PetscSectionGetPointSyms(section,*numPoints,points,(const PetscInt ***)perms,(const PetscScalar ***)rots);
25b5a418daSToby Isaac }
26b5a418daSToby Isaac PETSC_EXTERN void PETSC_STDCALL  petscsectionrestorepointsyms_(PetscSection section,PetscInt *numPoints, PetscInt *points, PetscInt ***perms, PetscScalar ***rots, int *__ierr ){
27b5a418daSToby Isaac *__ierr = PetscSectionRestorePointSyms(section,*numPoints,points,(const PetscInt ***)perms,(const PetscScalar ***)rots);
28b5a418daSToby Isaac }
29b5a418daSToby Isaac PETSC_EXTERN void PETSC_STDCALL  petscsectiongetfieldpointsyms_(PetscSection section,PetscInt *field,PetscInt *numPoints, PetscInt *points, PetscInt ***perms, PetscScalar ***rots, int *__ierr ){
30b5a418daSToby Isaac *__ierr = PetscSectionGetFieldPointSyms(section,*field,*numPoints,points,(const PetscInt ***)perms,(const PetscScalar ***)rots);
31b5a418daSToby Isaac }
32b5a418daSToby Isaac PETSC_EXTERN void PETSC_STDCALL  petscsectionrestorefieldpointsyms_(PetscSection section,PetscInt *field,PetscInt *numPoints, PetscInt *points, PetscInt ***perms, PetscScalar ***rots, int *__ierr ){
33b5a418daSToby Isaac *__ierr = PetscSectionRestoreFieldPointSyms(section,*field,*numPoints,points,(const PetscInt ***)perms,(const PetscScalar ***)rots);
34b5a418daSToby Isaac }
35*a1535ed2SVaclav Hapla 
36*a1535ed2SVaclav Hapla PETSC_EXTERN void PETSC_STDCALL petscsectionview_(PetscSection *s, PetscViewer *vin, PetscErrorCode *ierr)
37*a1535ed2SVaclav Hapla {
38*a1535ed2SVaclav Hapla   PetscViewer v;
39*a1535ed2SVaclav Hapla 
40*a1535ed2SVaclav Hapla   PetscPatchDefaultViewers_Fortran(vin, v);
41*a1535ed2SVaclav Hapla   *ierr = PetscSectionView(*s, v);
42*a1535ed2SVaclav Hapla }
43*a1535ed2SVaclav Hapla 
44*a1535ed2SVaclav Hapla PETSC_EXTERN void PETSC_STDCALL petscsectiongetfieldname_(PetscSection *s, PetscInt *field, char* name PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len))
45*a1535ed2SVaclav Hapla {
46*a1535ed2SVaclav Hapla   const char *fname;
47*a1535ed2SVaclav Hapla 
48*a1535ed2SVaclav Hapla   *ierr = PetscSectionGetFieldName(*s, *field, &fname);if (*ierr) return;
49*a1535ed2SVaclav Hapla   *ierr = PetscStrncpy(name, fname, len);
50*a1535ed2SVaclav Hapla   FIXRETURNCHAR(PETSC_TRUE,name,len);
51*a1535ed2SVaclav Hapla }
52*a1535ed2SVaclav Hapla 
53*a1535ed2SVaclav Hapla PETSC_EXTERN void PETSC_STDCALL petscsectionsetfieldname_(PetscSection *s, PetscInt *field, char* name PETSC_MIXED_LEN(len), PetscErrorCode *ierr PETSC_END_LEN(len))
54*a1535ed2SVaclav Hapla {
55*a1535ed2SVaclav Hapla   char *f;
56*a1535ed2SVaclav Hapla 
57*a1535ed2SVaclav Hapla   FIXCHAR(name, len, f);
58*a1535ed2SVaclav Hapla   *ierr = PetscSectionSetFieldName(*s, *field, f);if (*ierr) return;
59*a1535ed2SVaclav Hapla   FREECHAR(name, f);
60*a1535ed2SVaclav Hapla }
61