1interface 2 subroutine MatFDColoringRestorePerturbedColumns(i, len, array, ierr) 3 use, intrinsic :: ISO_C_binding 4 import tMatFDColoring 5 PetscInt, pointer :: array(:) 6 PetscInt len 7 PetscErrorCode ierr 8 MatFDColoring i 9 end subroutine 10 11 subroutine MatNullSpaceRestoreVecs(a, b, c, d, z) 12 use, intrinsic :: ISO_C_binding 13 import tMatNullSpace, tVec 14 MatNullSpace :: a 15 PetscBool :: b 16 PetscInt :: c 17 Vec, pointer :: d(:) 18 PetscErrorCode z 19 end subroutine 20end interface 21 22#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 23!DEC$ ATTRIBUTES DLLEXPORT::MatFDColoringRestorePerturbedColumns 24!DEC$ ATTRIBUTES DLLEXPORT::MatNullSpaceRestoreVecs 25#endif 26 27interface MatDenseGetArray 28 subroutine MatDenseGetArray1d(v, array, ierr) 29 use, intrinsic :: ISO_C_binding 30 import tMat 31 PetscScalar, pointer :: array(:) 32 PetscErrorCode ierr 33 Mat v 34 end subroutine 35 subroutine MatDenseGetArray2d(v, array, ierr) 36 use, intrinsic :: ISO_C_binding 37 import tMat 38 PetscScalar, pointer :: array(:, :) 39 PetscErrorCode ierr 40 Mat v 41 end subroutine 42end interface MatDenseGetArray 43 44interface MatDenseRestoreArray 45 subroutine MatDenseRestoreArray1d(v, array, ierr) 46 use, intrinsic :: ISO_C_binding 47 import tMat 48 PetscScalar, pointer :: array(:) 49 PetscErrorCode ierr 50 Mat v 51 end subroutine 52 subroutine MatDenseRestoreArray2d(v, array, ierr) 53 use, intrinsic :: ISO_C_binding 54 import tMat 55 PetscScalar, pointer :: array(:, :) 56 PetscErrorCode ierr 57 Mat v 58 end subroutine 59end interface MatDenseRestoreArray 60 61interface MatDenseGetArrayRead 62 subroutine MatDenseGetArrayRead1d(v, array, ierr) 63 use, intrinsic :: ISO_C_binding 64 import tMat 65 PetscScalar, pointer :: array(:) 66 PetscErrorCode ierr 67 Mat v 68 end subroutine 69 subroutine MatDenseGetArrayRead2d(v, array, ierr) 70 use, intrinsic :: ISO_C_binding 71 import tMat 72 PetscScalar, pointer :: array(:, :) 73 PetscErrorCode ierr 74 Mat v 75 end subroutine 76end interface MatDenseGetArrayRead 77 78interface MatDenseRestoreArrayRead 79 subroutine MatDenseRestoreArrayRead1d(v, array, ierr) 80 use, intrinsic :: ISO_C_binding 81 import tMat 82 PetscScalar, pointer :: array(:) 83 PetscErrorCode ierr 84 Mat v 85 end subroutine 86 subroutine MatDenseRestoreArrayRead2d(v, array, ierr) 87 use, intrinsic :: ISO_C_binding 88 import tMat 89 PetscScalar, pointer :: array(:, :) 90 PetscErrorCode ierr 91 Mat v 92 end subroutine 93end interface MatDenseRestoreArrayRead 94 95interface MatDenseGetArrayWrite 96 subroutine MatDenseGetArrayWrite1d(v, array, ierr) 97 use, intrinsic :: ISO_C_binding 98 import tMat 99 PetscScalar, pointer :: array(:) 100 PetscErrorCode ierr 101 Mat v 102 end subroutine 103 subroutine MatDenseGetArrayWrite2d(v, array, ierr) 104 use, intrinsic :: ISO_C_binding 105 import tMat 106 PetscScalar, pointer :: array(:, :) 107 PetscErrorCode ierr 108 Mat v 109 end subroutine 110end interface MatDenseGetArrayWrite 111 112interface MatDenseRestoreArrayWrite 113 subroutine MatDenseRestoreArrayWrite1d(v, array, ierr) 114 use, intrinsic :: ISO_C_binding 115 import tMat 116 PetscScalar, pointer :: array(:) 117 PetscErrorCode ierr 118 Mat v 119 end subroutine 120 subroutine MatDenseRestoreArrayWrite2d(v, array, ierr) 121 use, intrinsic :: ISO_C_binding 122 import tMat 123 PetscScalar, pointer :: array(:, :) 124 PetscErrorCode ierr 125 Mat v 126 end subroutine 127end interface MatDenseRestoreArrayWrite 128