Actual source code: petscmat.h

petsc-3.13.6 2020-09-29
Report Typos and Errors
  1: !
  2: !
  3: !  Include file for Fortran use of the Mat package in PETSc
  4: !
  5: #include "petsc/finclude/petscmat.h"

  7:       type tMat
  8:         sequence
  9:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
 10:       end type tMat
 11:       type tMatNullSpace
 12:         sequence
 13:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
 14:       end type tMatNullSpace
 15:       type tMatFDColoring
 16:         sequence
 17:         PetscFortranAddr:: v PETSC_FORTRAN_TYPE_INITIALIZE
 18:       end type tMatFDColoring

 20:       Mat, parameter :: PETSC_NULL_MAT = tMat(0)
 21:       MatFDColoring, parameter :: PETSC_NULL_MATFDCOLORING = tMatFDColoring(0)
 22:       MatNullSpace, parameter :: PETSC_NULL_MATNULLSPACE = tMatNullSpace(0)
 23: !
 24: !  Flag for matrix assembly
 25: !
 26:       PetscEnum, parameter :: MAT_FLUSH_ASSEMBLY=1
 27:       PetscEnum, parameter :: MAT_FINAL_ASSEMBLY=0
 28: !
 29: !
 30: !
 31:       PetscEnum, parameter :: MAT_FACTOR_NONE=0
 32:       PetscEnum, parameter :: MAT_FACTOR_LU=1
 33:       PetscEnum, parameter :: MAT_FACTOR_CHOLESKY=2
 34:       PetscEnum, parameter :: MAT_FACTOR_ILU=3
 35:       PetscEnum, parameter :: MAT_FACTOR_ICC=4
 36: !
 37: ! MatCreateSubMatrixOption
 38: !
 39:       PetscEnum, parameter :: MAT_DO_NOT_GET_VALUES=0
 40:       PetscEnum, parameter :: MAT_GET_VALUES=1
 41: !
 42: !  MatOption; must match those in include/petscmat.h
 43: !
 44:       PetscEnum, parameter :: MAT_OPTION_MIN = -3
 45:       PetscEnum, parameter :: MAT_UNUSED_NONZERO_LOCATION_ERR = -2
 46:       PetscEnum, parameter :: MAT_ROW_ORIENTED = -1
 47:       PetscEnum, parameter :: MAT_SYMMETRIC = 1
 48:       PetscEnum, parameter :: MAT_STRUCTURALLY_SYMMETRIC = 2
 49:       PetscEnum, parameter :: MAT_NEW_DIAGONALS = 3
 50:       PetscEnum, parameter :: MAT_IGNORE_OFF_PROC_ENTRIES = 4
 51:       PetscEnum, parameter :: MAT_USE_HASH_TABLE = 5
 52:       PetscEnum, parameter :: MAT_KEEP_NONZERO_PATTERN = 6
 53:       PetscEnum, parameter :: MAT_IGNORE_ZERO_ENTRIES = 7
 54:       PetscEnum, parameter :: MAT_USE_INODES = 8
 55:       PetscEnum, parameter :: MAT_HERMITIAN = 9
 56:       PetscEnum, parameter :: MAT_SYMMETRY_ETERNAL = 10
 57:       PetscEnum, parameter :: MAT_NEW_NONZERO_LOCATION_ERR = 11
 58:       PetscEnum, parameter :: MAT_IGNORE_LOWER_TRIANGULAR = 12
 59:       PetscEnum, parameter :: MAT_ERROR_LOWER_TRIANGULAR = 13
 60:       PetscEnum, parameter :: MAT_GETROW_UPPERTRIANGULAR = 14
 61:       PetscEnum, parameter :: MAT_SPD = 15
 62:       PetscEnum, parameter :: MAT_NO_OFF_PROC_ZERO_ROWS = 16
 63:       PetscEnum, parameter :: MAT_NO_OFF_PROC_ENTRIES = 17
 64:       PetscEnum, parameter :: MAT_NEW_NONZERO_LOCATIONS = 18
 65:       PetscEnum, parameter :: MAT_NEW_NONZERO_ALLOCATION_ERR = 19
 66:       PetscEnum, parameter :: MAT_SUBSET_OFF_PROC_ENTRIES = 20
 67:       PetscEnum, parameter :: MAT_SUBMAT_SINGLEIS = 21
 68:       PetscEnum, parameter :: MAT_STRUCTURE_ONLY = 22
 69:       PetscEnum, parameter :: MAT_OPTION_MAX = 23
 70: !
 71: !  MatFactorShiftType
 72: !
 73:       PetscEnum, parameter :: MAT_SHIFT_NONE=0
 74:       PetscEnum, parameter :: MAT_SHIFT_NONZERO=1
 75:       PetscEnum, parameter :: MAT_SHIFT_POSITIVE_DEFINITE=2
 76:       PetscEnum, parameter :: MAT_SHIFT_INBLOCKS=3
 77: !
 78: !  MatFactorError
 79: !
 80:       PetscEnum, parameter :: MAT_FACTOR_NOERROR=0
 81:       PetscEnum, parameter :: MAT_FACTOR_STRUCT_ZEROPIVOT=1
 82:       PetscEnum, parameter :: MAT_FACTOR_NUMERIC_ZEROPIVOT=2
 83:       PetscEnum, parameter :: MAT_FACTOR_OUTMEMORY=3
 84:       PetscEnum, parameter :: MAT_FACTOR_OTHER=4
 85: !
 86: !  MatDuplicateOption
 87: !
 88:       PetscEnum, parameter :: MAT_DO_NOT_COPY_VALUES=0
 89:       PetscEnum, parameter :: MAT_COPY_VALUES=1
 90:       PetscEnum, parameter :: MAT_SHARE_NONZERO_PATTERN=2
 91: !
 92: !  Flags for MatCopy, MatAXPY
 93: !
 94:       PetscEnum, parameter :: DIFFERENT_NONZERO_PATTERN = 0
 95:       PetscEnum, parameter :: SUBSET_NONZERO_PATTERN=1
 96:       PetscEnum, parameter :: SAME_NONZERO_PATTERN = 2

 98: #include "../src/mat/f90-mod/petscmatinfosize.h"

