Actual source code: itfuncf.c

  1: /* itfunc.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 "petscksp.h"
 28: #ifdef MPI_BUILD_PROFILING
 29: #ifdef PETSC_HAVE_FORTRAN_CAPS
 30: #define kspcomputeextremesingularvalues_ PKSPCOMPUTEEXTREMESINGULARVALUES
 31: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 32: #define kspcomputeextremesingularvalues_ pkspcomputeextremesingularvalues
 33: #else
 34: #define kspcomputeextremesingularvalues_ pkspcomputeextremesingularvalues_
 35: #endif
 36: #else
 37: #ifdef PETSC_HAVE_FORTRAN_CAPS
 38: #define kspcomputeextremesingularvalues_ KSPCOMPUTEEXTREMESINGULARVALUES
 39: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 40: #define kspcomputeextremesingularvalues_ kspcomputeextremesingularvalues
 41: #endif
 42: #endif

 44: #ifdef MPI_BUILD_PROFILING
 45: #ifdef PETSC_HAVE_FORTRAN_CAPS
 46: #define kspcomputeeigenvalues_ PKSPCOMPUTEEIGENVALUES
 47: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 48: #define kspcomputeeigenvalues_ pkspcomputeeigenvalues
 49: #else
 50: #define kspcomputeeigenvalues_ pkspcomputeeigenvalues_
 51: #endif
 52: #else
 53: #ifdef PETSC_HAVE_FORTRAN_CAPS
 54: #define kspcomputeeigenvalues_ KSPCOMPUTEEIGENVALUES
 55: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 56: #define kspcomputeeigenvalues_ kspcomputeeigenvalues
 57: #endif
 58: #endif

 60: #ifdef MPI_BUILD_PROFILING
 61: #ifdef PETSC_HAVE_FORTRAN_CAPS
 62: #define kspsetup_ PKSPSETUP
 63: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 64: #define kspsetup_ pkspsetup
 65: #else
 66: #define kspsetup_ pkspsetup_
 67: #endif
 68: #else
 69: #ifdef PETSC_HAVE_FORTRAN_CAPS
 70: #define kspsetup_ KSPSETUP
 71: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 72: #define kspsetup_ kspsetup
 73: #endif
 74: #endif

 76: #ifdef MPI_BUILD_PROFILING
 77: #ifdef PETSC_HAVE_FORTRAN_CAPS
 78: #define kspsolve_ PKSPSOLVE
 79: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 80: #define kspsolve_ pkspsolve
 81: #else
 82: #define kspsolve_ pkspsolve_
 83: #endif
 84: #else
 85: #ifdef PETSC_HAVE_FORTRAN_CAPS
 86: #define kspsolve_ KSPSOLVE
 87: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 88: #define kspsolve_ kspsolve
 89: #endif
 90: #endif

 92: #ifdef MPI_BUILD_PROFILING
 93: #ifdef PETSC_HAVE_FORTRAN_CAPS
 94: #define kspsolvetranspose_ PKSPSOLVETRANSPOSE
 95: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 96: #define kspsolvetranspose_ pkspsolvetranspose
 97: #else
 98: #define kspsolvetranspose_ pkspsolvetranspose_
 99: #endif
100: #else
101: #ifdef PETSC_HAVE_FORTRAN_CAPS
102: #define kspsolvetranspose_ KSPSOLVETRANSPOSE
103: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
104: #define kspsolvetranspose_ kspsolvetranspose
105: #endif
106: #endif

108: #ifdef MPI_BUILD_PROFILING
109: #ifdef PETSC_HAVE_FORTRAN_CAPS
110: #define kspsetpreconditionerside_ PKSPSETPRECONDITIONERSIDE
111: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
112: #define kspsetpreconditionerside_ pkspsetpreconditionerside
113: #else
114: #define kspsetpreconditionerside_ pkspsetpreconditionerside_
115: #endif
116: #else
117: #ifdef PETSC_HAVE_FORTRAN_CAPS
118: #define kspsetpreconditionerside_ KSPSETPRECONDITIONERSIDE
119: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
120: #define kspsetpreconditionerside_ kspsetpreconditionerside
121: #endif
122: #endif

124: #ifdef MPI_BUILD_PROFILING
125: #ifdef PETSC_HAVE_FORTRAN_CAPS
126: #define kspgettolerances_ PKSPGETTOLERANCES
127: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
128: #define kspgettolerances_ pkspgettolerances
129: #else
130: #define kspgettolerances_ pkspgettolerances_
131: #endif
132: #else
133: #ifdef PETSC_HAVE_FORTRAN_CAPS
134: #define kspgettolerances_ KSPGETTOLERANCES
135: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
136: #define kspgettolerances_ kspgettolerances
137: #endif
138: #endif

140: #ifdef MPI_BUILD_PROFILING
141: #ifdef PETSC_HAVE_FORTRAN_CAPS
142: #define kspsettolerances_ PKSPSETTOLERANCES
143: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
144: #define kspsettolerances_ pkspsettolerances
145: #else
146: #define kspsettolerances_ pkspsettolerances_
147: #endif
148: #else
149: #ifdef PETSC_HAVE_FORTRAN_CAPS
150: #define kspsettolerances_ KSPSETTOLERANCES
151: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
152: #define kspsettolerances_ kspsettolerances
153: #endif
154: #endif

156: #ifdef MPI_BUILD_PROFILING
157: #ifdef PETSC_HAVE_FORTRAN_CAPS
158: #define kspsetcomputeresidual_ PKSPSETCOMPUTERESIDUAL
159: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
160: #define kspsetcomputeresidual_ pkspsetcomputeresidual
161: #else
162: #define kspsetcomputeresidual_ pkspsetcomputeresidual_
163: #endif
164: #else
165: #ifdef PETSC_HAVE_FORTRAN_CAPS
166: #define kspsetcomputeresidual_ KSPSETCOMPUTERESIDUAL
167: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
168: #define kspsetcomputeresidual_ kspsetcomputeresidual
169: #endif
170: #endif

172: #ifdef MPI_BUILD_PROFILING
173: #ifdef PETSC_HAVE_FORTRAN_CAPS
174: #define kspsetusepreconditionedresidual_ PKSPSETUSEPRECONDITIONEDRESIDUAL
175: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
176: #define kspsetusepreconditionedresidual_ pkspsetusepreconditionedresidual
177: #else
178: #define kspsetusepreconditionedresidual_ pkspsetusepreconditionedresidual_
179: #endif
180: #else
181: #ifdef PETSC_HAVE_FORTRAN_CAPS
182: #define kspsetusepreconditionedresidual_ KSPSETUSEPRECONDITIONEDRESIDUAL
183: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
184: #define kspsetusepreconditionedresidual_ kspsetusepreconditionedresidual
185: #endif
186: #endif

188: #ifdef MPI_BUILD_PROFILING
189: #ifdef PETSC_HAVE_FORTRAN_CAPS
190: #define kspsetinitialguessnonzero_ PKSPSETINITIALGUESSNONZERO
191: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
192: #define kspsetinitialguessnonzero_ pkspsetinitialguessnonzero
193: #else
194: #define kspsetinitialguessnonzero_ pkspsetinitialguessnonzero_
195: #endif
196: #else
197: #ifdef PETSC_HAVE_FORTRAN_CAPS
198: #define kspsetinitialguessnonzero_ KSPSETINITIALGUESSNONZERO
199: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
200: #define kspsetinitialguessnonzero_ kspsetinitialguessnonzero
201: #endif
202: #endif

204: #ifdef MPI_BUILD_PROFILING
205: #ifdef PETSC_HAVE_FORTRAN_CAPS
206: #define kspgetinitialguessnonzero_ PKSPGETINITIALGUESSNONZERO
207: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
208: #define kspgetinitialguessnonzero_ pkspgetinitialguessnonzero
209: #else
210: #define kspgetinitialguessnonzero_ pkspgetinitialguessnonzero_
211: #endif
212: #else
213: #ifdef PETSC_HAVE_FORTRAN_CAPS
214: #define kspgetinitialguessnonzero_ KSPGETINITIALGUESSNONZERO
215: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
216: #define kspgetinitialguessnonzero_ kspgetinitialguessnonzero
217: #endif
218: #endif

220: #ifdef MPI_BUILD_PROFILING
221: #ifdef PETSC_HAVE_FORTRAN_CAPS
222: #define kspsetcomputesingularvalues_ PKSPSETCOMPUTESINGULARVALUES
223: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
224: #define kspsetcomputesingularvalues_ pkspsetcomputesingularvalues
225: #else
226: #define kspsetcomputesingularvalues_ pkspsetcomputesingularvalues_
227: #endif
228: #else
229: #ifdef PETSC_HAVE_FORTRAN_CAPS
230: #define kspsetcomputesingularvalues_ KSPSETCOMPUTESINGULARVALUES
231: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
232: #define kspsetcomputesingularvalues_ kspsetcomputesingularvalues
233: #endif
234: #endif

236: #ifdef MPI_BUILD_PROFILING
237: #ifdef PETSC_HAVE_FORTRAN_CAPS
238: #define kspsetcomputeeigenvalues_ PKSPSETCOMPUTEEIGENVALUES
239: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
240: #define kspsetcomputeeigenvalues_ pkspsetcomputeeigenvalues
241: #else
242: #define kspsetcomputeeigenvalues_ pkspsetcomputeeigenvalues_
243: #endif
244: #else
245: #ifdef PETSC_HAVE_FORTRAN_CAPS
246: #define kspsetcomputeeigenvalues_ KSPSETCOMPUTEEIGENVALUES
247: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
248: #define kspsetcomputeeigenvalues_ kspsetcomputeeigenvalues
249: #endif
250: #endif

252: #ifdef MPI_BUILD_PROFILING
253: #ifdef PETSC_HAVE_FORTRAN_CAPS
254: #define kspsetrhs_ PKSPSETRHS
255: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
256: #define kspsetrhs_ pkspsetrhs
257: #else
258: #define kspsetrhs_ pkspsetrhs_
259: #endif
260: #else
261: #ifdef PETSC_HAVE_FORTRAN_CAPS
262: #define kspsetrhs_ KSPSETRHS
263: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
264: #define kspsetrhs_ kspsetrhs
265: #endif
266: #endif

268: #ifdef MPI_BUILD_PROFILING
269: #ifdef PETSC_HAVE_FORTRAN_CAPS
270: #define kspsetsolution_ PKSPSETSOLUTION
271: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
272: #define kspsetsolution_ pkspsetsolution
273: #else
274: #define kspsetsolution_ pkspsetsolution_
275: #endif
276: #else
277: #ifdef PETSC_HAVE_FORTRAN_CAPS
278: #define kspsetsolution_ KSPSETSOLUTION
279: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
280: #define kspsetsolution_ kspsetsolution
281: #endif
282: #endif

284: #ifdef MPI_BUILD_PROFILING
285: #ifdef PETSC_HAVE_FORTRAN_CAPS
286: #define kspsetpc_ PKSPSETPC
287: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
288: #define kspsetpc_ pkspsetpc
289: #else
290: #define kspsetpc_ pkspsetpc_
291: #endif
292: #else
293: #ifdef PETSC_HAVE_FORTRAN_CAPS
294: #define kspsetpc_ KSPSETPC
295: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
296: #define kspsetpc_ kspsetpc
297: #endif
298: #endif

300: #ifdef MPI_BUILD_PROFILING
301: #ifdef PETSC_HAVE_FORTRAN_CAPS
302: #define kspclearmonitor_ PKSPCLEARMONITOR
303: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
304: #define kspclearmonitor_ pkspclearmonitor
305: #else
306: #define kspclearmonitor_ pkspclearmonitor_
307: #endif
308: #else
309: #ifdef PETSC_HAVE_FORTRAN_CAPS
310: #define kspclearmonitor_ KSPCLEARMONITOR
311: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
312: #define kspclearmonitor_ kspclearmonitor
313: #endif
314: #endif

316: #ifdef MPI_BUILD_PROFILING
317: #ifdef PETSC_HAVE_FORTRAN_CAPS
318: #define kspsetresidualhistory_ PKSPSETRESIDUALHISTORY
319: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
320: #define kspsetresidualhistory_ pkspsetresidualhistory
321: #else
322: #define kspsetresidualhistory_ pkspsetresidualhistory_
323: #endif
324: #else
325: #ifdef PETSC_HAVE_FORTRAN_CAPS
326: #define kspsetresidualhistory_ KSPSETRESIDUALHISTORY
327: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
328: #define kspsetresidualhistory_ kspsetresidualhistory
329: #endif
330: #endif



334: /* Definitions of Fortran Wrapper routines */
335: #if defined(__cplusplus)
336: extern "C" {
337: #endif
338: void PETSC_STDCALL kspcomputeextremesingularvalues_(KSP ksp,PetscReal *emax,PetscReal *emin, int *__ierr ){
339: *__KSPComputeExtremeSingularValues(
340:         (KSP)PetscToPointer( (ksp) ),emax,emin);
341: }
342: void PETSC_STDCALL kspcomputeeigenvalues_(KSP ksp,int *n,PetscReal *r,PetscReal *c,int *neig, int *__ierr ){
343: *__KSPComputeEigenvalues(
344:         (KSP)PetscToPointer( (ksp) ),*n,r,c,neig);
345: }
346: void PETSC_STDCALL kspsetup_(KSP ksp, int *__ierr ){
347: *__KSPSetUp(
348:         (KSP)PetscToPointer( (ksp) ));
349: }
350: void PETSC_STDCALL kspsolve_(KSP ksp,int *its, int *__ierr ){
351: *__KSPSolve(
352:         (KSP)PetscToPointer( (ksp) ),its);
353: }
354: void PETSC_STDCALL kspsolvetranspose_(KSP ksp,int *its, int *__ierr ){
355: *__KSPSolveTranspose(
356:         (KSP)PetscToPointer( (ksp) ),its);
357: }
358: void PETSC_STDCALL kspsetpreconditionerside_(KSP ksp,PCSide *side, int *__ierr ){
359: *__KSPSetPreconditionerSide(
360:         (KSP)PetscToPointer( (ksp) ),*side);
361: }
362: void PETSC_STDCALL kspgettolerances_(KSP ksp,PetscReal *rtol,PetscReal *atol,PetscReal *dtol,int *maxits, int *__ierr ){
363: *__KSPGetTolerances(
364:         (KSP)PetscToPointer( (ksp) ),rtol,atol,dtol,maxits);
365: }
366: void PETSC_STDCALL kspsettolerances_(KSP ksp,PetscReal *rtol,PetscReal *atol,PetscReal *dtol,int *maxits, int *__ierr ){
367: *__KSPSetTolerances(
368:         (KSP)PetscToPointer( (ksp) ),*rtol,*atol,*dtol,*maxits);
369: }
370: void PETSC_STDCALL kspsetcomputeresidual_(KSP ksp,PetscTruth *flag, int *__ierr ){
371: *__KSPSetComputeResidual(
372:         (KSP)PetscToPointer( (ksp) ),*flag);
373: }
374: void PETSC_STDCALL kspsetusepreconditionedresidual_(KSP ksp, int *__ierr ){
375: *__KSPSetUsePreconditionedResidual(
376:         (KSP)PetscToPointer( (ksp) ));
377: }
378: void PETSC_STDCALL kspsetinitialguessnonzero_(KSP ksp, int *__ierr ){
379: *__KSPSetInitialGuessNonzero(
380:         (KSP)PetscToPointer( (ksp) ));
381: }
382: void PETSC_STDCALL kspgetinitialguessnonzero_(KSP ksp,PetscTruth *flag, int *__ierr ){
383: *__KSPGetInitialGuessNonzero(
384:         (KSP)PetscToPointer( (ksp) ),flag);
385: }
386: void PETSC_STDCALL kspsetcomputesingularvalues_(KSP ksp, int *__ierr ){
387: *__KSPSetComputeSingularValues(
388:         (KSP)PetscToPointer( (ksp) ));
389: }
390: void PETSC_STDCALL kspsetcomputeeigenvalues_(KSP ksp, int *__ierr ){
391: *__KSPSetComputeEigenvalues(
392:         (KSP)PetscToPointer( (ksp) ));
393: }
394: void PETSC_STDCALL kspsetrhs_(KSP ksp,Vec b, int *__ierr ){
395: *__KSPSetRhs(
396:         (KSP)PetscToPointer( (ksp) ),
397:         (Vec)PetscToPointer( (b) ));
398: }
399: void PETSC_STDCALL kspsetsolution_(KSP ksp,Vec x, int *__ierr ){
400: *__KSPSetSolution(
401:         (KSP)PetscToPointer( (ksp) ),
402:         (Vec)PetscToPointer( (x) ));
403: }
404: void PETSC_STDCALL kspsetpc_(KSP ksp,PC B, int *__ierr ){
405: *__KSPSetPC(
406:         (KSP)PetscToPointer( (ksp) ),
407:         (PC)PetscToPointer( (B) ));
408: }
409: void PETSC_STDCALL kspclearmonitor_(KSP ksp, int *__ierr ){
410: *__KSPClearMonitor(
411:         (KSP)PetscToPointer( (ksp) ));
412: }
413: void PETSC_STDCALL kspsetresidualhistory_(KSP ksp,PetscReal *a,int *na,PetscTruth *reset, int *__ierr ){
414: *__KSPSetResidualHistory(
415:         (KSP)PetscToPointer( (ksp) ),a,*na,*reset);
416: }
417: #if defined(__cplusplus)
418: }
419: #endif