Actual source code: preconf.c

  1: /* precon.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 pcapply_ PPCAPPLY
 32: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 33: #define pcapply_ ppcapply
 34: #else
 35: #define pcapply_ ppcapply_
 36: #endif
 37: #else
 38: #ifdef PETSC_HAVE_FORTRAN_CAPS
 39: #define pcapply_ PCAPPLY
 40: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 41: #define pcapply_ pcapply
 42: #endif
 43: #endif

 45: #ifdef MPI_BUILD_PROFILING
 46: #ifdef PETSC_HAVE_FORTRAN_CAPS
 47: #define pcapplysymmetricleft_ PPCAPPLYSYMMETRICLEFT
 48: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 49: #define pcapplysymmetricleft_ ppcapplysymmetricleft
 50: #else
 51: #define pcapplysymmetricleft_ ppcapplysymmetricleft_
 52: #endif
 53: #else
 54: #ifdef PETSC_HAVE_FORTRAN_CAPS
 55: #define pcapplysymmetricleft_ PCAPPLYSYMMETRICLEFT
 56: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 57: #define pcapplysymmetricleft_ pcapplysymmetricleft
 58: #endif
 59: #endif

 61: #ifdef MPI_BUILD_PROFILING
 62: #ifdef PETSC_HAVE_FORTRAN_CAPS
 63: #define pcapplysymmetricright_ PPCAPPLYSYMMETRICRIGHT
 64: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 65: #define pcapplysymmetricright_ ppcapplysymmetricright
 66: #else
 67: #define pcapplysymmetricright_ ppcapplysymmetricright_
 68: #endif
 69: #else
 70: #ifdef PETSC_HAVE_FORTRAN_CAPS
 71: #define pcapplysymmetricright_ PCAPPLYSYMMETRICRIGHT
 72: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 73: #define pcapplysymmetricright_ pcapplysymmetricright
 74: #endif
 75: #endif

 77: #ifdef MPI_BUILD_PROFILING
 78: #ifdef PETSC_HAVE_FORTRAN_CAPS
 79: #define pcapplytranspose_ PPCAPPLYTRANSPOSE
 80: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 81: #define pcapplytranspose_ ppcapplytranspose
 82: #else
 83: #define pcapplytranspose_ ppcapplytranspose_
 84: #endif
 85: #else
 86: #ifdef PETSC_HAVE_FORTRAN_CAPS
 87: #define pcapplytranspose_ PCAPPLYTRANSPOSE
 88: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 89: #define pcapplytranspose_ pcapplytranspose
 90: #endif
 91: #endif

 93: #ifdef MPI_BUILD_PROFILING
 94: #ifdef PETSC_HAVE_FORTRAN_CAPS
 95: #define pcapplybaorab_ PPCAPPLYBAORAB
 96: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 97: #define pcapplybaorab_ ppcapplybaorab
 98: #else
 99: #define pcapplybaorab_ ppcapplybaorab_
100: #endif
101: #else
102: #ifdef PETSC_HAVE_FORTRAN_CAPS
103: #define pcapplybaorab_ PCAPPLYBAORAB
104: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
105: #define pcapplybaorab_ pcapplybaorab
106: #endif
107: #endif

109: #ifdef MPI_BUILD_PROFILING
110: #ifdef PETSC_HAVE_FORTRAN_CAPS
111: #define pcapplybaorabtranspose_ PPCAPPLYBAORABTRANSPOSE
112: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
113: #define pcapplybaorabtranspose_ ppcapplybaorabtranspose
114: #else
115: #define pcapplybaorabtranspose_ ppcapplybaorabtranspose_
116: #endif
117: #else
118: #ifdef PETSC_HAVE_FORTRAN_CAPS
119: #define pcapplybaorabtranspose_ PCAPPLYBAORABTRANSPOSE
120: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
121: #define pcapplybaorabtranspose_ pcapplybaorabtranspose
122: #endif
123: #endif

125: #ifdef MPI_BUILD_PROFILING
126: #ifdef PETSC_HAVE_FORTRAN_CAPS
127: #define pcapplyrichardsonexists_ PPCAPPLYRICHARDSONEXISTS
128: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
129: #define pcapplyrichardsonexists_ ppcapplyrichardsonexists
130: #else
131: #define pcapplyrichardsonexists_ ppcapplyrichardsonexists_
132: #endif
133: #else
134: #ifdef PETSC_HAVE_FORTRAN_CAPS
135: #define pcapplyrichardsonexists_ PCAPPLYRICHARDSONEXISTS
136: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
137: #define pcapplyrichardsonexists_ pcapplyrichardsonexists
138: #endif
139: #endif

141: #ifdef MPI_BUILD_PROFILING
142: #ifdef PETSC_HAVE_FORTRAN_CAPS
143: #define pcapplyrichardson_ PPCAPPLYRICHARDSON
144: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
145: #define pcapplyrichardson_ ppcapplyrichardson
146: #else
147: #define pcapplyrichardson_ ppcapplyrichardson_
148: #endif
149: #else
150: #ifdef PETSC_HAVE_FORTRAN_CAPS
151: #define pcapplyrichardson_ PCAPPLYRICHARDSON
152: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
153: #define pcapplyrichardson_ pcapplyrichardson
154: #endif
155: #endif

157: #ifdef MPI_BUILD_PROFILING
158: #ifdef PETSC_HAVE_FORTRAN_CAPS
159: #define pcsetup_ PPCSETUP
160: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
161: #define pcsetup_ ppcsetup
162: #else
163: #define pcsetup_ ppcsetup_
164: #endif
165: #else
166: #ifdef PETSC_HAVE_FORTRAN_CAPS
167: #define pcsetup_ PCSETUP
168: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
169: #define pcsetup_ pcsetup
170: #endif
171: #endif

173: #ifdef MPI_BUILD_PROFILING
174: #ifdef PETSC_HAVE_FORTRAN_CAPS
175: #define pcsetuponblocks_ PPCSETUPONBLOCKS
176: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
177: #define pcsetuponblocks_ ppcsetuponblocks
178: #else
179: #define pcsetuponblocks_ ppcsetuponblocks_
180: #endif
181: #else
182: #ifdef PETSC_HAVE_FORTRAN_CAPS
183: #define pcsetuponblocks_ PCSETUPONBLOCKS
184: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
185: #define pcsetuponblocks_ pcsetuponblocks
186: #endif
187: #endif

189: #ifdef MPI_BUILD_PROFILING
190: #ifdef PETSC_HAVE_FORTRAN_CAPS
191: #define pcsetmodifysubmatrices_ PPCSETMODIFYSUBMATRICES
192: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
193: #define pcsetmodifysubmatrices_ ppcsetmodifysubmatrices
194: #else
195: #define pcsetmodifysubmatrices_ ppcsetmodifysubmatrices_
196: #endif
197: #else
198: #ifdef PETSC_HAVE_FORTRAN_CAPS
199: #define pcsetmodifysubmatrices_ PCSETMODIFYSUBMATRICES
200: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
201: #define pcsetmodifysubmatrices_ pcsetmodifysubmatrices
202: #endif
203: #endif

205: #ifdef MPI_BUILD_PROFILING
206: #ifdef PETSC_HAVE_FORTRAN_CAPS
207: #define pcmodifysubmatrices_ PPCMODIFYSUBMATRICES
208: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
209: #define pcmodifysubmatrices_ ppcmodifysubmatrices
210: #else
211: #define pcmodifysubmatrices_ ppcmodifysubmatrices_
212: #endif
213: #else
214: #ifdef PETSC_HAVE_FORTRAN_CAPS
215: #define pcmodifysubmatrices_ PCMODIFYSUBMATRICES
216: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
217: #define pcmodifysubmatrices_ pcmodifysubmatrices
218: #endif
219: #endif

221: #ifdef MPI_BUILD_PROFILING
222: #ifdef PETSC_HAVE_FORTRAN_CAPS
223: #define pcsetoperators_ PPCSETOPERATORS
224: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
225: #define pcsetoperators_ ppcsetoperators
226: #else
227: #define pcsetoperators_ ppcsetoperators_
228: #endif
229: #else
230: #ifdef PETSC_HAVE_FORTRAN_CAPS
231: #define pcsetoperators_ PCSETOPERATORS
232: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
233: #define pcsetoperators_ pcsetoperators
234: #endif
235: #endif

237: #ifdef MPI_BUILD_PROFILING
238: #ifdef PETSC_HAVE_FORTRAN_CAPS
239: #define pcsetvector_ PPCSETVECTOR
240: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
241: #define pcsetvector_ ppcsetvector
242: #else
243: #define pcsetvector_ ppcsetvector_
244: #endif
245: #else
246: #ifdef PETSC_HAVE_FORTRAN_CAPS
247: #define pcsetvector_ PCSETVECTOR
248: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
249: #define pcsetvector_ pcsetvector
250: #endif
251: #endif

253: #ifdef MPI_BUILD_PROFILING
254: #ifdef PETSC_HAVE_FORTRAN_CAPS
255: #define pcgetvector_ PPCGETVECTOR
256: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
257: #define pcgetvector_ ppcgetvector
258: #else
259: #define pcgetvector_ ppcgetvector_
260: #endif
261: #else
262: #ifdef PETSC_HAVE_FORTRAN_CAPS
263: #define pcgetvector_ PCGETVECTOR
264: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
265: #define pcgetvector_ pcgetvector
266: #endif
267: #endif

269: #ifdef MPI_BUILD_PROFILING
270: #ifdef PETSC_HAVE_FORTRAN_CAPS
271: #define pcpresolve_ PPCPRESOLVE
272: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
273: #define pcpresolve_ ppcpresolve
274: #else
275: #define pcpresolve_ ppcpresolve_
276: #endif
277: #else
278: #ifdef PETSC_HAVE_FORTRAN_CAPS
279: #define pcpresolve_ PCPRESOLVE
280: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
281: #define pcpresolve_ pcpresolve
282: #endif
283: #endif

285: #ifdef MPI_BUILD_PROFILING
286: #ifdef PETSC_HAVE_FORTRAN_CAPS
287: #define pcpostsolve_ PPCPOSTSOLVE
288: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
289: #define pcpostsolve_ ppcpostsolve
290: #else
291: #define pcpostsolve_ ppcpostsolve_
292: #endif
293: #else
294: #ifdef PETSC_HAVE_FORTRAN_CAPS
295: #define pcpostsolve_ PCPOSTSOLVE
296: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
297: #define pcpostsolve_ pcpostsolve
298: #endif
299: #endif

301: #ifdef MPI_BUILD_PROFILING
302: #ifdef PETSC_HAVE_FORTRAN_CAPS
303: #define pccomputeexplicitoperator_ PPCCOMPUTEEXPLICITOPERATOR
304: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
305: #define pccomputeexplicitoperator_ ppccomputeexplicitoperator
306: #else
307: #define pccomputeexplicitoperator_ ppccomputeexplicitoperator_
308: #endif
309: #else
310: #ifdef PETSC_HAVE_FORTRAN_CAPS
311: #define pccomputeexplicitoperator_ PCCOMPUTEEXPLICITOPERATOR
312: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
313: #define pccomputeexplicitoperator_ pccomputeexplicitoperator
314: #endif
315: #endif



319: /* Definitions of Fortran Wrapper routines */
320: #if defined(__cplusplus)
321: extern "C" {
322: #endif
323: void PETSC_STDCALL pcapply_(PC pc,Vec x,Vec y, int *ierr ){
324: *PCApply(
325:         (PC)PetscToPointer( (pc) ),
326:         (Vec)PetscToPointer( (x) ),
327:         (Vec)PetscToPointer( (y) ));
328: }
329: void PETSC_STDCALL pcapplysymmetricleft_(PC pc,Vec x,Vec y, int *ierr ){
330: *PCApplySymmetricLeft(
331:         (PC)PetscToPointer( (pc) ),
332:         (Vec)PetscToPointer( (x) ),
333:         (Vec)PetscToPointer( (y) ));
334: }
335: void PETSC_STDCALL pcapplysymmetricright_(PC pc,Vec x,Vec y, int *ierr ){
336: *PCApplySymmetricRight(
337:         (PC)PetscToPointer( (pc) ),
338:         (Vec)PetscToPointer( (x) ),
339:         (Vec)PetscToPointer( (y) ));
340: }
341: void PETSC_STDCALL pcapplytranspose_(PC pc,Vec x,Vec y, int *ierr ){
342: *PCApplyTranspose(
343:         (PC)PetscToPointer( (pc) ),
344:         (Vec)PetscToPointer( (x) ),
345:         (Vec)PetscToPointer( (y) ));
346: }
347: void PETSC_STDCALL pcapplybaorab_(PC pc,PCSide *side,Vec x,Vec y,Vec work, int *ierr ){
348: *PCApplyBAorAB(
349:         (PC)PetscToPointer( (pc) ),*side,
350:         (Vec)PetscToPointer( (x) ),
351:         (Vec)PetscToPointer( (y) ),
352:         (Vec)PetscToPointer( (work) ));
353: }
354: void PETSC_STDCALL pcapplybaorabtranspose_(PC pc,PCSide *side,Vec x,Vec y,Vec work, int *ierr ){
355: *PCApplyBAorABTranspose(
356:         (PC)PetscToPointer( (pc) ),*side,
357:         (Vec)PetscToPointer( (x) ),
358:         (Vec)PetscToPointer( (y) ),
359:         (Vec)PetscToPointer( (work) ));
360: }
361: void PETSC_STDCALL pcapplyrichardsonexists_(PC pc,PetscTruth *exists, int *ierr ){
362: *PCApplyRichardsonExists(
363:         (PC)PetscToPointer( (pc) ),exists);
364: }
365: void PETSC_STDCALL pcapplyrichardson_(PC pc,Vec x,Vec y,Vec w,PetscReal *rtol,PetscReal *atol,PetscReal *dtol,int *its, int *ierr ){
366: *PCApplyRichardson(
367:         (PC)PetscToPointer( (pc) ),
368:         (Vec)PetscToPointer( (x) ),
369:         (Vec)PetscToPointer( (y) ),
370:         (Vec)PetscToPointer( (w) ),*rtol,*atol,*dtol,*its);
371: }
372: void PETSC_STDCALL pcsetup_(PC pc, int *ierr ){
373: *PCSetUp(
374:         (PC)PetscToPointer( (pc) ));
375: }
376: void PETSC_STDCALL pcsetuponblocks_(PC pc, int *ierr ){
377: *PCSetUpOnBlocks(
378:         (PC)PetscToPointer( (pc) ));
379: }
380: void PETSC_STDCALL pcsetmodifysubmatrices_(PC pc,int(*func)(PC,int,IS*,IS*,Mat*,void*),void*ctx, int *ierr ){
381: *PCSetModifySubMatrices(
382:         (PC)PetscToPointer( (pc) ),func,ctx);
383: }
384: void PETSC_STDCALL pcmodifysubmatrices_(PC pc,int *nsub,IS *row,IS *col,Mat *submat,void*ctx, int *ierr ){
385: *PCModifySubMatrices(
386:         (PC)PetscToPointer( (pc) ),*nsub,row,col,submat,ctx);
387: }
388: void PETSC_STDCALL pcsetoperators_(PC pc,Mat Amat,Mat Pmat,MatStructure *flag, int *ierr ){
389: *PCSetOperators(
390:         (PC)PetscToPointer( (pc) ),
391:         (Mat)PetscToPointer( (Amat) ),
392:         (Mat)PetscToPointer( (Pmat) ),*flag);
393: }
394: void PETSC_STDCALL pcsetvector_(PC pc,Vec vec, int *ierr ){
395: *PCSetVector(
396:         (PC)PetscToPointer( (pc) ),
397:         (Vec)PetscToPointer( (vec) ));
398: }
399: void PETSC_STDCALL pcgetvector_(PC pc,Vec *vec, int *ierr ){
400: *PCGetVector(
401:         (PC)PetscToPointer( (pc) ),vec);
402: }
403: void PETSC_STDCALL pcpresolve_(PC pc,KSP ksp, int *ierr ){
404: *PCPreSolve(
405:         (PC)PetscToPointer( (pc) ),
406:         (KSP)PetscToPointer( (ksp) ));
407: }
408: void PETSC_STDCALL pcpostsolve_(PC pc,KSP ksp, int *ierr ){
409: *PCPostSolve(
410:         (PC)PetscToPointer( (pc) ),
411:         (KSP)PetscToPointer( (ksp) ));
412: }
413: void PETSC_STDCALL pccomputeexplicitoperator_(PC pc,Mat *mat, int *ierr ){
414: *PCComputeExplicitOperator(
415:         (PC)PetscToPointer( (pc) ),mat);
416: }
417: #if defined(__cplusplus)
418: }
419: #endif