1*6dd63270SBarry Smith module petscmatdef 2*6dd63270SBarry Smith use petscvecdef 3*6dd63270SBarry Smith#include "petsc/finclude/petscmat.h" 4*6dd63270SBarry Smith#include "petsc/finclude/petscmatcoarsen.h" 5*6dd63270SBarry Smith#include "petsc/finclude/petscpartitioner.h" 6*6dd63270SBarry Smith#include "petsc/finclude/petscmathypre.h" 7*6dd63270SBarry Smith#include "petsc/finclude/petscmathtool.h" 8*6dd63270SBarry Smith#include "petsc/finclude/petscmatelemental.h" 9*6dd63270SBarry Smith#include <../ftn/mat/petscmat.h> 10*6dd63270SBarry Smith#include <../ftn/mat/petscmatcoarsen.h> 11*6dd63270SBarry Smith#include <../ftn/mat/petscpartitioner.h> 12*6dd63270SBarry Smith 13*6dd63270SBarry Smith end module 14*6dd63270SBarry Smith 15*6dd63270SBarry Smith! ---------------------------------------------- 16*6dd63270SBarry Smith 17*6dd63270SBarry Smith module petscmat 18*6dd63270SBarry Smith use petscmatdef 19*6dd63270SBarry Smith use petscvec 20*6dd63270SBarry Smith 21*6dd63270SBarry Smith#include <../src/mat/ftn-mod/petscmat.h90> 22*6dd63270SBarry Smith#include <../ftn/mat/petscmat.h90> 23*6dd63270SBarry Smith#include <../ftn/mat/petscmatcoarsen.h90> 24*6dd63270SBarry Smith#include <../ftn/mat/petscpartitioner.h90> 25*6dd63270SBarry Smith 26*6dd63270SBarry Smith! deprecated functions 27*6dd63270SBarry Smith 28*6dd63270SBarry Smith interface MatDenseGetArrayF90 29*6dd63270SBarry Smith module procedure MatDenseGetArrayF901d, MatDenseGetArrayF902d 30*6dd63270SBarry Smith end interface 31*6dd63270SBarry Smith 32*6dd63270SBarry Smith interface MatDenseRestoreArrayF90 33*6dd63270SBarry Smith module procedure MatDenseRestoreArrayF901d, MatDenseRestoreArrayF902d 34*6dd63270SBarry Smith end interface 35*6dd63270SBarry Smith 36*6dd63270SBarry Smith interface MatDenseGetArrayReadF90 37*6dd63270SBarry Smith module procedure MatDenseGetArrayReadF901d, MatDenseGetArrayReadF902d 38*6dd63270SBarry Smith end interface 39*6dd63270SBarry Smith 40*6dd63270SBarry Smith interface MatDenseRestoreArrayReadF90 41*6dd63270SBarry Smith module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d 42*6dd63270SBarry Smith end interface 43*6dd63270SBarry Smith 44*6dd63270SBarry Smith interface MatDenseGetArrayWriteF90 45*6dd63270SBarry Smith module procedure MatDenseGetArrayWriteF901d, MatDenseGetArrayWriteF902d 46*6dd63270SBarry Smith end interface 47*6dd63270SBarry Smith 48*6dd63270SBarry Smith interface MatDenseRestoreArrayWriteF90 49*6dd63270SBarry Smith module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d 50*6dd63270SBarry Smith end interface 51*6dd63270SBarry Smith 52*6dd63270SBarry Smith contains 53*6dd63270SBarry Smith 54*6dd63270SBarry Smith#include <../ftn/mat/petscmat.hf90> 55*6dd63270SBarry Smith#include <../ftn/mat/petscmatcoarsen.hf90> 56*6dd63270SBarry Smith#include <../ftn/mat/petscpartitioner.hf90> 57*6dd63270SBarry Smith 58*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 59*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF901d 60*6dd63270SBarry Smith#endif 61*6dd63270SBarry Smith Subroutine MatDenseGetArrayF901d(v,array,ierr) 62*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 63*6dd63270SBarry Smith PetscErrorCode ierr 64*6dd63270SBarry Smith Mat v 65*6dd63270SBarry Smith call MatDenseGetArray(v,array,ierr) 66*6dd63270SBarry Smith End Subroutine 67*6dd63270SBarry Smith 68*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 69*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF901d 70*6dd63270SBarry Smith#endif 71*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayF901d(v,array,ierr) 72*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 73*6dd63270SBarry Smith PetscErrorCode ierr 74*6dd63270SBarry Smith Mat v 75*6dd63270SBarry Smith call MatDenseRestoreArray(v,array,ierr) 76*6dd63270SBarry Smith End Subroutine 77*6dd63270SBarry Smith 78*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 79*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF901d 80*6dd63270SBarry Smith#endif 81*6dd63270SBarry Smith Subroutine MatDenseGetArrayReadF901d(v,array,ierr) 82*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 83*6dd63270SBarry Smith PetscErrorCode ierr 84*6dd63270SBarry Smith Mat v 85*6dd63270SBarry Smith call MatDenseGetArrayRead(v,array,ierr) 86*6dd63270SBarry Smith End Subroutine 87*6dd63270SBarry Smith 88*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 89*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF901d 90*6dd63270SBarry Smith#endif 91*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayReadF901d(v,array,ierr) 92*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 93*6dd63270SBarry Smith PetscErrorCode ierr 94*6dd63270SBarry Smith Mat v 95*6dd63270SBarry Smith call MatDenseRestoreArrayRead(v,array,ierr) 96*6dd63270SBarry Smith End Subroutine 97*6dd63270SBarry Smith 98*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 99*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF901d 100*6dd63270SBarry Smith#endif 101*6dd63270SBarry Smith Subroutine MatDenseGetArrayWriteF901d(v,array,ierr) 102*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 103*6dd63270SBarry Smith PetscErrorCode ierr 104*6dd63270SBarry Smith Mat v 105*6dd63270SBarry Smith call MatDenseGetArrayWrite(v,array,ierr) 106*6dd63270SBarry Smith End Subroutine 107*6dd63270SBarry Smith 108*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 109*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF901d 110*6dd63270SBarry Smith#endif 111*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayWriteF901d(v,array,ierr) 112*6dd63270SBarry Smith PetscScalar, pointer :: array(:) 113*6dd63270SBarry Smith PetscErrorCode ierr 114*6dd63270SBarry Smith Mat v 115*6dd63270SBarry Smith call MatDenseRestoreArrayWrite(v,array,ierr) 116*6dd63270SBarry Smith End Subroutine 117*6dd63270SBarry Smith 118*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 119*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF902d 120*6dd63270SBarry Smith#endif 121*6dd63270SBarry Smith Subroutine MatDenseGetArrayF902d(v,array,ierr) 122*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 123*6dd63270SBarry Smith PetscErrorCode ierr 124*6dd63270SBarry Smith Mat v 125*6dd63270SBarry Smith call MatDenseGetArray(v,array,ierr) 126*6dd63270SBarry Smith End Subroutine 127*6dd63270SBarry Smith 128*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 129*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF902d 130*6dd63270SBarry Smith#endif 131*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayF902d(v,array,ierr) 132*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 133*6dd63270SBarry Smith PetscErrorCode ierr 134*6dd63270SBarry Smith Mat v 135*6dd63270SBarry Smith call MatDenseRestoreArray(v,array,ierr) 136*6dd63270SBarry Smith End Subroutine 137*6dd63270SBarry Smith 138*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 139*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF902d 140*6dd63270SBarry Smith#endif 141*6dd63270SBarry Smith Subroutine MatDenseGetArrayReadF902d(v,array,ierr) 142*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 143*6dd63270SBarry Smith PetscErrorCode ierr 144*6dd63270SBarry Smith Mat v 145*6dd63270SBarry Smith call MatDenseGetArrayRead(v,array,ierr) 146*6dd63270SBarry Smith End Subroutine 147*6dd63270SBarry Smith 148*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 149*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF90 150*6dd63270SBarry Smith#endif 151*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayReadF902d(v,array,ierr) 152*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 153*6dd63270SBarry Smith PetscErrorCode ierr 154*6dd63270SBarry Smith Mat v 155*6dd63270SBarry Smith call MatDenseRestoreArrayRead(v,array,ierr) 156*6dd63270SBarry Smith End Subroutine 157*6dd63270SBarry Smith 158*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 159*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF90 160*6dd63270SBarry Smith#endif 161*6dd63270SBarry Smith Subroutine MatDenseGetArrayWriteF902d(v,array,ierr) 162*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 163*6dd63270SBarry Smith PetscErrorCode ierr 164*6dd63270SBarry Smith Mat v 165*6dd63270SBarry Smith call MatDenseGetArrayWrite(v,array,ierr) 166*6dd63270SBarry Smith End Subroutine 167*6dd63270SBarry Smith 168*6dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 169*6dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF90 170*6dd63270SBarry Smith#endif 171*6dd63270SBarry Smith Subroutine MatDenseRestoreArrayWriteF902d(v,array,ierr) 172*6dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 173*6dd63270SBarry Smith PetscErrorCode ierr 174*6dd63270SBarry Smith Mat v 175*6dd63270SBarry Smith call MatDenseRestoreArrayWrite(v,array,ierr) 176*6dd63270SBarry Smith End Subroutine 177*6dd63270SBarry Smith 178*6dd63270SBarry Smith end module 179