1interface 2 subroutine MatFDColoringRestorePerturbedColumns(coloring, n, cols, ierr) 3 use, intrinsic :: ISO_C_binding 4 import tMatFDColoring 5 PetscInt, pointer :: cols(:) 6 PetscInt n 7 PetscErrorCode, intent(out) :: ierr 8 MatFDColoring coloring 9 end subroutine 10 11 subroutine MatNullSpaceRestoreVecs(sp, has_const, n, vecs, ierr) 12 use, intrinsic :: ISO_C_binding 13 import tMatNullSpace, tVec 14 MatNullSpace :: sp 15 PetscBool, intent(out) :: has_const 16 PetscInt, intent(out) :: n 17 Vec, pointer :: vecs(:) 18 PetscErrorCode, intent(out) :: ierr 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(A, array, ierr) 29 use, intrinsic :: ISO_C_binding 30 import tMat 31 PetscScalar, pointer :: array(:) 32 PetscErrorCode, intent(out) :: ierr 33 Mat A 34 end subroutine 35 subroutine MatDenseGetArray2d(A, array, ierr) 36 use, intrinsic :: ISO_C_binding 37 import tMat 38 PetscScalar, pointer :: array(:, :) 39 PetscErrorCode, intent(out) :: ierr 40 Mat A 41 end subroutine 42end interface MatDenseGetArray 43 44interface MatDenseRestoreArray 45 subroutine MatDenseRestoreArray1d(A, array, ierr) 46 use, intrinsic :: ISO_C_binding 47 import tMat 48 PetscScalar, pointer :: array(:) 49 PetscErrorCode, intent(out) :: ierr 50 Mat A 51 end subroutine 52 subroutine MatDenseRestoreArray2d(A, array, ierr) 53 use, intrinsic :: ISO_C_binding 54 import tMat 55 PetscScalar, pointer :: array(:, :) 56 PetscErrorCode, intent(out) :: ierr 57 Mat A 58 end subroutine 59end interface MatDenseRestoreArray 60 61interface MatDenseGetArrayRead 62 subroutine MatDenseGetArrayRead1d(A, array, ierr) 63 use, intrinsic :: ISO_C_binding 64 import tMat 65 PetscScalar, pointer :: array(:) 66 PetscErrorCode, intent(out) :: ierr 67 Mat A 68 end subroutine 69 subroutine MatDenseGetArrayRead2d(A, array, ierr) 70 use, intrinsic :: ISO_C_binding 71 import tMat 72 PetscScalar, pointer :: array(:, :) 73 PetscErrorCode, intent(out) :: ierr 74 Mat A 75 end subroutine 76end interface MatDenseGetArrayRead 77 78interface MatDenseRestoreArrayRead 79 subroutine MatDenseRestoreArrayRead1d(A, array, ierr) 80 use, intrinsic :: ISO_C_binding 81 import tMat 82 PetscScalar, pointer :: array(:) 83 PetscErrorCode, intent(out) :: ierr 84 Mat A 85 end subroutine 86 subroutine MatDenseRestoreArrayRead2d(A, array, ierr) 87 use, intrinsic :: ISO_C_binding 88 import tMat 89 PetscScalar, pointer :: array(:, :) 90 PetscErrorCode, intent(out) :: ierr 91 Mat A 92 end subroutine 93end interface MatDenseRestoreArrayRead 94 95interface MatDenseGetArrayWrite 96 subroutine MatDenseGetArrayWrite1d(A, array, ierr) 97 use, intrinsic :: ISO_C_binding 98 import tMat 99 PetscScalar, pointer :: array(:) 100 PetscErrorCode, intent(out) :: ierr 101 Mat A 102 end subroutine 103 subroutine MatDenseGetArrayWrite2d(A, array, ierr) 104 use, intrinsic :: ISO_C_binding 105 import tMat 106 PetscScalar, pointer :: array(:, :) 107 PetscErrorCode, intent(out) :: ierr 108 Mat A 109 end subroutine 110end interface MatDenseGetArrayWrite 111 112interface MatDenseRestoreArrayWrite 113 subroutine MatDenseRestoreArrayWrite1d(A, array, ierr) 114 use, intrinsic :: ISO_C_binding 115 import tMat 116 PetscScalar, pointer :: array(:) 117 PetscErrorCode, intent(out) :: ierr 118 Mat A 119 end subroutine 120 subroutine MatDenseRestoreArrayWrite2d(A, array, ierr) 121 use, intrinsic :: ISO_C_binding 122 import tMat 123 PetscScalar, pointer :: array(:, :) 124 PetscErrorCode, intent(out) :: ierr 125 Mat A 126 end subroutine 127end interface MatDenseRestoreArrayWrite 128