102c639afSMartin Diehlinterface 2*0da4d79bSMartin Diehl subroutine MatFDColoringRestorePerturbedColumns(coloring, n, cols, ierr) 3fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 46dd63270SBarry Smith import tMatFDColoring 5*0da4d79bSMartin Diehl PetscInt, pointer :: cols(:) 6*0da4d79bSMartin Diehl PetscInt n 7*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 8*0da4d79bSMartin Diehl MatFDColoring coloring 902c639afSMartin Diehl end subroutine 103d1372b2SMartin Diehl 11*0da4d79bSMartin Diehl subroutine MatNullSpaceRestoreVecs(sp, has_const, n, vecs, ierr) 123d1372b2SMartin Diehl use, intrinsic :: ISO_C_binding 133d1372b2SMartin Diehl import tMatNullSpace, tVec 14*0da4d79bSMartin Diehl MatNullSpace :: sp 15*0da4d79bSMartin Diehl PetscBool, intent(out) :: has_const 16*0da4d79bSMartin Diehl PetscInt, intent(out) :: n 17*0da4d79bSMartin Diehl Vec, pointer :: vecs(:) 18*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 193d1372b2SMartin Diehl end subroutine 2002c639afSMartin Diehlend interface 216dd63270SBarry Smith 223d1372b2SMartin Diehl#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 233d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::MatFDColoringRestorePerturbedColumns 243d1372b2SMartin Diehl!DEC$ ATTRIBUTES DLLEXPORT::MatNullSpaceRestoreVecs 253d1372b2SMartin Diehl#endif 263d1372b2SMartin Diehl 276dd63270SBarry Smithinterface MatDenseGetArray 28*0da4d79bSMartin Diehl subroutine MatDenseGetArray1d(A, array, ierr) 29fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 306dd63270SBarry Smith import tMat 316dd63270SBarry Smith PetscScalar, pointer :: array(:) 32*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 33*0da4d79bSMartin Diehl Mat A 3402c639afSMartin Diehl end subroutine 35*0da4d79bSMartin Diehl subroutine MatDenseGetArray2d(A, array, ierr) 36fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 376dd63270SBarry Smith import tMat 386dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 39*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 40*0da4d79bSMartin Diehl Mat A 4102c639afSMartin Diehl end subroutine 423d1372b2SMartin Diehlend interface MatDenseGetArray 436dd63270SBarry Smith 446dd63270SBarry Smithinterface MatDenseRestoreArray 45*0da4d79bSMartin Diehl subroutine MatDenseRestoreArray1d(A, array, ierr) 46fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 476dd63270SBarry Smith import tMat 486dd63270SBarry Smith PetscScalar, pointer :: array(:) 49*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 50*0da4d79bSMartin Diehl Mat A 5102c639afSMartin Diehl end subroutine 52*0da4d79bSMartin Diehl subroutine MatDenseRestoreArray2d(A, array, ierr) 53fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 546dd63270SBarry Smith import tMat 556dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 56*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 57*0da4d79bSMartin Diehl Mat A 5802c639afSMartin Diehl end subroutine 593d1372b2SMartin Diehlend interface MatDenseRestoreArray 606dd63270SBarry Smith 616dd63270SBarry Smithinterface MatDenseGetArrayRead 62*0da4d79bSMartin Diehl subroutine MatDenseGetArrayRead1d(A, array, ierr) 63fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 646dd63270SBarry Smith import tMat 656dd63270SBarry Smith PetscScalar, pointer :: array(:) 66*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 67*0da4d79bSMartin Diehl Mat A 6802c639afSMartin Diehl end subroutine 69*0da4d79bSMartin Diehl subroutine MatDenseGetArrayRead2d(A, array, ierr) 70fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 716dd63270SBarry Smith import tMat 726dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 73*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 74*0da4d79bSMartin Diehl Mat A 7502c639afSMartin Diehl end subroutine 763d1372b2SMartin Diehlend interface MatDenseGetArrayRead 776dd63270SBarry Smith 786dd63270SBarry Smithinterface MatDenseRestoreArrayRead 79*0da4d79bSMartin Diehl subroutine MatDenseRestoreArrayRead1d(A, array, ierr) 80fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 816dd63270SBarry Smith import tMat 826dd63270SBarry Smith PetscScalar, pointer :: array(:) 83*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 84*0da4d79bSMartin Diehl Mat A 8502c639afSMartin Diehl end subroutine 86*0da4d79bSMartin Diehl subroutine MatDenseRestoreArrayRead2d(A, array, ierr) 87fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 886dd63270SBarry Smith import tMat 896dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 90*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 91*0da4d79bSMartin Diehl Mat A 9202c639afSMartin Diehl end subroutine 933d1372b2SMartin Diehlend interface MatDenseRestoreArrayRead 946dd63270SBarry Smith 956dd63270SBarry Smithinterface MatDenseGetArrayWrite 96*0da4d79bSMartin Diehl subroutine MatDenseGetArrayWrite1d(A, array, ierr) 97fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 986dd63270SBarry Smith import tMat 996dd63270SBarry Smith PetscScalar, pointer :: array(:) 100*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 101*0da4d79bSMartin Diehl Mat A 10202c639afSMartin Diehl end subroutine 103*0da4d79bSMartin Diehl subroutine MatDenseGetArrayWrite2d(A, array, ierr) 104fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1056dd63270SBarry Smith import tMat 1066dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 107*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 108*0da4d79bSMartin Diehl Mat A 10902c639afSMartin Diehl end subroutine 1103d1372b2SMartin Diehlend interface MatDenseGetArrayWrite 1116dd63270SBarry Smith 1126dd63270SBarry Smithinterface MatDenseRestoreArrayWrite 113*0da4d79bSMartin Diehl subroutine MatDenseRestoreArrayWrite1d(A, array, ierr) 114fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1156dd63270SBarry Smith import tMat 1166dd63270SBarry Smith PetscScalar, pointer :: array(:) 117*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 118*0da4d79bSMartin Diehl Mat A 11902c639afSMartin Diehl end subroutine 120*0da4d79bSMartin Diehl subroutine MatDenseRestoreArrayWrite2d(A, array, ierr) 121fe66ebccSMartin Diehl use, intrinsic :: ISO_C_binding 1226dd63270SBarry Smith import tMat 1236dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 124*0da4d79bSMartin Diehl PetscErrorCode, intent(out) :: ierr 125*0da4d79bSMartin Diehl Mat A 12602c639afSMartin Diehl end subroutine 1273d1372b2SMartin Diehlend interface MatDenseRestoreArrayWrite 128