1 #include "petscsys.h"
2 #include "petscfix.h"
3 #include "petsc/private/fortranimpl.h"
4 /* mffd.c */
5 /* Fortran interface file */
6 
7 /*
8 * This file was generated automatically by bfort from the C source
9 * file.
10  */
11 
12 #ifdef PETSC_USE_POINTER_CONVERSION
13 #if defined(__cplusplus)
14 extern "C" {
15 #endif
16 extern void *PetscToPointer(void*);
17 extern int PetscFromPointer(void *);
18 extern void PetscRmPointer(void*);
19 #if defined(__cplusplus)
20 }
21 #endif
22 
23 #else
24 
25 #define PetscToPointer(a) (*(PetscFortranAddr *)(a))
26 #define PetscFromPointer(a) (PetscFortranAddr)(a)
27 #define PetscRmPointer(a)
28 #endif
29 
30 #include "petscmat.h"
31 #ifdef PETSC_HAVE_FORTRAN_CAPS
32 #define matcreatemffd_ MATCREATEMFFD
33 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
34 #define matcreatemffd_ matcreatemffd
35 #endif
36 #ifdef PETSC_HAVE_FORTRAN_CAPS
37 #define matmffdgeth_ MATMFFDGETH
38 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
39 #define matmffdgeth_ matmffdgeth
40 #endif
41 #ifdef PETSC_HAVE_FORTRAN_CAPS
42 #define matmffdsetperiod_ MATMFFDSETPERIOD
43 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
44 #define matmffdsetperiod_ matmffdsetperiod
45 #endif
46 #ifdef PETSC_HAVE_FORTRAN_CAPS
47 #define matmffdsetfunctionerror_ MATMFFDSETFUNCTIONERROR
48 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
49 #define matmffdsetfunctionerror_ matmffdsetfunctionerror
50 #endif
51 #ifdef PETSC_HAVE_FORTRAN_CAPS
52 #define matmffdsethhistory_ MATMFFDSETHHISTORY
53 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
54 #define matmffdsethhistory_ matmffdsethhistory
55 #endif
56 #ifdef PETSC_HAVE_FORTRAN_CAPS
57 #define matmffdresethhistory_ MATMFFDRESETHHISTORY
58 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
59 #define matmffdresethhistory_ matmffdresethhistory
60 #endif
61 #ifdef PETSC_HAVE_FORTRAN_CAPS
62 #define matmffdsetbase_ MATMFFDSETBASE
63 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
64 #define matmffdsetbase_ matmffdsetbase
65 #endif
66 #ifdef PETSC_HAVE_FORTRAN_CAPS
67 #define matmffdcheckpositivity_ MATMFFDCHECKPOSITIVITY
68 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
69 #define matmffdcheckpositivity_ matmffdcheckpositivity
70 #endif
71 
72 
73 /* Definitions of Fortran Wrapper routines */
74 #if defined(__cplusplus)
75 extern "C" {
76 #endif
matcreatemffd_(MPI_Fint * comm,PetscInt * m,PetscInt * n,PetscInt * M,PetscInt * N,Mat * J,int * __ierr)77 PETSC_EXTERN void  matcreatemffd_(MPI_Fint * comm,PetscInt *m,PetscInt *n,PetscInt *M,PetscInt *N,Mat *J, int *__ierr)
78 {
79 *__ierr = MatCreateMFFD(
80 	MPI_Comm_f2c(*(comm)),*m,*n,*M,*N,J);
81 }
matmffdgeth_(Mat mat,PetscScalar * h,int * __ierr)82 PETSC_EXTERN void  matmffdgeth_(Mat mat,PetscScalar *h, int *__ierr)
83 {
84 *__ierr = MatMFFDGetH(
85 	(Mat)PetscToPointer((mat) ),h);
86 }
matmffdsetperiod_(Mat mat,PetscInt * period,int * __ierr)87 PETSC_EXTERN void  matmffdsetperiod_(Mat mat,PetscInt *period, int *__ierr)
88 {
89 *__ierr = MatMFFDSetPeriod(
90 	(Mat)PetscToPointer((mat) ),*period);
91 }
matmffdsetfunctionerror_(Mat mat,PetscReal * error,int * __ierr)92 PETSC_EXTERN void  matmffdsetfunctionerror_(Mat mat,PetscReal *error, int *__ierr)
93 {
94 *__ierr = MatMFFDSetFunctionError(
95 	(Mat)PetscToPointer((mat) ),*error);
96 }
matmffdsethhistory_(Mat J,PetscScalar history[],PetscInt * nhistory,int * __ierr)97 PETSC_EXTERN void  matmffdsethhistory_(Mat J,PetscScalar history[],PetscInt *nhistory, int *__ierr)
98 {
99 *__ierr = MatMFFDSetHHistory(
100 	(Mat)PetscToPointer((J) ),history,*nhistory);
101 }
matmffdresethhistory_(Mat J,int * __ierr)102 PETSC_EXTERN void  matmffdresethhistory_(Mat J, int *__ierr)
103 {
104 *__ierr = MatMFFDResetHHistory(
105 	(Mat)PetscToPointer((J) ));
106 }
matmffdsetbase_(Mat J,Vec U,Vec F,int * __ierr)107 PETSC_EXTERN void  matmffdsetbase_(Mat J,Vec U,Vec F, int *__ierr)
108 {
109 *__ierr = MatMFFDSetBase(
110 	(Mat)PetscToPointer((J) ),
111 	(Vec)PetscToPointer((U) ),
112 	(Vec)PetscToPointer((F) ));
113 }
matmffdcheckpositivity_(void * dummy,Vec U,Vec a,PetscScalar * h,int * __ierr)114 PETSC_EXTERN void  matmffdcheckpositivity_(void*dummy,Vec U,Vec a,PetscScalar *h, int *__ierr)
115 {
116 *__ierr = MatMFFDCheckPositivity(dummy,
117 	(Vec)PetscToPointer((U) ),
118 	(Vec)PetscToPointer((a) ),h);
119 }
120 #if defined(__cplusplus)
121 }
122 #endif
123