100:       PetscEnum, parameter :: MAT_INFO_BLOCK_SIZE=1
101:       PetscEnum, parameter :: MAT_INFO_NZ_ALLOCATED=2
102:       PetscEnum, parameter :: MAT_INFO_NZ_USED=3
103:       PetscEnum, parameter :: MAT_INFO_NZ_UNNEEDED=4
104:       PetscEnum, parameter :: MAT_INFO_MEMORY=5
105:       PetscEnum, parameter :: MAT_INFO_ASSEMBLIES=6
106:       PetscEnum, parameter :: MAT_INFO_MALLOCS=7
107:       PetscEnum, parameter :: MAT_INFO_FILL_RATIO_GIVEN=8
108:       PetscEnum, parameter :: MAT_INFO_FILL_RATIO_NEEDED=9
109:       PetscEnum, parameter :: MAT_INFO_FACTOR_MALLOCS=10
110: !
111: !  MatReuse
112: !
113:       PetscEnum, parameter :: MAT_INITIAL_MATRIX=0
114:       PetscEnum, parameter :: MAT_REUSE_MATRIX=1
115:       PetscEnum, parameter :: MAT_IGNORE_MATRIX=2
116:       PetscEnum, parameter :: MAT_INPLACE_MATRIX=3
117: !
118: !  MatInfoType
119: !
120:       PetscEnum, parameter :: MAT_LOCAL=1
121:       PetscEnum, parameter :: MAT_GLOBAL_MAX=2
122:       PetscEnum, parameter :: MAT_GLOBAL_SUM=3

124: !
125: !  MatCompositeType
126: !
127:       PetscEnum, parameter :: MAT_COMPOSITE_ADDITIVE = 0
128:       PetscEnum, parameter :: MAT_COMPOSITE_MULTIPLICATIVE = 1

130: #include "../src/mat/f90-mod/petscmatfactorinfosize.h"

