1 #include "petscsys.h"
2 #include "petscfix.h"
3 #include "petsc/private/fortranimpl.h"
4 /* tao_util.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 "petsctao.h"
31 #ifdef PETSC_HAVE_FORTRAN_CAPS
32 #define vecfischer_ VECFISCHER
33 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
34 #define vecfischer_ vecfischer
35 #endif
36 #ifdef PETSC_HAVE_FORTRAN_CAPS
37 #define vecsfischer_ VECSFISCHER
38 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
39 #define vecsfischer_ vecsfischer
40 #endif
41 #ifdef PETSC_HAVE_FORTRAN_CAPS
42 #define matdfischer_ MATDFISCHER
43 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
44 #define matdfischer_ matdfischer
45 #endif
46 #ifdef PETSC_HAVE_FORTRAN_CAPS
47 #define matdsfischer_ MATDSFISCHER
48 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
49 #define matdsfischer_ matdsfischer
50 #endif
51 #ifdef PETSC_HAVE_FORTRAN_CAPS
52 #define taosoftthreshold_ TAOSOFTTHRESHOLD
53 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
54 #define taosoftthreshold_ taosoftthreshold
55 #endif
56
57
58 /* Definitions of Fortran Wrapper routines */
59 #if defined(__cplusplus)
60 extern "C" {
61 #endif
vecfischer_(Vec X,Vec F,Vec L,Vec U,Vec FB,int * __ierr)62 PETSC_EXTERN void vecfischer_(Vec X,Vec F,Vec L,Vec U,Vec FB, int *__ierr)
63 {
64 *__ierr = VecFischer(
65 (Vec)PetscToPointer((X) ),
66 (Vec)PetscToPointer((F) ),
67 (Vec)PetscToPointer((L) ),
68 (Vec)PetscToPointer((U) ),
69 (Vec)PetscToPointer((FB) ));
70 }
vecsfischer_(Vec X,Vec F,Vec L,Vec U,PetscReal * mu,Vec FB,int * __ierr)71 PETSC_EXTERN void vecsfischer_(Vec X,Vec F,Vec L,Vec U,PetscReal *mu,Vec FB, int *__ierr)
72 {
73 *__ierr = VecSFischer(
74 (Vec)PetscToPointer((X) ),
75 (Vec)PetscToPointer((F) ),
76 (Vec)PetscToPointer((L) ),
77 (Vec)PetscToPointer((U) ),*mu,
78 (Vec)PetscToPointer((FB) ));
79 }
matdfischer_(Mat jac,Vec X,Vec Con,Vec XL,Vec XU,Vec T1,Vec T2,Vec Da,Vec Db,int * __ierr)80 PETSC_EXTERN void matdfischer_(Mat jac,Vec X,Vec Con,Vec XL,Vec XU,Vec T1,Vec T2,Vec Da,Vec Db, int *__ierr)
81 {
82 *__ierr = MatDFischer(
83 (Mat)PetscToPointer((jac) ),
84 (Vec)PetscToPointer((X) ),
85 (Vec)PetscToPointer((Con) ),
86 (Vec)PetscToPointer((XL) ),
87 (Vec)PetscToPointer((XU) ),
88 (Vec)PetscToPointer((T1) ),
89 (Vec)PetscToPointer((T2) ),
90 (Vec)PetscToPointer((Da) ),
91 (Vec)PetscToPointer((Db) ));
92 }
matdsfischer_(Mat jac,Vec X,Vec Con,Vec XL,Vec XU,PetscReal * mu,Vec T1,Vec T2,Vec Da,Vec Db,Vec Dm,int * __ierr)93 PETSC_EXTERN void matdsfischer_(Mat jac,Vec X,Vec Con,Vec XL,Vec XU,PetscReal *mu,Vec T1,Vec T2,Vec Da,Vec Db,Vec Dm, int *__ierr)
94 {
95 *__ierr = MatDSFischer(
96 (Mat)PetscToPointer((jac) ),
97 (Vec)PetscToPointer((X) ),
98 (Vec)PetscToPointer((Con) ),
99 (Vec)PetscToPointer((XL) ),
100 (Vec)PetscToPointer((XU) ),*mu,
101 (Vec)PetscToPointer((T1) ),
102 (Vec)PetscToPointer((T2) ),
103 (Vec)PetscToPointer((Da) ),
104 (Vec)PetscToPointer((Db) ),
105 (Vec)PetscToPointer((Dm) ));
106 }
taosoftthreshold_(Vec in,PetscReal * lb,PetscReal * ub,Vec out,int * __ierr)107 PETSC_EXTERN void taosoftthreshold_(Vec in,PetscReal *lb,PetscReal *ub,Vec out, int *__ierr)
108 {
109 *__ierr = TaoSoftThreshold(
110 (Vec)PetscToPointer((in) ),*lb,*ub,
111 (Vec)PetscToPointer((out) ));
112 }
113 #if defined(__cplusplus)
114 }
115 #endif
116