Actual source code: slesf.c
1: /* sles.c */
2: /* Fortran interface file */
4: /*
5: * This file was generated automatically by bfort from the C source
6: * file.
7: */
9: #ifdef PETSC_USE_POINTER_CONVERSION
10: #if defined(__cplusplus)
11: extern "C" {
12: #endif
13: extern void *PetscToPointer(void *);
14: extern int PetscFromPointer(void *);
15: extern void PetscRmPointer(void *);
16: #if defined(__cplusplus)
17: }
18: #endif
20: #else
22: #define PetscToPointer(a) (*(long *)(a))
23: #define PetscFromPointer(a) (long)(a)
24: #define PetscRmPointer(a)
25: #endif
27: #include "petscfix.h"
28: #include petscsles.h
29: #ifdef MPI_BUILD_PROFILING
30: #ifdef PETSC_HAVE_FORTRAN_CAPS
31: #define slessetfromoptions_ PSLESSETFROMOPTIONS
32: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
33: #define slessetfromoptions_ pslessetfromoptions
34: #else
35: #define slessetfromoptions_ pslessetfromoptions_
36: #endif
37: #else
38: #ifdef PETSC_HAVE_FORTRAN_CAPS
39: #define slessetfromoptions_ SLESSETFROMOPTIONS
40: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
41: #define slessetfromoptions_ slessetfromoptions
42: #endif
43: #endif
45: #ifdef MPI_BUILD_PROFILING
46: #ifdef PETSC_HAVE_FORTRAN_CAPS
47: #define slessetup_ PSLESSETUP
48: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
49: #define slessetup_ pslessetup
50: #else
51: #define slessetup_ pslessetup_
52: #endif
53: #else
54: #ifdef PETSC_HAVE_FORTRAN_CAPS
55: #define slessetup_ SLESSETUP
56: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
57: #define slessetup_ slessetup
58: #endif
59: #endif
61: #ifdef MPI_BUILD_PROFILING
62: #ifdef PETSC_HAVE_FORTRAN_CAPS
63: #define slessolve_ PSLESSOLVE
64: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
65: #define slessolve_ pslessolve
66: #else
67: #define slessolve_ pslessolve_
68: #endif
69: #else
70: #ifdef PETSC_HAVE_FORTRAN_CAPS
71: #define slessolve_ SLESSOLVE
72: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
73: #define slessolve_ slessolve
74: #endif
75: #endif
77: #ifdef MPI_BUILD_PROFILING
78: #ifdef PETSC_HAVE_FORTRAN_CAPS
79: #define slessolvetranspose_ PSLESSOLVETRANSPOSE
80: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
81: #define slessolvetranspose_ pslessolvetranspose
82: #else
83: #define slessolvetranspose_ pslessolvetranspose_
84: #endif
85: #else
86: #ifdef PETSC_HAVE_FORTRAN_CAPS
87: #define slessolvetranspose_ SLESSOLVETRANSPOSE
88: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
89: #define slessolvetranspose_ slessolvetranspose
90: #endif
91: #endif
93: #ifdef MPI_BUILD_PROFILING
94: #ifdef PETSC_HAVE_FORTRAN_CAPS
95: #define slessetoperators_ PSLESSETOPERATORS
96: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
97: #define slessetoperators_ pslessetoperators
98: #else
99: #define slessetoperators_ pslessetoperators_
100: #endif
101: #else
102: #ifdef PETSC_HAVE_FORTRAN_CAPS
103: #define slessetoperators_ SLESSETOPERATORS
104: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
105: #define slessetoperators_ slessetoperators
106: #endif
107: #endif
109: #ifdef MPI_BUILD_PROFILING
110: #ifdef PETSC_HAVE_FORTRAN_CAPS
111: #define slessetuponblocks_ PSLESSETUPONBLOCKS
112: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
113: #define slessetuponblocks_ pslessetuponblocks
114: #else
115: #define slessetuponblocks_ pslessetuponblocks_
116: #endif
117: #else
118: #ifdef PETSC_HAVE_FORTRAN_CAPS
119: #define slessetuponblocks_ SLESSETUPONBLOCKS
120: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
121: #define slessetuponblocks_ slessetuponblocks
122: #endif
123: #endif
127: /* Definitions of Fortran Wrapper routines */
128: #if defined(__cplusplus)
129: extern "C" {
130: #endif
131: void PETSC_STDCALL slessetfromoptions_(SLES sles, int *ierr ){
132: *SLESSetFromOptions(
133: (SLES)PetscToPointer( (sles) ));
134: }
135: void PETSC_STDCALL slessetup_(SLES sles,Vec b,Vec x, int *ierr ){
136: *SLESSetUp(
137: (SLES)PetscToPointer( (sles) ),
138: (Vec)PetscToPointer( (b) ),
139: (Vec)PetscToPointer( (x) ));
140: }
141: void PETSC_STDCALL slessolve_(SLES sles,Vec b,Vec x,int *its, int *ierr ){
142: *SLESSolve(
143: (SLES)PetscToPointer( (sles) ),
144: (Vec)PetscToPointer( (b) ),
145: (Vec)PetscToPointer( (x) ),its);
146: }
147: void PETSC_STDCALL slessolvetranspose_(SLES sles,Vec b,Vec x,int *its, int *ierr ){
148: *SLESSolveTranspose(
149: (SLES)PetscToPointer( (sles) ),
150: (Vec)PetscToPointer( (b) ),
151: (Vec)PetscToPointer( (x) ),its);
152: }
153: void PETSC_STDCALL slessetoperators_(SLES sles,Mat Amat,Mat Pmat,MatStructure *flag, int *ierr ){
154: *SLESSetOperators(
155: (SLES)PetscToPointer( (sles) ),
156: (Mat)PetscToPointer( (Amat) ),
157: (Mat)PetscToPointer( (Pmat) ),*flag);
158: }
159: void PETSC_STDCALL slessetuponblocks_(SLES sles, int *ierr ){
160: *SLESSetUpOnBlocks(
161: (SLES)PetscToPointer( (sles) ));
162: }
163: #if defined(__cplusplus)
164: }
165: #endif