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

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

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

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

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

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

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

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

157: #ifdef MPI_BUILD_PROFILING
158: #ifdef PETSC_HAVE_FORTRAN_CAPS
159: #define kspsetinitialguessnonzero_ PKSPSETINITIALGUESSNONZERO
160: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
161: #define kspsetinitialguessnonzero_ pkspsetinitialguessnonzero
162: #else
163: #define kspsetinitialguessnonzero_ pkspsetinitialguessnonzero_
164: #endif
165: #else
166: #ifdef PETSC_HAVE_FORTRAN_CAPS
167: #define kspsetinitialguessnonzero_ KSPSETINITIALGUESSNONZERO
168: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
169: #define kspsetinitialguessnonzero_ kspsetinitialguessnonzero
170: #endif
171: #endif

173: #ifdef MPI_BUILD_PROFILING
174: #ifdef PETSC_HAVE_FORTRAN_CAPS
175: #define kspgetinitialguessnonzero_ PKSPGETINITIALGUESSNONZERO
176: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
177: #define kspgetinitialguessnonzero_ pkspgetinitialguessnonzero
178: #else
179: #define kspgetinitialguessnonzero_ pkspgetinitialguessnonzero_
180: #endif
181: #else
182: #ifdef PETSC_HAVE_FORTRAN_CAPS
183: #define kspgetinitialguessnonzero_ KSPGETINITIALGUESSNONZERO
184: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
185: #define kspgetinitialguessnonzero_ kspgetinitialguessnonzero
186: #endif
187: #endif

189: #ifdef MPI_BUILD_PROFILING
190: #ifdef PETSC_HAVE_FORTRAN_CAPS
191: #define kspsetinitialguessknoll_ PKSPSETINITIALGUESSKNOLL
192: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
193: #define kspsetinitialguessknoll_ pkspsetinitialguessknoll
194: #else
195: #define kspsetinitialguessknoll_ pkspsetinitialguessknoll_
196: #endif
197: #else
198: #ifdef PETSC_HAVE_FORTRAN_CAPS
199: #define kspsetinitialguessknoll_ KSPSETINITIALGUESSKNOLL
200: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
201: #define kspsetinitialguessknoll_ kspsetinitialguessknoll
202: #endif
203: #endif

205: #ifdef MPI_BUILD_PROFILING
206: #ifdef PETSC_HAVE_FORTRAN_CAPS
207: #define kspgetinitialguessknoll_ PKSPGETINITIALGUESSKNOLL
208: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
209: #define kspgetinitialguessknoll_ pkspgetinitialguessknoll
210: #else
211: #define kspgetinitialguessknoll_ pkspgetinitialguessknoll_
212: #endif
213: #else
214: #ifdef PETSC_HAVE_FORTRAN_CAPS
215: #define kspgetinitialguessknoll_ KSPGETINITIALGUESSKNOLL
216: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
217: #define kspgetinitialguessknoll_ kspgetinitialguessknoll
218: #endif
219: #endif

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

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

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

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

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

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

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