132:       PetscEnum, parameter :: MAT_FACTORINFO_DIAGONAL_FILL = 1
133:       PetscEnum, parameter :: MAT_FACTORINFO_USEDT = 2
134:       PetscEnum, parameter :: MAT_FACTORINFO_DT = 3
135:       PetscEnum, parameter :: MAT_FACTORINFO_DTCOL = 4
136:       PetscEnum, parameter :: MAT_FACTORINFO_DTCOUNT = 5
137:       PetscEnum, parameter :: MAT_FACTORINFO_FILL = 6
138:       PetscEnum, parameter :: MAT_FACTORINFO_LEVELS = 7
139:       PetscEnum, parameter :: MAT_FACTORINFO_PIVOT_IN_BLOCKS = 8
140:       PetscEnum, parameter :: MAT_FACTORINFO_ZERO_PIVOT = 9
141:       PetscEnum, parameter :: MAT_FACTORINFO_SHIFT_TYPE = 10
142:       PetscEnum, parameter :: MAT_FACTORINFO_SHIFT_AMOUNT = 11
143: !
144: !  Options for SOR and SSOR
145: !  MatSorType may be bitwise ORd together, so do not change the numbers
146: !
147:       PetscEnum, parameter :: SOR_FORWARD_SWEEP=1
148:       PetscEnum, parameter :: SOR_BACKWARD_SWEEP=2
149:       PetscEnum, parameter :: SOR_SYMMETRIC_SWEEP=3
150:       PetscEnum, parameter :: SOR_LOCAL_FORWARD_SWEEP=4
151:       PetscEnum, parameter :: SOR_LOCAL_BACKWARD_SWEEP=8
152:       PetscEnum, parameter :: SOR_LOCAL_SYMMETRIC_SWEEP=12
153:       PetscEnum, parameter :: SOR_ZERO_INITIAL_GUESS=16
154:       PetscEnum, parameter :: SOR_EISENSTAT=32
155:       PetscEnum, parameter :: SOR_APPLY_UPPER=64
156:       PetscEnum, parameter :: SOR_APPLY_LOWER=128
157: !
158: !  MatOperation
159: !
160:       PetscEnum, parameter :: MATOP_SET_VALUES=0
161:       PetscEnum, parameter :: MATOP_GET_ROW=1
162:       PetscEnum, parameter :: MATOP_RESTORE_ROW=2
163:       PetscEnum, parameter :: MATOP_MULT=3
164:       PetscEnum, parameter :: MATOP_MULT_ADD=4
165:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE=5
166:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE_ADD=6
167:       PetscEnum, parameter :: MATOP_SOLVE=7
168:       PetscEnum, parameter :: MATOP_SOLVE_ADD=8
169:       PetscEnum, parameter :: MATOP_SOLVE_TRANSPOSE=9
170:       PetscEnum, parameter :: MATOP_SOLVE_TRANSPOSE_ADD=10
171:       PetscEnum, parameter :: MATOP_LUFACTOR=11
172:       PetscEnum, parameter :: MATOP_CHOLESKYFACTOR=12
173:       PetscEnum, parameter :: MATOP_SOR=13
174:       PetscEnum, parameter :: MATOP_TRANSPOSE=14
175:       PetscEnum, parameter :: MATOP_GETINFO=15
176:       PetscEnum, parameter :: MATOP_EQUAL=16
177:       PetscEnum, parameter :: MATOP_GET_DIAGONAL=17
178:       PetscEnum, parameter :: MATOP_DIAGONAL_SCALE=18
179:       PetscEnum, parameter :: MATOP_NORM=19
180:       PetscEnum, parameter :: MATOP_ASSEMBLY_BEGIN=20
181:       PetscEnum, parameter :: MATOP_ASSEMBLY_END=21
182:       PetscEnum, parameter :: MATOP_SET_OPTION=22
183:       PetscEnum, parameter :: MATOP_ZERO_ENTRIES=23
184:       PetscEnum, parameter :: MATOP_ZERO_ROWS=24
185:       PetscEnum, parameter :: MATOP_LUFACTOR_SYMBOLIC=25
186:       PetscEnum, parameter :: MATOP_LUFACTOR_NUMERIC=26
187:       PetscEnum, parameter :: MATOP_CHOLESKY_FACTOR_SYMBOLIC=27
188:       PetscEnum, parameter :: MATOP_CHOLESKY_FACTOR_NUMERIC=28
189:       PetscEnum, parameter :: MATOP_SETUP_PREALLOCATION=29
190:       PetscEnum, parameter :: MATOP_ILUFACTOR_SYMBOLIC=30
191:       PetscEnum, parameter :: MATOP_ICCFACTOR_SYMBOLIC=31
192:       PetscEnum, parameter :: MATOP_GET_DIAGONAL_BLOCK=32
193: !     PetscEnum, parameter :: MATOP_FREE_INTER_STRUCT=33
194:       PetscEnum, parameter :: MATOP_DUPLICATE=34
195:       PetscEnum, parameter :: MATOP_FORWARD_SOLVE=35
196:       PetscEnum, parameter :: MATOP_BACKWARD_SOLVE=36
197:       PetscEnum, parameter :: MATOP_ILUFACTOR=37
198:       PetscEnum, parameter :: MATOP_ICCFACTOR=38
199:       PetscEnum, parameter :: MATOP_AXPY=39
200:       PetscEnum, parameter :: MATOP_CREATE_SUBMATRICES=40
201:       PetscEnum, parameter :: MATOP_INCREASE_OVERLAP=41
202:       PetscEnum, parameter :: MATOP_GET_VALUES=42
203:       PetscEnum, parameter :: MATOP_COPY=43
204:       PetscEnum, parameter :: MATOP_GET_ROW_MAX=44
205:       PetscEnum, parameter :: MATOP_SCALE=45
206:       PetscEnum, parameter :: MATOP_SHIFT=46
207:       PetscEnum, parameter :: MATOP_DIAGONAL_SET=47
208:       PetscEnum, parameter :: MATOP_ZERO_ROWS_COLUMNS=48
209:       PetscEnum, parameter :: MATOP_SET_RANDOM=49
210:       PetscEnum, parameter :: MATOP_GET_ROW_IJ=50
211:       PetscEnum, parameter :: MATOP_RESTORE_ROW_IJ=51
212:       PetscEnum, parameter :: MATOP_GET_COLUMN_IJ=52
213:       PetscEnum, parameter :: MATOP_RESTORE_COLUMN_IJ=53
214:       PetscEnum, parameter :: MATOP_FDCOLORING_CREATE=54
215:       PetscEnum, parameter :: MATOP_COLORING_PATCH=55
216:       PetscEnum, parameter :: MATOP_SET_UNFACTORED=56
217:       PetscEnum, parameter :: MATOP_PERMUTE=57
218:       PetscEnum, parameter :: MATOP_SET_VALUES_BLOCKED=58
219:       PetscEnum, parameter :: MATOP_CREATE_SUBMATRIX=59
220:       PetscEnum, parameter :: MATOP_DESTROY=60
221:       PetscEnum, parameter :: MATOP_VIEW=61
222:       PetscEnum, parameter :: MATOP_CONVERT_FROM=62
223:       PetscEnum, parameter :: MATOP_PLACEHOLDER_63=63
224:       PetscEnum, parameter :: MATOP_MATMAT_MULT_SYMBOLIC=64
225:       PetscEnum, parameter :: MATOP_MATMAT_MULT_NUMERIC=65
226:       PetscEnum, parameter :: MATOP_SET_LOCAL_TO_GLOBAL_MAP=66
227:       PetscEnum, parameter :: MATOP_SET_VALUES_LOCAL=67
228:       PetscEnum, parameter :: MATOP_ZERO_ROWS_LOCAL=68
229:       PetscEnum, parameter :: MATOP_GET_ROW_MAX_ABS=69
230:       PetscEnum, parameter :: MATOP_GET_ROW_MIN_ABS=70
231:       PetscEnum, parameter :: MATOP_CONVERT=71
232:       PetscEnum, parameter :: MATOP_SET_COLORING=72
233: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_73=73
234:       PetscEnum, parameter :: MATOP_SET_VALUES_ADIFOR=74
235:       PetscEnum, parameter :: MATOP_FD_COLORING_APPLY=75
236:       PetscEnum, parameter :: MATOP_SET_FROM_OPTIONS=76
237:       PetscEnum, parameter :: MATOP_MULT_CONSTRAINED=77
238:       PetscEnum, parameter :: MATOP_MULT_TRANSPOSE_CONSTRAIN=78
239:       PetscEnum, parameter :: MATOP_FIND_ZERO_DIAGONALS=79
240:       PetscEnum, parameter :: MATOP_MULT_MULTIPLE=80
241:       PetscEnum, parameter :: MATOP_SOLVE_MULTIPLE=81
242:       PetscEnum, parameter :: MATOP_GET_INERTIA=82
243:       PetscEnum, parameter :: MATOP_LOAD=83
244:       PetscEnum, parameter :: MATOP_IS_SYMMETRIC=84
245:       PetscEnum, parameter :: MATOP_IS_HERMITIAN=85
246:       PetscEnum, parameter :: MATOP_IS_STRUCTURALLY_SYMMETRIC=86
247:       PetscEnum, parameter :: MATOP_SET_VALUES_BLOCKEDLOCAL=87
248:       PetscEnum, parameter :: MATOP_CREATE_VECS=88
249:       PetscEnum, parameter :: MATOP_PLACEHOLDER_89=89
250:       PetscEnum, parameter :: MATOP_MAT_MULT_SYMBOLIC=90
251:       PetscEnum, parameter :: MATOP_MAT_MULT_NUMERIC=91
252:       PetscEnum, parameter :: MATOP_PLACEHOLDER_92=92
253:       PetscEnum, parameter :: MATOP_PTAP_SYMBOLIC=93
254:       PetscEnum, parameter :: MATOP_PTAP_NUMERIC=94
255:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT=95
256:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT_SYMBO=96
257:       PetscEnum, parameter :: MATOP_MAT_TRANSPOSE_MULT_NUMER=97
258: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_98=98
259: !     PetscEnum, parameter :: MATOP_PRODUCTSETFROMOPTIONS=99
260: !     PetscEnum, parameter :: MATOP_PRODUCTSYMBOLIC=100
261: !     PetscEnum, parameter :: MATOP_PRODUCTNUMERIC=101
262:       PetscEnum, parameter :: MATOP_CONJUGATE=102
263: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_103=103
264:       PetscEnum, parameter :: MATOP_SET_VALUES_ROW=104
265:       PetscEnum, parameter :: MATOP_REAL_PART=105
266:       PetscEnum, parameter :: MATOP_IMAGINARY_PART=106
267:       PetscEnum, parameter :: MATOP_GET_ROW_UPPER_TRIANGULAR=107
268:       PetscEnum, parameter :: MATOP_RESTORE_ROW_UPPER_TRIANG=108
269:       PetscEnum, parameter :: MATOP_MAT_SOLVE=109
270:       PetscEnum, parameter :: MATOP_MAT_SOLVE_TRANSPOSE=110
271:       PetscEnum, parameter :: MATOP_GET_ROW_MIN=111
272:       PetscEnum, parameter :: MATOP_GET_COLUMN_VECTOR=112
273:       PetscEnum, parameter :: MATOP_MISSING_DIAGONAL=113
274:       PetscEnum, parameter :: MATOP_GET_SEQ_NONZERO_STRUCTUR=114
275:       PetscEnum, parameter :: MATOP_CREATE=115
276:       PetscEnum, parameter :: MATOP_GET_GHOSTS=116
277:       PetscEnum, parameter :: MATOP_GET_LOCAL_SUB_MATRIX=117
278:       PetscEnum, parameter :: MATOP_RESTORE_LOCALSUB_MATRIX=118
279:       PetscEnum, parameter :: MATOP_MULT_DIAGONAL_BLOCK=119
280:       PetscEnum, parameter :: MATOP_HERMITIAN_TRANSPOSE=120
281:       PetscEnum, parameter :: MATOP_MULT_HERMITIAN_TRANSPOSE=121
282:       PetscEnum, parameter :: MATOP_MULT_HERMITIAN_TRANS_ADD=122
283:       PetscEnum, parameter :: MATOP_GET_MULTI_PROC_BLOCK=123
284:       PetscEnum, parameter :: MATOP_FIND_NONZERO_ROWS=124
285:       PetscEnum, parameter :: MATOP_GET_COLUMN_NORMS=125
286:       PetscEnum, parameter :: MATOP_INVERT_BLOCK_DIAGONAL=126
287: !     PetscEnum, parameter :: MATOP_PLACEHOLDER_127=127
288:       PetscEnum, parameter :: MATOP_CREATE_SUB_MATRICES_MPI=128
289:       PetscEnum, parameter :: MATOP_SET_VALUES_BATCH=129
290:       PetscEnum, parameter :: MATOP_PLACEHOLDER_130=130
291:       PetscEnum, parameter :: MATOP_TRANSPOSE_MAT_MULT_SYMBO=131
292:       PetscEnum, parameter :: MATOP_TRANSPOSE_MAT_MULT_NUMER=132
293:       PetscEnum, parameter :: MATOP_TRANSPOSE_COLORING_CREAT=133
294:       PetscEnum, parameter :: MATOP_TRANS_COLORING_APPLY_SPT=134
295:       PetscEnum, parameter :: MATOP_TRANS_COLORING_APPLY_DEN=135
296:       PetscEnum, parameter :: MATOP_PLACEHOLDER_136=136
297:       PetscEnum, parameter :: MATOP_RART_SYMBOLIC=137
298:       PetscEnum, parameter :: MATOP_RART_NUMERIC=138
299:       PetscEnum, parameter :: MATOP_SET_BLOCK_SIZES=139
300:       PetscEnum, parameter :: MATOP_AYPX=140
301:       PetscEnum, parameter :: MATOP_RESIDUAL=141
302:       PetscEnum, parameter :: MATOP_FDCOLORING_SETUP=142
303:       PetscEnum, parameter :: MATOP_MPICONCATENATESEQ=144
304:       PetscEnum, parameter :: MATOP_DESTROYSUBMATRICES=145
305:       PetscEnum, parameter :: MATOP_TRANSPOSE_SOLVE=146
306:       PetscEnum, parameter :: MATOP_GET_VALUES_LOCAL=147
307: !
308: !
309: !
310:       PetscEnum, parameter :: MATRIX_BINARY_FORMAT_DENSE=-1
311: !
312: ! MPChacoGlobalType
313:       PetscEnum, parameter :: MP_CHACO_MULTILEVEL_KL=0
314:       PetscEnum, parameter :: MP_CHACO_SPECTRAL=1
315:       PetscEnum, parameter :: MP_CHACO_LINEAR=2
316:       PetscEnum, parameter :: MP_CHACO_RANDOM=3
317:       PetscEnum, parameter :: MP_CHACO_SCATTERED=4
318: !
319: ! MPChacoLocalType
320:       PetscEnum, parameter :: MP_CHACO_KERNIGHAN_LIN=0
321:       PetscEnum, parameter :: MP_CHACO_NONE=1
322: !
323: ! MPChacoEigenType
324:       PetscEnum, parameter :: MP_CHACO_LANCZOS=0
325:       PetscEnum, parameter :: MP_CHACO_RQI_SYMMLQ=1
326: !
327: ! MPPTScotchStrategyType
328:       PetscEnum, parameter :: MP_PTSCOTCH_QUALITY = 0
329:       PetscEnum, parameter :: MP_PTSCOTCH_SPEED = 1
330:       PetscEnum, parameter :: MP_PTSCOTCH_BALANCE = 2
331:       PetscEnum, parameter :: MP_PTSCOTCH_SAFETY = 3
332:       PetscEnum, parameter :: MP_PTSCOTCH_SCALABILITY = 4

