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 "petscsles.h"
 28: #ifdef MPI_BUILD_PROFILING
 29: #ifdef PETSC_HAVE_FORTRAN_CAPS
 30: #define pcapply_ PPCAPPLY
 31: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 32: #define pcapply_ ppcapply
 33: #else
 34: #define pcapply_ ppcapply_
 35: #endif
 36: #else
 37: #ifdef PETSC_HAVE_FORTRAN_CAPS
 38: #define pcapply_ PCAPPLY
 39: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 40: #define pcapply_ pcapply
 41: #endif
 42: #endif

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



318: /* Definitions of Fortran Wrapper routines */
319: #if defined(__cplusplus)
320: extern "C" {
321: #endif
322: void PETSC_STDCALL pcapply_(PC pc,Vec x,Vec y, int *__ierr ){
323: *__PCApply(
324:         (PC)PetscToPointer( (pc) ),
325:         (Vec)PetscToPointer( (x) ),
326:         (Vec)PetscToPointer( (y) ));
327: }
328: void PETSC_STDCALL pcapplysymmetricleft_(PC pc,Vec x,Vec y, int *__ierr ){
329: *__PCApplySymmetricLeft(
330:         (PC)PetscToPointer( (pc) ),
331:         (Vec)PetscToPointer( (x) ),
332:         (Vec)PetscToPointer( (y) ));
333: }
334: void PETSC_STDCALL pcapplysymmetricright_(PC pc,Vec x,Vec y, int *__ierr ){
335: *__PCApplySymmetricRight(
336:         (PC)PetscToPointer( (pc) ),
337:         (Vec)PetscToPointer( (x) ),
338:         (Vec)PetscToPointer( (y) ));
339: }
340: void PETSC_STDCALL pcapplytranspose_(PC pc,Vec x,Vec y, int *__ierr ){
341: *__PCApplyTranspose(
342:         (PC)PetscToPointer( (pc) ),
343:         (Vec)PetscToPointer( (x) ),
344:         (Vec)PetscToPointer( (y) ));
345: }
346: void PETSC_STDCALL pcapplybaorab_(PC pc,PCSide *side,Vec x,Vec y,Vec work, int *__ierr ){
347: *__PCApplyBAorAB(
348:         (PC)PetscToPointer( (pc) ),*side,
349:         (Vec)PetscToPointer( (x) ),
350:         (Vec)PetscToPointer( (y) ),
351:         (Vec)PetscToPointer( (work) ));
352: }
353: void PETSC_STDCALL pcapplybaorabtranspose_(PC pc,PCSide *side,Vec x,Vec y,Vec work, int *__ierr ){
354: *__PCApplyBAorABTranspose(
355:         (PC)PetscToPointer( (pc) ),*side,
356:         (Vec)PetscToPointer( (x) ),
357:         (Vec)PetscToPointer( (y) ),
358:         (Vec)PetscToPointer( (work) ));
359: }
360: void PETSC_STDCALL pcapplyrichardsonexists_(PC pc,PetscTruth *exists, int *__ierr ){
361: *__PCApplyRichardsonExists(
362:         (PC)PetscToPointer( (pc) ),exists);
363: }
364: void PETSC_STDCALL pcapplyrichardson_(PC pc,Vec x,Vec y,Vec w,int *its, int *__ierr ){
365: *__PCApplyRichardson(
366:         (PC)PetscToPointer( (pc) ),
367:         (Vec)PetscToPointer( (x) ),
368:         (Vec)PetscToPointer( (y) ),
369:         (Vec)PetscToPointer( (w) ),*its);
370: }
371: void PETSC_STDCALL pcsetup_(PC pc, int *__ierr ){
372: *__PCSetUp(
373:         (PC)PetscToPointer( (pc) ));
374: }
375: void PETSC_STDCALL pcsetuponblocks_(PC pc, int *__ierr ){
376: *__PCSetUpOnBlocks(
377:         (PC)PetscToPointer( (pc) ));
378: }
379: void PETSC_STDCALL pcsetmodifysubmatrices_(PC pc,int(*func)(PC,int,IS*,IS*,Mat*,void*),void*ctx, int *__ierr ){
380: *__PCSetModifySubMatrices(
381:         (PC)PetscToPointer( (pc) ),func,ctx);
382: }
383: void PETSC_STDCALL pcmodifysubmatrices_(PC pc,int *nsub,IS *row,IS *col,Mat *submat,void*ctx, int *__ierr ){
384: *__PCModifySubMatrices(
385:         (PC)PetscToPointer( (pc) ),*nsub,row,col,submat,ctx);
386: }
387: void PETSC_STDCALL pcsetoperators_(PC pc,Mat Amat,Mat Pmat,MatStructure *flag, int *__ierr ){
388: *__PCSetOperators(
389:         (PC)PetscToPointer( (pc) ),
390:         (Mat)PetscToPointer( (Amat) ),
391:         (Mat)PetscToPointer( (Pmat) ),*flag);
392: }
393: void PETSC_STDCALL pcsetvector_(PC pc,Vec vec, int *__ierr ){
394: *__PCSetVector(
395:         (PC)PetscToPointer( (pc) ),
396:         (Vec)PetscToPointer( (vec) ));
397: }
398: void PETSC_STDCALL pcgetvector_(PC pc,Vec *vec, int *__ierr ){
399: *__PCGetVector(
400:         (PC)PetscToPointer( (pc) ),vec);
401: }
402: void PETSC_STDCALL pcpresolve_(PC pc,KSP ksp, int *__ierr ){
403: *__PCPreSolve(
404:         (PC)PetscToPointer( (pc) ),
405:         (KSP)PetscToPointer( (ksp) ));
406: }
407: void PETSC_STDCALL pcpostsolve_(PC pc,KSP ksp, int *__ierr ){
408: *__PCPostSolve(
409:         (PC)PetscToPointer( (pc) ),
410:         (KSP)PetscToPointer( (ksp) ));
411: }
412: void PETSC_STDCALL pccomputeexplicitoperator_(PC pc,Mat *mat, int *__ierr ){
413: *__PCComputeExplicitOperator(
414:         (PC)PetscToPointer( (pc) ),mat);
415: }
416: #if defined(__cplusplus)
417: }
418: #endif