Actual source code: matrixf.c

  1: /* matrix.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 "petscmat.h"
 28: #ifdef MPI_BUILD_PROFILING
 29: #ifdef PETSC_HAVE_FORTRAN_CAPS
 30: #define matvalid_ PMATVALID
 31: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 32: #define matvalid_ pmatvalid
 33: #else
 34: #define matvalid_ pmatvalid_
 35: #endif
 36: #else
 37: #ifdef PETSC_HAVE_FORTRAN_CAPS
 38: #define matvalid_ MATVALID
 39: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 40: #define matvalid_ matvalid
 41: #endif
 42: #endif

 44: #ifdef MPI_BUILD_PROFILING
 45: #ifdef PETSC_HAVE_FORTRAN_CAPS
 46: #define matsetvalues_ PMATSETVALUES
 47: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 48: #define matsetvalues_ pmatsetvalues
 49: #else
 50: #define matsetvalues_ pmatsetvalues_
 51: #endif
 52: #else
 53: #ifdef PETSC_HAVE_FORTRAN_CAPS
 54: #define matsetvalues_ MATSETVALUES
 55: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 56: #define matsetvalues_ matsetvalues
 57: #endif
 58: #endif

 60: #ifdef MPI_BUILD_PROFILING
 61: #ifdef PETSC_HAVE_FORTRAN_CAPS
 62: #define matsetstencil_ PMATSETSTENCIL
 63: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 64: #define matsetstencil_ pmatsetstencil
 65: #else
 66: #define matsetstencil_ pmatsetstencil_
 67: #endif
 68: #else
 69: #ifdef PETSC_HAVE_FORTRAN_CAPS
 70: #define matsetstencil_ MATSETSTENCIL
 71: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 72: #define matsetstencil_ matsetstencil
 73: #endif
 74: #endif

 76: #ifdef MPI_BUILD_PROFILING
 77: #ifdef PETSC_HAVE_FORTRAN_CAPS
 78: #define matsetvaluesblocked_ PMATSETVALUESBLOCKED
 79: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 80: #define matsetvaluesblocked_ pmatsetvaluesblocked
 81: #else
 82: #define matsetvaluesblocked_ pmatsetvaluesblocked_
 83: #endif
 84: #else
 85: #ifdef PETSC_HAVE_FORTRAN_CAPS
 86: #define matsetvaluesblocked_ MATSETVALUESBLOCKED
 87: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 88: #define matsetvaluesblocked_ matsetvaluesblocked
 89: #endif
 90: #endif

 92: #ifdef MPI_BUILD_PROFILING
 93: #ifdef PETSC_HAVE_FORTRAN_CAPS
 94: #define matgetvalues_ PMATGETVALUES
 95: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
 96: #define matgetvalues_ pmatgetvalues
 97: #else
 98: #define matgetvalues_ pmatgetvalues_
 99: #endif
100: #else
101: #ifdef PETSC_HAVE_FORTRAN_CAPS
102: #define matgetvalues_ MATGETVALUES
103: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
104: #define matgetvalues_ matgetvalues
105: #endif
106: #endif

108: #ifdef MPI_BUILD_PROFILING
109: #ifdef PETSC_HAVE_FORTRAN_CAPS
110: #define matsetlocaltoglobalmapping_ PMATSETLOCALTOGLOBALMAPPING
111: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
112: #define matsetlocaltoglobalmapping_ pmatsetlocaltoglobalmapping
113: #else
114: #define matsetlocaltoglobalmapping_ pmatsetlocaltoglobalmapping_
115: #endif
116: #else
117: #ifdef PETSC_HAVE_FORTRAN_CAPS
118: #define matsetlocaltoglobalmapping_ MATSETLOCALTOGLOBALMAPPING
119: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
120: #define matsetlocaltoglobalmapping_ matsetlocaltoglobalmapping
121: #endif
122: #endif

124: #ifdef MPI_BUILD_PROFILING
125: #ifdef PETSC_HAVE_FORTRAN_CAPS
126: #define matsetlocaltoglobalmappingblock_ PMATSETLOCALTOGLOBALMAPPINGBLOCK
127: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
128: #define matsetlocaltoglobalmappingblock_ pmatsetlocaltoglobalmappingblock
129: #else
130: #define matsetlocaltoglobalmappingblock_ pmatsetlocaltoglobalmappingblock_
131: #endif
132: #else
133: #ifdef PETSC_HAVE_FORTRAN_CAPS
134: #define matsetlocaltoglobalmappingblock_ MATSETLOCALTOGLOBALMAPPINGBLOCK
135: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
136: #define matsetlocaltoglobalmappingblock_ matsetlocaltoglobalmappingblock
137: #endif
138: #endif

140: #ifdef MPI_BUILD_PROFILING
141: #ifdef PETSC_HAVE_FORTRAN_CAPS
142: #define matsetvalueslocal_ PMATSETVALUESLOCAL
143: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
144: #define matsetvalueslocal_ pmatsetvalueslocal
145: #else
146: #define matsetvalueslocal_ pmatsetvalueslocal_
147: #endif
148: #else
149: #ifdef PETSC_HAVE_FORTRAN_CAPS
150: #define matsetvalueslocal_ MATSETVALUESLOCAL
151: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
152: #define matsetvalueslocal_ matsetvalueslocal
153: #endif
154: #endif

156: #ifdef MPI_BUILD_PROFILING
157: #ifdef PETSC_HAVE_FORTRAN_CAPS
158: #define matsetvaluesblockedlocal_ PMATSETVALUESBLOCKEDLOCAL
159: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
160: #define matsetvaluesblockedlocal_ pmatsetvaluesblockedlocal
161: #else
162: #define matsetvaluesblockedlocal_ pmatsetvaluesblockedlocal_
163: #endif
164: #else
165: #ifdef PETSC_HAVE_FORTRAN_CAPS
166: #define matsetvaluesblockedlocal_ MATSETVALUESBLOCKEDLOCAL
167: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
168: #define matsetvaluesblockedlocal_ matsetvaluesblockedlocal
169: #endif
170: #endif

172: #ifdef MPI_BUILD_PROFILING
173: #ifdef PETSC_HAVE_FORTRAN_CAPS
174: #define matmult_ PMATMULT
175: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
176: #define matmult_ pmatmult
177: #else
178: #define matmult_ pmatmult_
179: #endif
180: #else
181: #ifdef PETSC_HAVE_FORTRAN_CAPS
182: #define matmult_ MATMULT
183: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
184: #define matmult_ matmult
185: #endif
186: #endif

188: #ifdef MPI_BUILD_PROFILING
189: #ifdef PETSC_HAVE_FORTRAN_CAPS
190: #define matmulttranspose_ PMATMULTTRANSPOSE
191: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
192: #define matmulttranspose_ pmatmulttranspose
193: #else
194: #define matmulttranspose_ pmatmulttranspose_
195: #endif
196: #else
197: #ifdef PETSC_HAVE_FORTRAN_CAPS
198: #define matmulttranspose_ MATMULTTRANSPOSE
199: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
200: #define matmulttranspose_ matmulttranspose
201: #endif
202: #endif

204: #ifdef MPI_BUILD_PROFILING
205: #ifdef PETSC_HAVE_FORTRAN_CAPS
206: #define matmultadd_ PMATMULTADD
207: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
208: #define matmultadd_ pmatmultadd
209: #else
210: #define matmultadd_ pmatmultadd_
211: #endif
212: #else
213: #ifdef PETSC_HAVE_FORTRAN_CAPS
214: #define matmultadd_ MATMULTADD
215: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
216: #define matmultadd_ matmultadd
217: #endif
218: #endif

220: #ifdef MPI_BUILD_PROFILING
221: #ifdef PETSC_HAVE_FORTRAN_CAPS
222: #define matmulttransposeadd_ PMATMULTTRANSPOSEADD
223: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
224: #define matmulttransposeadd_ pmatmulttransposeadd
225: #else
226: #define matmulttransposeadd_ pmatmulttransposeadd_
227: #endif
228: #else
229: #ifdef PETSC_HAVE_FORTRAN_CAPS
230: #define matmulttransposeadd_ MATMULTTRANSPOSEADD
231: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
232: #define matmulttransposeadd_ matmulttransposeadd
233: #endif
234: #endif

236: #ifdef MPI_BUILD_PROFILING
237: #ifdef PETSC_HAVE_FORTRAN_CAPS
238: #define matlufactor_ PMATLUFACTOR
239: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
240: #define matlufactor_ pmatlufactor
241: #else
242: #define matlufactor_ pmatlufactor_
243: #endif
244: #else
245: #ifdef PETSC_HAVE_FORTRAN_CAPS
246: #define matlufactor_ MATLUFACTOR
247: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
248: #define matlufactor_ matlufactor
249: #endif
250: #endif

252: #ifdef MPI_BUILD_PROFILING
253: #ifdef PETSC_HAVE_FORTRAN_CAPS
254: #define matilufactor_ PMATILUFACTOR
255: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
256: #define matilufactor_ pmatilufactor
257: #else
258: #define matilufactor_ pmatilufactor_
259: #endif
260: #else
261: #ifdef PETSC_HAVE_FORTRAN_CAPS
262: #define matilufactor_ MATILUFACTOR
263: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
264: #define matilufactor_ matilufactor
265: #endif
266: #endif

268: #ifdef MPI_BUILD_PROFILING
269: #ifdef PETSC_HAVE_FORTRAN_CAPS
270: #define matlufactorsymbolic_ PMATLUFACTORSYMBOLIC
271: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
272: #define matlufactorsymbolic_ pmatlufactorsymbolic
273: #else
274: #define matlufactorsymbolic_ pmatlufactorsymbolic_
275: #endif
276: #else
277: #ifdef PETSC_HAVE_FORTRAN_CAPS
278: #define matlufactorsymbolic_ MATLUFACTORSYMBOLIC
279: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
280: #define matlufactorsymbolic_ matlufactorsymbolic
281: #endif
282: #endif

284: #ifdef MPI_BUILD_PROFILING
285: #ifdef PETSC_HAVE_FORTRAN_CAPS
286: #define matlufactornumeric_ PMATLUFACTORNUMERIC
287: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
288: #define matlufactornumeric_ pmatlufactornumeric
289: #else
290: #define matlufactornumeric_ pmatlufactornumeric_
291: #endif
292: #else
293: #ifdef PETSC_HAVE_FORTRAN_CAPS
294: #define matlufactornumeric_ MATLUFACTORNUMERIC
295: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
296: #define matlufactornumeric_ matlufactornumeric
297: #endif
298: #endif

300: #ifdef MPI_BUILD_PROFILING
301: #ifdef PETSC_HAVE_FORTRAN_CAPS
302: #define matcholeskyfactor_ PMATCHOLESKYFACTOR
303: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
304: #define matcholeskyfactor_ pmatcholeskyfactor
305: #else
306: #define matcholeskyfactor_ pmatcholeskyfactor_
307: #endif
308: #else
309: #ifdef PETSC_HAVE_FORTRAN_CAPS
310: #define matcholeskyfactor_ MATCHOLESKYFACTOR
311: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
312: #define matcholeskyfactor_ matcholeskyfactor
313: #endif
314: #endif

316: #ifdef MPI_BUILD_PROFILING
317: #ifdef PETSC_HAVE_FORTRAN_CAPS
318: #define matcholeskyfactorsymbolic_ PMATCHOLESKYFACTORSYMBOLIC
319: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
320: #define matcholeskyfactorsymbolic_ pmatcholeskyfactorsymbolic
321: #else
322: #define matcholeskyfactorsymbolic_ pmatcholeskyfactorsymbolic_
323: #endif
324: #else
325: #ifdef PETSC_HAVE_FORTRAN_CAPS
326: #define matcholeskyfactorsymbolic_ MATCHOLESKYFACTORSYMBOLIC
327: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
328: #define matcholeskyfactorsymbolic_ matcholeskyfactorsymbolic
329: #endif
330: #endif

332: #ifdef MPI_BUILD_PROFILING
333: #ifdef PETSC_HAVE_FORTRAN_CAPS
334: #define matcholeskyfactornumeric_ PMATCHOLESKYFACTORNUMERIC
335: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
336: #define matcholeskyfactornumeric_ pmatcholeskyfactornumeric
337: #else
338: #define matcholeskyfactornumeric_ pmatcholeskyfactornumeric_
339: #endif
340: #else
341: #ifdef PETSC_HAVE_FORTRAN_CAPS
342: #define matcholeskyfactornumeric_ MATCHOLESKYFACTORNUMERIC
343: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
344: #define matcholeskyfactornumeric_ matcholeskyfactornumeric
345: #endif
346: #endif

348: #ifdef MPI_BUILD_PROFILING
349: #ifdef PETSC_HAVE_FORTRAN_CAPS
350: #define matsolve_ PMATSOLVE
351: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
352: #define matsolve_ pmatsolve
353: #else
354: #define matsolve_ pmatsolve_
355: #endif
356: #else
357: #ifdef PETSC_HAVE_FORTRAN_CAPS
358: #define matsolve_ MATSOLVE
359: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
360: #define matsolve_ matsolve
361: #endif
362: #endif

364: #ifdef MPI_BUILD_PROFILING
365: #ifdef PETSC_HAVE_FORTRAN_CAPS
366: #define matsolveadd_ PMATSOLVEADD
367: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
368: #define matsolveadd_ pmatsolveadd
369: #else
370: #define matsolveadd_ pmatsolveadd_
371: #endif
372: #else
373: #ifdef PETSC_HAVE_FORTRAN_CAPS
374: #define matsolveadd_ MATSOLVEADD
375: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
376: #define matsolveadd_ matsolveadd
377: #endif
378: #endif

380: #ifdef MPI_BUILD_PROFILING
381: #ifdef PETSC_HAVE_FORTRAN_CAPS
382: #define matsolvetranspose_ PMATSOLVETRANSPOSE
383: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
384: #define matsolvetranspose_ pmatsolvetranspose
385: #else
386: #define matsolvetranspose_ pmatsolvetranspose_
387: #endif
388: #else
389: #ifdef PETSC_HAVE_FORTRAN_CAPS
390: #define matsolvetranspose_ MATSOLVETRANSPOSE
391: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
392: #define matsolvetranspose_ matsolvetranspose
393: #endif
394: #endif

396: #ifdef MPI_BUILD_PROFILING
397: #ifdef PETSC_HAVE_FORTRAN_CAPS
398: #define matsolvetransposeadd_ PMATSOLVETRANSPOSEADD
399: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
400: #define matsolvetransposeadd_ pmatsolvetransposeadd
401: #else
402: #define matsolvetransposeadd_ pmatsolvetransposeadd_
403: #endif
404: #else
405: #ifdef PETSC_HAVE_FORTRAN_CAPS
406: #define matsolvetransposeadd_ MATSOLVETRANSPOSEADD
407: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
408: #define matsolvetransposeadd_ matsolvetransposeadd
409: #endif
410: #endif

412: #ifdef MPI_BUILD_PROFILING
413: #ifdef PETSC_HAVE_FORTRAN_CAPS
414: #define matrelax_ PMATRELAX
415: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
416: #define matrelax_ pmatrelax
417: #else
418: #define matrelax_ pmatrelax_
419: #endif
420: #else
421: #ifdef PETSC_HAVE_FORTRAN_CAPS
422: #define matrelax_ MATRELAX
423: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
424: #define matrelax_ matrelax
425: #endif
426: #endif

428: #ifdef MPI_BUILD_PROFILING
429: #ifdef PETSC_HAVE_FORTRAN_CAPS
430: #define matgetdiagonal_ PMATGETDIAGONAL
431: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
432: #define matgetdiagonal_ pmatgetdiagonal
433: #else
434: #define matgetdiagonal_ pmatgetdiagonal_
435: #endif
436: #else
437: #ifdef PETSC_HAVE_FORTRAN_CAPS
438: #define matgetdiagonal_ MATGETDIAGONAL
439: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
440: #define matgetdiagonal_ matgetdiagonal
441: #endif
442: #endif

444: #ifdef MPI_BUILD_PROFILING
445: #ifdef PETSC_HAVE_FORTRAN_CAPS
446: #define matgetrowmax_ PMATGETROWMAX
447: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
448: #define matgetrowmax_ pmatgetrowmax
449: #else
450: #define matgetrowmax_ pmatgetrowmax_
451: #endif
452: #else
453: #ifdef PETSC_HAVE_FORTRAN_CAPS
454: #define matgetrowmax_ MATGETROWMAX
455: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
456: #define matgetrowmax_ matgetrowmax
457: #endif
458: #endif

460: #ifdef MPI_BUILD_PROFILING
461: #ifdef PETSC_HAVE_FORTRAN_CAPS
462: #define matequal_ PMATEQUAL
463: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
464: #define matequal_ pmatequal
465: #else
466: #define matequal_ pmatequal_
467: #endif
468: #else
469: #ifdef PETSC_HAVE_FORTRAN_CAPS
470: #define matequal_ MATEQUAL
471: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
472: #define matequal_ matequal
473: #endif
474: #endif

476: #ifdef MPI_BUILD_PROFILING
477: #ifdef PETSC_HAVE_FORTRAN_CAPS
478: #define matdiagonalscale_ PMATDIAGONALSCALE
479: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
480: #define matdiagonalscale_ pmatdiagonalscale
481: #else
482: #define matdiagonalscale_ pmatdiagonalscale_
483: #endif
484: #else
485: #ifdef PETSC_HAVE_FORTRAN_CAPS
486: #define matdiagonalscale_ MATDIAGONALSCALE
487: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
488: #define matdiagonalscale_ matdiagonalscale
489: #endif
490: #endif

492: #ifdef MPI_BUILD_PROFILING
493: #ifdef PETSC_HAVE_FORTRAN_CAPS
494: #define matscale_ PMATSCALE
495: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
496: #define matscale_ pmatscale
497: #else
498: #define matscale_ pmatscale_
499: #endif
500: #else
501: #ifdef PETSC_HAVE_FORTRAN_CAPS
502: #define matscale_ MATSCALE
503: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
504: #define matscale_ matscale
505: #endif
506: #endif

508: #ifdef MPI_BUILD_PROFILING
509: #ifdef PETSC_HAVE_FORTRAN_CAPS
510: #define matnorm_ PMATNORM
511: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
512: #define matnorm_ pmatnorm
513: #else
514: #define matnorm_ pmatnorm_
515: #endif
516: #else
517: #ifdef PETSC_HAVE_FORTRAN_CAPS
518: #define matnorm_ MATNORM
519: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
520: #define matnorm_ matnorm
521: #endif
522: #endif

524: #ifdef MPI_BUILD_PROFILING
525: #ifdef PETSC_HAVE_FORTRAN_CAPS
526: #define matassemblybegin_ PMATASSEMBLYBEGIN
527: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
528: #define matassemblybegin_ pmatassemblybegin
529: #else
530: #define matassemblybegin_ pmatassemblybegin_
531: #endif
532: #else
533: #ifdef PETSC_HAVE_FORTRAN_CAPS
534: #define matassemblybegin_ MATASSEMBLYBEGIN
535: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
536: #define matassemblybegin_ matassemblybegin
537: #endif
538: #endif

540: #ifdef MPI_BUILD_PROFILING
541: #ifdef PETSC_HAVE_FORTRAN_CAPS
542: #define matassembled_ PMATASSEMBLED
543: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
544: #define matassembled_ pmatassembled
545: #else
546: #define matassembled_ pmatassembled_
547: #endif
548: #else
549: #ifdef PETSC_HAVE_FORTRAN_CAPS
550: #define matassembled_ MATASSEMBLED
551: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
552: #define matassembled_ matassembled
553: #endif
554: #endif

556: #ifdef MPI_BUILD_PROFILING
557: #ifdef PETSC_HAVE_FORTRAN_CAPS
558: #define matassemblyend_ PMATASSEMBLYEND
559: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
560: #define matassemblyend_ pmatassemblyend
561: #else
562: #define matassemblyend_ pmatassemblyend_
563: #endif
564: #else
565: #ifdef PETSC_HAVE_FORTRAN_CAPS
566: #define matassemblyend_ MATASSEMBLYEND
567: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
568: #define matassemblyend_ matassemblyend
569: #endif
570: #endif

572: #ifdef MPI_BUILD_PROFILING
573: #ifdef PETSC_HAVE_FORTRAN_CAPS
574: #define matcompress_ PMATCOMPRESS
575: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
576: #define matcompress_ pmatcompress
577: #else
578: #define matcompress_ pmatcompress_
579: #endif
580: #else
581: #ifdef PETSC_HAVE_FORTRAN_CAPS
582: #define matcompress_ MATCOMPRESS
583: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
584: #define matcompress_ matcompress
585: #endif
586: #endif

588: #ifdef MPI_BUILD_PROFILING
589: #ifdef PETSC_HAVE_FORTRAN_CAPS
590: #define matsetoption_ PMATSETOPTION
591: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
592: #define matsetoption_ pmatsetoption
593: #else
594: #define matsetoption_ pmatsetoption_
595: #endif
596: #else
597: #ifdef PETSC_HAVE_FORTRAN_CAPS
598: #define matsetoption_ MATSETOPTION
599: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
600: #define matsetoption_ matsetoption
601: #endif
602: #endif

604: #ifdef MPI_BUILD_PROFILING
605: #ifdef PETSC_HAVE_FORTRAN_CAPS
606: #define matzeroentries_ PMATZEROENTRIES
607: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
608: #define matzeroentries_ pmatzeroentries
609: #else
610: #define matzeroentries_ pmatzeroentries_
611: #endif
612: #else
613: #ifdef PETSC_HAVE_FORTRAN_CAPS
614: #define matzeroentries_ MATZEROENTRIES
615: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
616: #define matzeroentries_ matzeroentries
617: #endif
618: #endif

620: #ifdef MPI_BUILD_PROFILING
621: #ifdef PETSC_HAVE_FORTRAN_CAPS
622: #define matgetsize_ PMATGETSIZE
623: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
624: #define matgetsize_ pmatgetsize
625: #else
626: #define matgetsize_ pmatgetsize_
627: #endif
628: #else
629: #ifdef PETSC_HAVE_FORTRAN_CAPS
630: #define matgetsize_ MATGETSIZE
631: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
632: #define matgetsize_ matgetsize
633: #endif
634: #endif

636: #ifdef MPI_BUILD_PROFILING
637: #ifdef PETSC_HAVE_FORTRAN_CAPS
638: #define matgetlocalsize_ PMATGETLOCALSIZE
639: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
640: #define matgetlocalsize_ pmatgetlocalsize
641: #else
642: #define matgetlocalsize_ pmatgetlocalsize_
643: #endif
644: #else
645: #ifdef PETSC_HAVE_FORTRAN_CAPS
646: #define matgetlocalsize_ MATGETLOCALSIZE
647: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
648: #define matgetlocalsize_ matgetlocalsize
649: #endif
650: #endif

652: #ifdef MPI_BUILD_PROFILING
653: #ifdef PETSC_HAVE_FORTRAN_CAPS
654: #define matgetownershiprange_ PMATGETOWNERSHIPRANGE
655: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
656: #define matgetownershiprange_ pmatgetownershiprange
657: #else
658: #define matgetownershiprange_ pmatgetownershiprange_
659: #endif
660: #else
661: #ifdef PETSC_HAVE_FORTRAN_CAPS
662: #define matgetownershiprange_ MATGETOWNERSHIPRANGE
663: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
664: #define matgetownershiprange_ matgetownershiprange
665: #endif
666: #endif

668: #ifdef MPI_BUILD_PROFILING
669: #ifdef PETSC_HAVE_FORTRAN_CAPS
670: #define matilufactorsymbolic_ PMATILUFACTORSYMBOLIC
671: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
672: #define matilufactorsymbolic_ pmatilufactorsymbolic
673: #else
674: #define matilufactorsymbolic_ pmatilufactorsymbolic_
675: #endif
676: #else
677: #ifdef PETSC_HAVE_FORTRAN_CAPS
678: #define matilufactorsymbolic_ MATILUFACTORSYMBOLIC
679: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
680: #define matilufactorsymbolic_ matilufactorsymbolic
681: #endif
682: #endif

684: #ifdef MPI_BUILD_PROFILING
685: #ifdef PETSC_HAVE_FORTRAN_CAPS
686: #define maticcfactorsymbolic_ PMATICCFACTORSYMBOLIC
687: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
688: #define maticcfactorsymbolic_ pmaticcfactorsymbolic
689: #else
690: #define maticcfactorsymbolic_ pmaticcfactorsymbolic_
691: #endif
692: #else
693: #ifdef PETSC_HAVE_FORTRAN_CAPS
694: #define maticcfactorsymbolic_ MATICCFACTORSYMBOLIC
695: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
696: #define maticcfactorsymbolic_ maticcfactorsymbolic
697: #endif
698: #endif

700: #ifdef MPI_BUILD_PROFILING
701: #ifdef PETSC_HAVE_FORTRAN_CAPS
702: #define matincreaseoverlap_ PMATINCREASEOVERLAP
703: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
704: #define matincreaseoverlap_ pmatincreaseoverlap
705: #else
706: #define matincreaseoverlap_ pmatincreaseoverlap_
707: #endif
708: #else
709: #ifdef PETSC_HAVE_FORTRAN_CAPS
710: #define matincreaseoverlap_ MATINCREASEOVERLAP
711: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
712: #define matincreaseoverlap_ matincreaseoverlap
713: #endif
714: #endif

716: #ifdef MPI_BUILD_PROFILING
717: #ifdef PETSC_HAVE_FORTRAN_CAPS
718: #define matprinthelp_ PMATPRINTHELP
719: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
720: #define matprinthelp_ pmatprinthelp
721: #else
722: #define matprinthelp_ pmatprinthelp_
723: #endif
724: #else
725: #ifdef PETSC_HAVE_FORTRAN_CAPS
726: #define matprinthelp_ MATPRINTHELP
727: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
728: #define matprinthelp_ matprinthelp
729: #endif
730: #endif

732: #ifdef MPI_BUILD_PROFILING
733: #ifdef PETSC_HAVE_FORTRAN_CAPS
734: #define matgetblocksize_ PMATGETBLOCKSIZE
735: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
736: #define matgetblocksize_ pmatgetblocksize
737: #else
738: #define matgetblocksize_ pmatgetblocksize_
739: #endif
740: #else
741: #ifdef PETSC_HAVE_FORTRAN_CAPS
742: #define matgetblocksize_ MATGETBLOCKSIZE
743: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
744: #define matgetblocksize_ matgetblocksize
745: #endif
746: #endif

748: #ifdef MPI_BUILD_PROFILING
749: #ifdef PETSC_HAVE_FORTRAN_CAPS
750: #define matsetunfactored_ PMATSETUNFACTORED
751: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
752: #define matsetunfactored_ pmatsetunfactored
753: #else
754: #define matsetunfactored_ pmatsetunfactored_
755: #endif
756: #else
757: #ifdef PETSC_HAVE_FORTRAN_CAPS
758: #define matsetunfactored_ MATSETUNFACTORED
759: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
760: #define matsetunfactored_ matsetunfactored
761: #endif
762: #endif

764: #ifdef MPI_BUILD_PROFILING
765: #ifdef PETSC_HAVE_FORTRAN_CAPS
766: #define matgetsubmatrix_ PMATGETSUBMATRIX
767: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
768: #define matgetsubmatrix_ pmatgetsubmatrix
769: #else
770: #define matgetsubmatrix_ pmatgetsubmatrix_
771: #endif
772: #else
773: #ifdef PETSC_HAVE_FORTRAN_CAPS
774: #define matgetsubmatrix_ MATGETSUBMATRIX
775: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
776: #define matgetsubmatrix_ matgetsubmatrix
777: #endif
778: #endif

780: #ifdef MPI_BUILD_PROFILING
781: #ifdef PETSC_HAVE_FORTRAN_CAPS
782: #define matsetstashinitialsize_ PMATSETSTASHINITIALSIZE
783: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
784: #define matsetstashinitialsize_ pmatsetstashinitialsize
785: #else
786: #define matsetstashinitialsize_ pmatsetstashinitialsize_
787: #endif
788: #else
789: #ifdef PETSC_HAVE_FORTRAN_CAPS
790: #define matsetstashinitialsize_ MATSETSTASHINITIALSIZE
791: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
792: #define matsetstashinitialsize_ matsetstashinitialsize
793: #endif
794: #endif

796: #ifdef MPI_BUILD_PROFILING
797: #ifdef PETSC_HAVE_FORTRAN_CAPS
798: #define matinterpolateadd_ PMATINTERPOLATEADD
799: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
800: #define matinterpolateadd_ pmatinterpolateadd
801: #else
802: #define matinterpolateadd_ pmatinterpolateadd_
803: #endif
804: #else
805: #ifdef PETSC_HAVE_FORTRAN_CAPS
806: #define matinterpolateadd_ MATINTERPOLATEADD
807: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
808: #define matinterpolateadd_ matinterpolateadd
809: #endif
810: #endif

812: #ifdef MPI_BUILD_PROFILING
813: #ifdef PETSC_HAVE_FORTRAN_CAPS
814: #define matinterpolate_ PMATINTERPOLATE
815: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
816: #define matinterpolate_ pmatinterpolate
817: #else
818: #define matinterpolate_ pmatinterpolate_
819: #endif
820: #else
821: #ifdef PETSC_HAVE_FORTRAN_CAPS
822: #define matinterpolate_ MATINTERPOLATE
823: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
824: #define matinterpolate_ matinterpolate
825: #endif
826: #endif

828: #ifdef MPI_BUILD_PROFILING
829: #ifdef PETSC_HAVE_FORTRAN_CAPS
830: #define matrestrict_ PMATRESTRICT
831: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
832: #define matrestrict_ pmatrestrict
833: #else
834: #define matrestrict_ pmatrestrict_
835: #endif
836: #else
837: #ifdef PETSC_HAVE_FORTRAN_CAPS
838: #define matrestrict_ MATRESTRICT
839: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
840: #define matrestrict_ matrestrict
841: #endif
842: #endif

844: #ifdef MPI_BUILD_PROFILING
845: #ifdef PETSC_HAVE_FORTRAN_CAPS
846: #define maticcfactor_ PMATICCFACTOR
847: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
848: #define maticcfactor_ pmaticcfactor
849: #else
850: #define maticcfactor_ pmaticcfactor_
851: #endif
852: #else
853: #ifdef PETSC_HAVE_FORTRAN_CAPS
854: #define maticcfactor_ MATICCFACTOR
855: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) && !defined(FORTRANDOUBLEUNDERSCORE)
856: #define maticcfactor_ maticcfactor
857: #endif
858: #endif



862: /* Definitions of Fortran Wrapper routines */
863: #if defined(__cplusplus)
864: extern "C" {
865: #endif
866: void PETSC_STDCALL matvalid_(Mat m,PetscTruth *flg, int *__ierr ){
867: *__MatValid(
868:         (Mat)PetscToPointer( (m) ),flg);
869: }
870: void PETSC_STDCALL matsetvalues_(Mat mat,int *m,int *idxm,int *n,int *idxn,Scalar *v,InsertMode *addv, int *__ierr ){
871: *__MatSetValues(
872:         (Mat)PetscToPointer( (mat) ),*m,idxm,*n,idxn,v,*addv);
873: }
874: void PETSC_STDCALL matsetstencil_(Mat mat,int *dim,int *dims,int *starts,int *dof, int *__ierr ){
875: *__MatSetStencil(
876:         (Mat)PetscToPointer( (mat) ),*dim,dims,starts,*dof);
877: }
878: void PETSC_STDCALL matsetvaluesblocked_(Mat mat,int *m,int *idxm,int *n,int *idxn,Scalar *v,InsertMode *addv, int *__ierr ){
879: *__MatSetValuesBlocked(
880:         (Mat)PetscToPointer( (mat) ),*m,idxm,*n,idxn,v,*addv);
881: }
882: void PETSC_STDCALL matgetvalues_(Mat mat,int *m,int *idxm,int *n,int *idxn,Scalar *v, int *__ierr ){
883: *__MatGetValues(
884:         (Mat)PetscToPointer( (mat) ),*m,idxm,*n,idxn,v);
885: }
886: void PETSC_STDCALL matsetlocaltoglobalmapping_(Mat x,ISLocalToGlobalMapping *mapping, int *__ierr ){
887: *__MatSetLocalToGlobalMapping(
888:         (Mat)PetscToPointer( (x) ),*mapping);
889: }
890: void PETSC_STDCALL matsetlocaltoglobalmappingblock_(Mat x,ISLocalToGlobalMapping *mapping, int *__ierr ){
891: *__MatSetLocalToGlobalMappingBlock(
892:         (Mat)PetscToPointer( (x) ),*mapping);
893: }
894: void PETSC_STDCALL matsetvalueslocal_(Mat mat,int *nrow,int *irow,int *ncol,int *icol,Scalar *y,InsertMode *addv, int *__ierr ){
895: *__MatSetValuesLocal(
896:         (Mat)PetscToPointer( (mat) ),*nrow,irow,*ncol,icol,y,*addv);
897: }
898: void PETSC_STDCALL matsetvaluesblockedlocal_(Mat mat,int *nrow,int *irow,int *ncol,int *icol,Scalar *y,InsertMode *addv, int *__ierr ){
899: *__MatSetValuesBlockedLocal(
900:         (Mat)PetscToPointer( (mat) ),*nrow,irow,*ncol,icol,y,*addv);
901: }
902: void PETSC_STDCALL matmult_(Mat mat,Vec x,Vec y, int *__ierr ){
903: *__MatMult(
904:         (Mat)PetscToPointer( (mat) ),
905:         (Vec)PetscToPointer( (x) ),
906:         (Vec)PetscToPointer( (y) ));
907: }
908: void PETSC_STDCALL matmulttranspose_(Mat mat,Vec x,Vec y, int *__ierr ){
909: *__MatMultTranspose(
910:         (Mat)PetscToPointer( (mat) ),
911:         (Vec)PetscToPointer( (x) ),
912:         (Vec)PetscToPointer( (y) ));
913: }
914: void PETSC_STDCALL matmultadd_(Mat mat,Vec v1,Vec v2,Vec v3, int *__ierr ){
915: *__MatMultAdd(
916:         (Mat)PetscToPointer( (mat) ),
917:         (Vec)PetscToPointer( (v1) ),
918:         (Vec)PetscToPointer( (v2) ),
919:         (Vec)PetscToPointer( (v3) ));
920: }
921: void PETSC_STDCALL matmulttransposeadd_(Mat mat,Vec v1,Vec v2,Vec v3, int *__ierr ){
922: *__MatMultTransposeAdd(
923:         (Mat)PetscToPointer( (mat) ),
924:         (Vec)PetscToPointer( (v1) ),
925:         (Vec)PetscToPointer( (v2) ),
926:         (Vec)PetscToPointer( (v3) ));
927: }
928: void PETSC_STDCALL matlufactor_(Mat mat,IS row,IS col,MatLUInfo *info, int *__ierr ){
929: *__MatLUFactor(
930:         (Mat)PetscToPointer( (mat) ),
931:         (IS)PetscToPointer( (row) ),
932:         (IS)PetscToPointer( (col) ),
933:         (MatLUInfo* )PetscToPointer( (info) ));
934: }
935: void PETSC_STDCALL matilufactor_(Mat mat,IS row,IS col,MatILUInfo *info, int *__ierr ){
936: *__MatILUFactor(
937:         (Mat)PetscToPointer( (mat) ),
938:         (IS)PetscToPointer( (row) ),
939:         (IS)PetscToPointer( (col) ),
940:         (MatILUInfo* )PetscToPointer( (info) ));
941: }
942: void PETSC_STDCALL matlufactorsymbolic_(Mat mat,IS row,IS col,MatLUInfo *info,Mat *fact, int *__ierr ){
943: *__MatLUFactorSymbolic(
944:         (Mat)PetscToPointer( (mat) ),
945:         (IS)PetscToPointer( (row) ),
946:         (IS)PetscToPointer( (col) ),
947:         (MatLUInfo* )PetscToPointer( (info) ),fact);
948: }
949: void PETSC_STDCALL matlufactornumeric_(Mat mat,Mat *fact, int *__ierr ){
950: *__MatLUFactorNumeric(
951:         (Mat)PetscToPointer( (mat) ),fact);
952: }
953: void PETSC_STDCALL matcholeskyfactor_(Mat mat,IS perm,PetscReal *f, int *__ierr ){
954: *__MatCholeskyFactor(
955:         (Mat)PetscToPointer( (mat) ),
956:         (IS)PetscToPointer( (perm) ),*f);
957: }
958: void PETSC_STDCALL matcholeskyfactorsymbolic_(Mat mat,IS perm,PetscReal *f,Mat *fact, int *__ierr ){
959: *__MatCholeskyFactorSymbolic(
960:         (Mat)PetscToPointer( (mat) ),
961:         (IS)PetscToPointer( (perm) ),*f,fact);
962: }
963: void PETSC_STDCALL matcholeskyfactornumeric_(Mat mat,Mat *fact, int *__ierr ){
964: *__MatCholeskyFactorNumeric(
965:         (Mat)PetscToPointer( (mat) ),fact);
966: }
967: void PETSC_STDCALL matsolve_(Mat mat,Vec b,Vec x, int *__ierr ){
968: *__MatSolve(
969:         (Mat)PetscToPointer( (mat) ),
970:         (Vec)PetscToPointer( (b) ),
971:         (Vec)PetscToPointer( (x) ));
972: }
973: void PETSC_STDCALL matsolveadd_(Mat mat,Vec b,Vec y,Vec x, int *__ierr ){
974: *__MatSolveAdd(
975:         (Mat)PetscToPointer( (mat) ),
976:         (Vec)PetscToPointer( (b) ),
977:         (Vec)PetscToPointer( (y) ),
978:         (Vec)PetscToPointer( (x) ));
979: }
980: void PETSC_STDCALL matsolvetranspose_(Mat mat,Vec b,Vec x, int *__ierr ){
981: *__MatSolveTranspose(
982:         (Mat)PetscToPointer( (mat) ),
983:         (Vec)PetscToPointer( (b) ),
984:         (Vec)PetscToPointer( (x) ));
985: }
986: void PETSC_STDCALL matsolvetransposeadd_(Mat mat,Vec b,Vec y,Vec x, int *__ierr ){
987: *__MatSolveTransposeAdd(
988:         (Mat)PetscToPointer( (mat) ),
989:         (Vec)PetscToPointer( (b) ),
990:         (Vec)PetscToPointer( (y) ),
991:         (Vec)PetscToPointer( (x) ));
992: }
993: void PETSC_STDCALL matrelax_(Mat mat,Vec b,PetscReal *omega,MatSORType *flag,PetscReal *shift,int *its,Vec x, int *__ierr ){
994: *__MatRelax(
995:         (Mat)PetscToPointer( (mat) ),
996:         (Vec)PetscToPointer( (b) ),*omega,*flag,*shift,*its,
997:         (Vec)PetscToPointer( (x) ));
998: }
999: void PETSC_STDCALL matgetdiagonal_(Mat mat,Vec v, int *__ierr ){
1000: *__MatGetDiagonal(
1001:         (Mat)PetscToPointer( (mat) ),
1002:         (Vec)PetscToPointer( (v) ));
1003: }
1004: void PETSC_STDCALL matgetrowmax_(Mat mat,Vec v, int *__ierr ){
1005: *__MatGetRowMax(
1006:         (Mat)PetscToPointer( (mat) ),
1007:         (Vec)PetscToPointer( (v) ));
1008: }
1009: void PETSC_STDCALL matequal_(Mat A,Mat B,PetscTruth *flg, int *__ierr ){
1010: *__MatEqual(
1011:         (Mat)PetscToPointer( (A) ),
1012:         (Mat)PetscToPointer( (B) ),flg);
1013: }
1014: void PETSC_STDCALL matdiagonalscale_(Mat mat,Vec l,Vec r, int *__ierr ){
1015: *__MatDiagonalScale(
1016:         (Mat)PetscToPointer( (mat) ),
1017:         (Vec)PetscToPointer( (l) ),
1018:         (Vec)PetscToPointer( (r) ));
1019: }
1020: void PETSC_STDCALL matscale_(Scalar *a,Mat mat, int *__ierr ){
1021: *__MatScale(a,
1022:         (Mat)PetscToPointer( (mat) ));
1023: }
1024: void PETSC_STDCALL matnorm_(Mat mat,NormType *type,PetscReal *norm, int *__ierr ){
1025: *__MatNorm(
1026:         (Mat)PetscToPointer( (mat) ),*type,norm);
1027: }
1028: void PETSC_STDCALL matassemblybegin_(Mat mat,MatAssemblyType *type, int *__ierr ){
1029: *__MatAssemblyBegin(
1030:         (Mat)PetscToPointer( (mat) ),*type);
1031: }
1032: void PETSC_STDCALL matassembled_(Mat mat,PetscTruth *assembled, int *__ierr ){
1033: *__MatAssembled(
1034:         (Mat)PetscToPointer( (mat) ),assembled);
1035: }
1036: void PETSC_STDCALL matassemblyend_(Mat mat,MatAssemblyType *type, int *__ierr ){
1037: *__MatAssemblyEnd(
1038:         (Mat)PetscToPointer( (mat) ),*type);
1039: }
1040: void PETSC_STDCALL matcompress_(Mat mat, int *__ierr ){
1041: *__MatCompress(
1042:         (Mat)PetscToPointer( (mat) ));
1043: }
1044: void PETSC_STDCALL matsetoption_(Mat mat,MatOption *op, int *__ierr ){
1045: *__MatSetOption(
1046:         (Mat)PetscToPointer( (mat) ),*op);
1047: }
1048: void PETSC_STDCALL matzeroentries_(Mat mat, int *__ierr ){
1049: *__MatZeroEntries(
1050:         (Mat)PetscToPointer( (mat) ));
1051: }
1052: void PETSC_STDCALL matgetsize_(Mat mat,int *m,int* n, int *__ierr ){
1053: *__MatGetSize(
1054:         (Mat)PetscToPointer( (mat) ),m,n);
1055: }
1056: void PETSC_STDCALL matgetlocalsize_(Mat mat,int *m,int* n, int *__ierr ){
1057: *__MatGetLocalSize(
1058:         (Mat)PetscToPointer( (mat) ),m,n);
1059: }
1060: void PETSC_STDCALL matgetownershiprange_(Mat mat,int *m,int* n, int *__ierr ){
1061: *__MatGetOwnershipRange(
1062:         (Mat)PetscToPointer( (mat) ),m,n);
1063: }
1064: void PETSC_STDCALL matilufactorsymbolic_(Mat mat,IS row,IS col,MatILUInfo *info,Mat *fact, int *__ierr ){
1065: *__MatILUFactorSymbolic(
1066:         (Mat)PetscToPointer( (mat) ),
1067:         (IS)PetscToPointer( (row) ),
1068:         (IS)PetscToPointer( (col) ),
1069:         (MatILUInfo* )PetscToPointer( (info) ),fact);
1070: }
1071: void PETSC_STDCALL maticcfactorsymbolic_(Mat mat,IS perm,PetscReal *f,int *fill,Mat *fact, int *__ierr ){
1072: *__MatICCFactorSymbolic(
1073:         (Mat)PetscToPointer( (mat) ),
1074:         (IS)PetscToPointer( (perm) ),*f,*fill,fact);
1075: }
1076: void PETSC_STDCALL matincreaseoverlap_(Mat mat,int *n,IS *is,int *ov, int *__ierr ){
1077: *__MatIncreaseOverlap(
1078:         (Mat)PetscToPointer( (mat) ),*n,is,*ov);
1079: }
1080: void PETSC_STDCALL matprinthelp_(Mat mat, int *__ierr ){
1081: *__MatPrintHelp(
1082:         (Mat)PetscToPointer( (mat) ));
1083: }
1084: void PETSC_STDCALL matgetblocksize_(Mat mat,int *bs, int *__ierr ){
1085: *__MatGetBlockSize(
1086:         (Mat)PetscToPointer( (mat) ),bs);
1087: }
1088: void PETSC_STDCALL matsetunfactored_(Mat mat, int *__ierr ){
1089: *__MatSetUnfactored(
1090:         (Mat)PetscToPointer( (mat) ));
1091: }
1092: void PETSC_STDCALL matgetsubmatrix_(Mat mat,IS isrow,IS iscol,int *csize,MatReuse *cll,Mat *newmat, int *__ierr ){
1093: *__MatGetSubMatrix(
1094:         (Mat)PetscToPointer( (mat) ),
1095:         (IS)PetscToPointer( (isrow) ),
1096:         (IS)PetscToPointer( (iscol) ),*csize,*cll,newmat);
1097: }
1098: void PETSC_STDCALL matsetstashinitialsize_(Mat mat,int *size,int *bsize, int *__ierr ){
1099: *__MatSetStashInitialSize(
1100:         (Mat)PetscToPointer( (mat) ),*size,*bsize);
1101: }
1102: void PETSC_STDCALL matinterpolateadd_(Mat A,Vec x,Vec y,Vec w, int *__ierr ){
1103: *__MatInterpolateAdd(
1104:         (Mat)PetscToPointer( (A) ),
1105:         (Vec)PetscToPointer( (x) ),
1106:         (Vec)PetscToPointer( (y) ),
1107:         (Vec)PetscToPointer( (w) ));
1108: }
1109: void PETSC_STDCALL matinterpolate_(Mat A,Vec x,Vec y, int *__ierr ){
1110: *__MatInterpolate(
1111:         (Mat)PetscToPointer( (A) ),
1112:         (Vec)PetscToPointer( (x) ),
1113:         (Vec)PetscToPointer( (y) ));
1114: }
1115: void PETSC_STDCALL matrestrict_(Mat A,Vec x,Vec y, int *__ierr ){
1116: *__MatRestrict(
1117:         (Mat)PetscToPointer( (A) ),
1118:         (Vec)PetscToPointer( (x) ),
1119:         (Vec)PetscToPointer( (y) ));
1120: }
1121: void PETSC_STDCALL maticcfactor_(Mat mat,IS row,PetscReal *fill,int *level, int *__ierr ){
1122: *__MatICCFactor(
1123:         (Mat)PetscToPointer( (mat) ),
1124:         (IS)PetscToPointer( (row) ),*fill,*level);
1125: }
1126: #if defined(__cplusplus)
1127: }
1128: #endif