334: ! PetscScalarPrecision
335:       PetscEnum, parameter :: PETSC_SCALAR_DOUBLE=0
336:       PetscEnum, parameter :: PETSC_SCALAR_SINGLE=1
337:       PetscEnum, parameter :: PETSC_SCALAR_LONG_DOUBLE=2
338: !
339: !     CUSPARSE enumerated types
340: !
341: #if defined(PETSC_HAVE_CUDA)
342:       PetscEnum, parameter :: MAT_CUSPARSE_CSR=0
343:       PetscEnum, parameter :: MAT_CUSPARSE_ELL=1
344:       PetscEnum, parameter :: MAT_CUSPARSE_HYB=2
345:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_DIAG=0
346:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_OFFDIAG=1
347:       PetscEnum, parameter :: MAT_CUSPARSE_MULT=2
348:       PetscEnum, parameter :: MAT_CUSPARSE_ALL=3
349: #endif
350: !
351: !  End of Fortran include file for the Mat package in PETSc
352: !
353: #if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES)
354: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MAT
355: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MATFDCOLORING
356: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_NULL_MATNULLSPACE
357: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FLUSH_ASSEMBLY
358: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FINAL_ASSEMBLY
359: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NONE
360: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_LU
361: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_CHOLESKY
362: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ILU
363: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_ICC
364: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_GET_VALUES
365: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GET_VALUES
366: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MIN
367: !DEC$ ATTRIBUTES DLLEXPORT::MAT_UNUSED_NONZERO_LOCATION_ERR
368: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ROW_ORIENTED
369: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRIC
370: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURALLY_SYMMETRIC
371: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_DIAGONALS
372: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_OFF_PROC_ENTRIES
373: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_HASH_TABLE
374: !DEC$ ATTRIBUTES DLLEXPORT::MAT_KEEP_NONZERO_PATTERN
375: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_ZERO_ENTRIES
376: !DEC$ ATTRIBUTES DLLEXPORT::MAT_USE_INODES
377: !DEC$ ATTRIBUTES DLLEXPORT::MAT_HERMITIAN
378: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SYMMETRY_ETERNAL
379: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATION_ERR
380: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_LOWER_TRIANGULAR
381: !DEC$ ATTRIBUTES DLLEXPORT::MAT_ERROR_LOWER_TRIANGULAR
382: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GETROW_UPPERTRIANGULAR
383: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SPD
384: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ZERO_ROWS
385: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NO_OFF_PROC_ENTRIES
386: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_LOCATIONS
387: !DEC$ ATTRIBUTES DLLEXPORT::MAT_NEW_NONZERO_ALLOCATION_ERR
388: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBSET_OFF_PROC_ENTRIES
389: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SUBMAT_SINGLEIS
390: !DEC$ ATTRIBUTES DLLEXPORT::MAT_STRUCTURE_ONLY
391: !DEC$ ATTRIBUTES DLLEXPORT::MAT_OPTION_MAX
392: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONE
393: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_NONZERO
394: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_POSITIVE_DEFINITE
395: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHIFT_INBLOCKS
396: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NOERROR
397: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_STRUCT_ZEROPIVOT
398: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_NUMERIC_ZEROPIVOT
399: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OUTMEMORY
400: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTOR_OTHER
401: !DEC$ ATTRIBUTES DLLEXPORT::MAT_DO_NOT_COPY_VALUES
402: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COPY_VALUES
403: !DEC$ ATTRIBUTES DLLEXPORT::MAT_SHARE_NONZERO_PATTERN
404: !DEC$ ATTRIBUTES DLLEXPORT::DIFFERENT_NONZERO_PATTERN
405: !DEC$ ATTRIBUTES DLLEXPORT::SUBSET_NONZERO_PATTERN
406: !DEC$ ATTRIBUTES DLLEXPORT::SAME_NONZERO_PATTERN
407: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_BLOCK_SIZE
408: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_ALLOCATED
409: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_USED
410: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_NZ_UNNEEDED
411: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MEMORY
412: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_ASSEMBLIES
413: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_MALLOCS
414: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_GIVEN
415: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FILL_RATIO_NEEDED
416: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INFO_FACTOR_MALLOCS
417: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INITIAL_MATRIX
418: !DEC$ ATTRIBUTES DLLEXPORT::MAT_REUSE_MATRIX
419: !DEC$ ATTRIBUTES DLLEXPORT::MAT_IGNORE_MATRIX
420: !DEC$ ATTRIBUTES DLLEXPORT::MAT_INPLACE_MATRIX
421: !DEC$ ATTRIBUTES DLLEXPORT::MAT_LOCAL
422: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_MAX
423: !DEC$ ATTRIBUTES DLLEXPORT::MAT_GLOBAL_SUM
424: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_ADDITIVE
425: !DEC$ ATTRIBUTES DLLEXPORT::MAT_COMPOSITE_MULTIPLICATIVE
426: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DIAGONAL_FILL
427: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_USEDT
428: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DT
429: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOL
430: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_DTCOUNT
431: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_FILL
432: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_LEVELS
433: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_PIVOT_IN_BLOCKS
434: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_ZERO_PIVOT
435: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_TYPE
436: !DEC$ ATTRIBUTES DLLEXPORT::MAT_FACTORINFO_SHIFT_AMOUNT
437: !DEC$ ATTRIBUTES DLLEXPORT::SOR_FORWARD_SWEEP
438: !DEC$ ATTRIBUTES DLLEXPORT::SOR_BACKWARD_SWEEP
439: !DEC$ ATTRIBUTES DLLEXPORT::SOR_SYMMETRIC_SWEEP
440: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_FORWARD_SWEEP
441: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_BACKWARD_SWEEP
442: !DEC$ ATTRIBUTES DLLEXPORT::SOR_LOCAL_SYMMETRIC_SWEEP
443: !DEC$ ATTRIBUTES DLLEXPORT::SOR_ZERO_INITIAL_GUESS
444: !DEC$ ATTRIBUTES DLLEXPORT::SOR_EISENSTAT
445: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_UPPER
446: !DEC$ ATTRIBUTES DLLEXPORT::SOR_APPLY_LOWER
447: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES
448: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROWMATOP_RESTORE_ROW
449: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT
450: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_ADD
451: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE
452: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_ADD
453: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE
454: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_ADD
455: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE
456: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_TRANSPOSE_ADD
457: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR
458: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKYFACTOR
459: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOR
460: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE
461: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GETINFO
462: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_EQUAL
463: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL
464: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SCALE
465: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_NORM
466: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_BEGIN
467: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ASSEMBLY_END
468: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_OPTION
469: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ENTRIES
470: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS
471: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_SYMBOLIC
472: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LUFACTOR_NUMERIC
473: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_SYMBOLIC
474: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CHOLESKY_FACTOR_NUMERIC
475: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SETUP_PREALLOCATION
476: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR_SYMBOLIC
477: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR_SYMBOLIC
478: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_DIAGONAL_BLOCK
479: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DUPLICATE
480: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FORWARD_SOLVE
481: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_BACKWARD_SOLVE
482: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ILUFACTOR
483: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ICCFACTOR
484: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AXPY
485: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRICES
486: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INCREASE_OVERLAP
487: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES
488: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COPY
489: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX
490: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SCALE
491: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SHIFT
492: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DIAGONAL_SET
493: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_COLUMNS
494: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_RANDOM
495: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_IJ
496: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_IJ
497: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_IJ
498: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_COLUMN_IJ
499: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_CREATE
500: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_COLORING_PATCH
501: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_UNFACTORED
502: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PERMUTE
503: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKED
504: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUBMATRIX
505: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROY
506: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_VIEW
507: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT_FROM
508: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT
509: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_SYMBOLIC
510: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MATMAT_MULT_NUMERIC
511: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_LOCAL_TO_GLOBAL_MAP
512: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_LOCAL
513: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_ZERO_ROWS_LOCAL
514: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MAX_ABS
515: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN_ABS
516: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONVERT
517: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_COLORING
518: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ADIFOR
519: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FD_COLORING_APPLY
520: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_FROM_OPTIONS
521: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_CONSTRAINED
522: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_TRANSPOSE_CONSTRAIN
523: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_ZERO_DIAGONALS
524: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_MULTIPLE
525: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SOLVE_MULTIPLE
526: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_INERTIA
527: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_LOAD
528: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_SYMMETRIC
529: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_HERMITIAN
530: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IS_STRUCTURALLY_SYMMETRIC
531: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BLOCKEDLOCAL
532: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_VECS
533: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT
534: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_SYMBOLIC
535: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_MULT_NUMERIC
536: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP
537: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_SYMBOLIC
538: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_PTAP_NUMERIC
539: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT
540: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_SYMBO
541: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_TRANSPOSE_MULT_NUMER
542: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CONJUGATE
543: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_ROW
544: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_REAL_PART
545: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_IMAGINARY_PART
546: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_UPPER_TRIANGULAR
547: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_ROW_UPPER_TRIANG
548: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE
549: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MAT_SOLVE_TRANSPOSE
550: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_ROW_MIN
551: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_VECTOR
552: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MISSING_DIAGONAL
553: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_SEQ_NONZERO_STRUCTUR
554: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE
555: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_GHOSTS
556: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_LOCAL_SUB_MATRIX
557: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESTORE_LOCALSUB_MATRIX
558: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_DIAGONAL_BLOCK
559: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_HERMITIAN_TRANSPOSE
560: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANSPOSE
561: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MULT_HERMITIAN_TRANS_ADD
562: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_MULTI_PROC_BLOCK
563: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FIND_NONZERO_ROWS
564: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_COLUMN_NORMS
565: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_INVERT_BLOCK_DIAGONAL
566: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_CREATE_SUB_MATRICES_MPI
567: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_VALUES_BATCH
568: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT
569: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_SYMBO
570: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_MAT_MULT_NUMER
571: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_COLORING_CREAT
572: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_SPT
573: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANS_COLORING_APPLY_DEN
574: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART
575: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_SYMBOLIC
576: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RART_NUMERIC
577: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_SET_BLOCK_SIZES
578: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_AYPX
579: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_RESIDUAL
580: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_FDCOLORING_SETUP
581: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_MPICONCATENATESEQ
582: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_DESTROYSUBMATRICES
583: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_TRANSPOSE_SOLVE
584: !DEC$ ATTRIBUTES DLLEXPORT::MATOP_GET_VALUES_LOCAL
585: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_MULTILEVEL_KL
586: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SPECTRAL
587: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LINEAR
588: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RANDOM
589: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_SCATTERED
590: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_KERNIGHAN_LIN
591: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_NONE
592: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_LANCZOS
593: !DEC$ ATTRIBUTES DLLEXPORT::MP_CHACO_RQI_SYMMLQ
594: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_QUALITY
595: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SPEED
596: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_BALANCE
597: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SAFETY
598: !DEC$ ATTRIBUTES DLLEXPORT::MP_PTSCOTCH_SCALABILITY
599: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_DOUBLE
600: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_SINGLE
601: !DEC$ ATTRIBUTES DLLEXPORT::PETSC_SCALAR_LONG_DOUBLE
602: #if defined(PETSC_HAVE_CUDA)
603: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_CSR
604: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ELL
605: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_HYB
606: !DEC$ ATTRIBUTES DLLEXPORT::
607: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_DIAG
608: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT_OFFDIAG
609: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_MULT
610: !DEC$ ATTRIBUTES DLLEXPORT::MAT_CUSPARSE_ALL
611: #endif
612: #endif