335: /* Definitions of Fortran Wrapper routines */
336: #if defined(__cplusplus)
337: extern "C" {
338: #endif
339: void PETSC_STDCALL kspcomputeextremesingularvalues_(KSP ksp,PetscReal *emax,PetscReal *emin, int *ierr ){
340: *KSPComputeExtremeSingularValues(
341:         (KSP)PetscToPointer( (ksp) ),emax,emin);
342: }
343: void PETSC_STDCALL kspcomputeeigenvalues_(KSP ksp,int *n,PetscReal *r,PetscReal *c,int *neig, int *ierr ){
344: *KSPComputeEigenvalues(
345:         (KSP)PetscToPointer( (ksp) ),*n,r,c,neig);
346: }
347: void PETSC_STDCALL kspsetup_(KSP ksp, int *ierr ){
348: *KSPSetUp(
349:         (KSP)PetscToPointer( (ksp) ));
350: }
351: void PETSC_STDCALL kspsolve_(KSP ksp,int *its, int *ierr ){
352: *KSPSolve(
353:         (KSP)PetscToPointer( (ksp) ),its);
354: }
355: void PETSC_STDCALL kspsolvetranspose_(KSP ksp,int *its, int *ierr ){
356: *KSPSolveTranspose(
357:         (KSP)PetscToPointer( (ksp) ),its);
358: }
359: void PETSC_STDCALL kspsetpreconditionerside_(KSP ksp,PCSide *side, int *ierr ){
360: *KSPSetPreconditionerSide(
361:         (KSP)PetscToPointer( (ksp) ),*side);
362: }
363: void PETSC_STDCALL kspgettolerances_(KSP ksp,PetscReal *rtol,PetscReal *atol,PetscReal *dtol,int *maxits, int *ierr ){
364: *KSPGetTolerances(
365:         (KSP)PetscToPointer( (ksp) ),rtol,atol,dtol,maxits);
366: }
367: void PETSC_STDCALL kspsettolerances_(KSP ksp,PetscReal *rtol,PetscReal *atol,PetscReal *dtol,int *maxits, int *ierr ){
368: *KSPSetTolerances(
369:         (KSP)PetscToPointer( (ksp) ),*rtol,*atol,*dtol,*maxits);
370: }
371: void PETSC_STDCALL kspsetinitialguessnonzero_(KSP ksp,PetscTruth *flg, int *ierr ){
372: *KSPSetInitialGuessNonzero(
373:         (KSP)PetscToPointer( (ksp) ),*flg);
374: }
375: void PETSC_STDCALL kspgetinitialguessnonzero_(KSP ksp,PetscTruth *flag, int *ierr ){
376: *KSPGetInitialGuessNonzero(
377:         (KSP)PetscToPointer( (ksp) ),flag);
378: }
379: void PETSC_STDCALL kspsetinitialguessknoll_(KSP ksp,PetscTruth *flg, int *ierr ){
380: *KSPSetInitialGuessKnoll(
381:         (KSP)PetscToPointer( (ksp) ),*flg);
382: }
383: void PETSC_STDCALL kspgetinitialguessknoll_(KSP ksp,PetscTruth *flag, int *ierr ){
384: *KSPGetInitialGuessKnoll(
385:         (KSP)PetscToPointer( (ksp) ),flag);
386: }
387: void PETSC_STDCALL kspsetcomputesingularvalues_(KSP ksp,PetscTruth *flg, int *ierr ){
388: *KSPSetComputeSingularValues(
389:         (KSP)PetscToPointer( (ksp) ),*flg);
390: }
391: void PETSC_STDCALL kspsetcomputeeigenvalues_(KSP ksp,PetscTruth *flg, int *ierr ){
392: *KSPSetComputeEigenvalues(
393:         (KSP)PetscToPointer( (ksp) ),*flg);
394: }
395: void PETSC_STDCALL kspsetrhs_(KSP ksp,Vec b, int *ierr ){
396: *KSPSetRhs(
397:         (KSP)PetscToPointer( (ksp) ),
398:         (Vec)PetscToPointer( (b) ));
399: }
400: void PETSC_STDCALL kspsetsolution_(KSP ksp,Vec x, int *ierr ){
401: *KSPSetSolution(
402:         (KSP)PetscToPointer( (ksp) ),
403:         (Vec)PetscToPointer( (x) ));
404: }
405: void PETSC_STDCALL kspsetpc_(KSP ksp,PC B, int *ierr ){
406: *KSPSetPC(
407:         (KSP)PetscToPointer( (ksp) ),
408:         (PC)PetscToPointer( (B) ));
409: }
410: void PETSC_STDCALL kspclearmonitor_(KSP ksp, int *ierr ){
411: *KSPClearMonitor(
412:         (KSP)PetscToPointer( (ksp) ));
413: }
414: void PETSC_STDCALL kspsetresidualhistory_(KSP ksp,PetscReal *a,int *na,PetscTruth *reset, int *ierr ){
415: *KSPSetResidualHistory(
416:         (KSP)PetscToPointer( (ksp) ),a,*na,*reset);
417: }
418: #if defined(__cplusplus)
419: }
420: #endif