Actual source code: petscmat.h

petsc-3.14.6 2021-03-30
Report Typos and Errors
  1: !
  2: !  Used by petscmatmod.F90 to create Fortran module file
  3: !
  4: #include "petsc/finclude/petscmat.h"

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

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

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

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

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

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

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

333: ! PetscScalarPrecision
334:       PetscEnum, parameter :: PETSC_SCALAR_DOUBLE=0
335:       PetscEnum, parameter :: PETSC_SCALAR_SINGLE=1
336:       PetscEnum, parameter :: PETSC_SCALAR_LONG_DOUBLE=2
337: !
338: !     CUSPARSE enumerated types
339: !
340: #if defined(PETSC_HAVE_CUDA)
341:       PetscEnum, parameter :: MAT_CUSPARSE_CSR=0
342:       PetscEnum, parameter :: MAT_CUSPARSE_ELL=1
343:       PetscEnum, parameter :: MAT_CUSPARSE_HYB=2
344:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_DIAG=0
345:       PetscEnum, parameter :: MAT_CUSPARSE_MULT_OFFDIAG=1
346:       PetscEnum, parameter :: MAT_CUSPARSE_MULT=2
347:       PetscEnum, parameter :: MAT_CUSPARSE_ALL=3
348: #endif

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