Date: 2021-03-03T22:26:45+00:00

Actual source code: petscmat.h
petsc-3.14.5 2021-03-03
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