16dd63270SBarry Smith module petscmatdef 2*fe66ebccSMartin Diehluse, intrinsic :: ISO_C_binding 36dd63270SBarry Smith use petscvecdef 46dd63270SBarry Smith#include "petsc/finclude/petscmat.h" 56dd63270SBarry Smith#include "petsc/finclude/petscmatcoarsen.h" 66dd63270SBarry Smith#include "petsc/finclude/petscpartitioner.h" 76dd63270SBarry Smith#include "petsc/finclude/petscmathypre.h" 86dd63270SBarry Smith#include "petsc/finclude/petscmathtool.h" 96dd63270SBarry Smith#include "petsc/finclude/petscmatelemental.h" 106dd63270SBarry Smith#include <../ftn/mat/petscmat.h> 116dd63270SBarry Smith#include <../ftn/mat/petscmatcoarsen.h> 126dd63270SBarry Smith#include <../ftn/mat/petscpartitioner.h> 136dd63270SBarry Smith 146dd63270SBarry Smith end module 156dd63270SBarry Smith 166dd63270SBarry Smith! ---------------------------------------------- 176dd63270SBarry Smith 186dd63270SBarry Smith module petscmat 196dd63270SBarry Smith use petscmatdef 206dd63270SBarry Smith use petscvec 216dd63270SBarry Smith 226dd63270SBarry Smith#include <../src/mat/ftn-mod/petscmat.h90> 236dd63270SBarry Smith#include <../ftn/mat/petscmat.h90> 246dd63270SBarry Smith#include <../ftn/mat/petscmatcoarsen.h90> 256dd63270SBarry Smith#include <../ftn/mat/petscpartitioner.h90> 266dd63270SBarry Smith 276dd63270SBarry Smith! deprecated functions 286dd63270SBarry Smith 296dd63270SBarry Smith interface MatDenseGetArrayF90 306dd63270SBarry Smith module procedure MatDenseGetArrayF901d, MatDenseGetArrayF902d 316dd63270SBarry Smith end interface 326dd63270SBarry Smith 336dd63270SBarry Smith interface MatDenseRestoreArrayF90 346dd63270SBarry Smith module procedure MatDenseRestoreArrayF901d, MatDenseRestoreArrayF902d 356dd63270SBarry Smith end interface 366dd63270SBarry Smith 376dd63270SBarry Smith interface MatDenseGetArrayReadF90 386dd63270SBarry Smith module procedure MatDenseGetArrayReadF901d, MatDenseGetArrayReadF902d 396dd63270SBarry Smith end interface 406dd63270SBarry Smith 416dd63270SBarry Smith interface MatDenseRestoreArrayReadF90 426dd63270SBarry Smith module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d 436dd63270SBarry Smith end interface 446dd63270SBarry Smith 456dd63270SBarry Smith interface MatDenseGetArrayWriteF90 466dd63270SBarry Smith module procedure MatDenseGetArrayWriteF901d, MatDenseGetArrayWriteF902d 476dd63270SBarry Smith end interface 486dd63270SBarry Smith 496dd63270SBarry Smith interface MatDenseRestoreArrayWriteF90 506dd63270SBarry Smith module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d 516dd63270SBarry Smith end interface 526dd63270SBarry Smith 536dd63270SBarry Smith contains 546dd63270SBarry Smith 556dd63270SBarry Smith#include <../ftn/mat/petscmat.hf90> 566dd63270SBarry Smith#include <../ftn/mat/petscmatcoarsen.hf90> 576dd63270SBarry Smith#include <../ftn/mat/petscpartitioner.hf90> 586dd63270SBarry Smith 596dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 606dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF901d 616dd63270SBarry Smith#endif 626dd63270SBarry Smith Subroutine MatDenseGetArrayF901d(v,array,ierr) 636dd63270SBarry Smith PetscScalar, pointer :: array(:) 646dd63270SBarry Smith PetscErrorCode ierr 656dd63270SBarry Smith Mat v 666dd63270SBarry Smith call MatDenseGetArray(v,array,ierr) 676dd63270SBarry Smith End Subroutine 686dd63270SBarry Smith 696dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 706dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF901d 716dd63270SBarry Smith#endif 726dd63270SBarry Smith Subroutine MatDenseRestoreArrayF901d(v,array,ierr) 736dd63270SBarry Smith PetscScalar, pointer :: array(:) 746dd63270SBarry Smith PetscErrorCode ierr 756dd63270SBarry Smith Mat v 766dd63270SBarry Smith call MatDenseRestoreArray(v,array,ierr) 776dd63270SBarry Smith End Subroutine 786dd63270SBarry Smith 796dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 806dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF901d 816dd63270SBarry Smith#endif 826dd63270SBarry Smith Subroutine MatDenseGetArrayReadF901d(v,array,ierr) 836dd63270SBarry Smith PetscScalar, pointer :: array(:) 846dd63270SBarry Smith PetscErrorCode ierr 856dd63270SBarry Smith Mat v 866dd63270SBarry Smith call MatDenseGetArrayRead(v,array,ierr) 876dd63270SBarry Smith End Subroutine 886dd63270SBarry Smith 896dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 906dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF901d 916dd63270SBarry Smith#endif 926dd63270SBarry Smith Subroutine MatDenseRestoreArrayReadF901d(v,array,ierr) 936dd63270SBarry Smith PetscScalar, pointer :: array(:) 946dd63270SBarry Smith PetscErrorCode ierr 956dd63270SBarry Smith Mat v 966dd63270SBarry Smith call MatDenseRestoreArrayRead(v,array,ierr) 976dd63270SBarry Smith End Subroutine 986dd63270SBarry Smith 996dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1006dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF901d 1016dd63270SBarry Smith#endif 1026dd63270SBarry Smith Subroutine MatDenseGetArrayWriteF901d(v,array,ierr) 1036dd63270SBarry Smith PetscScalar, pointer :: array(:) 1046dd63270SBarry Smith PetscErrorCode ierr 1056dd63270SBarry Smith Mat v 1066dd63270SBarry Smith call MatDenseGetArrayWrite(v,array,ierr) 1076dd63270SBarry Smith End Subroutine 1086dd63270SBarry Smith 1096dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1106dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF901d 1116dd63270SBarry Smith#endif 1126dd63270SBarry Smith Subroutine MatDenseRestoreArrayWriteF901d(v,array,ierr) 1136dd63270SBarry Smith PetscScalar, pointer :: array(:) 1146dd63270SBarry Smith PetscErrorCode ierr 1156dd63270SBarry Smith Mat v 1166dd63270SBarry Smith call MatDenseRestoreArrayWrite(v,array,ierr) 1176dd63270SBarry Smith End Subroutine 1186dd63270SBarry Smith 1196dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1206dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF902d 1216dd63270SBarry Smith#endif 1226dd63270SBarry Smith Subroutine MatDenseGetArrayF902d(v,array,ierr) 1236dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 1246dd63270SBarry Smith PetscErrorCode ierr 1256dd63270SBarry Smith Mat v 1266dd63270SBarry Smith call MatDenseGetArray(v,array,ierr) 1276dd63270SBarry Smith End Subroutine 1286dd63270SBarry Smith 1296dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1306dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF902d 1316dd63270SBarry Smith#endif 1326dd63270SBarry Smith Subroutine MatDenseRestoreArrayF902d(v,array,ierr) 1336dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 1346dd63270SBarry Smith PetscErrorCode ierr 1356dd63270SBarry Smith Mat v 1366dd63270SBarry Smith call MatDenseRestoreArray(v,array,ierr) 1376dd63270SBarry Smith End Subroutine 1386dd63270SBarry Smith 1396dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1406dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF902d 1416dd63270SBarry Smith#endif 1426dd63270SBarry Smith Subroutine MatDenseGetArrayReadF902d(v,array,ierr) 1436dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 1446dd63270SBarry Smith PetscErrorCode ierr 1456dd63270SBarry Smith Mat v 1466dd63270SBarry Smith call MatDenseGetArrayRead(v,array,ierr) 1476dd63270SBarry Smith End Subroutine 1486dd63270SBarry Smith 1496dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1506dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF90 1516dd63270SBarry Smith#endif 1526dd63270SBarry Smith Subroutine MatDenseRestoreArrayReadF902d(v,array,ierr) 1536dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 1546dd63270SBarry Smith PetscErrorCode ierr 1556dd63270SBarry Smith Mat v 1566dd63270SBarry Smith call MatDenseRestoreArrayRead(v,array,ierr) 1576dd63270SBarry Smith End Subroutine 1586dd63270SBarry Smith 1596dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1606dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF90 1616dd63270SBarry Smith#endif 1626dd63270SBarry Smith Subroutine MatDenseGetArrayWriteF902d(v,array,ierr) 1636dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 1646dd63270SBarry Smith PetscErrorCode ierr 1656dd63270SBarry Smith Mat v 1666dd63270SBarry Smith call MatDenseGetArrayWrite(v,array,ierr) 1676dd63270SBarry Smith End Subroutine 1686dd63270SBarry Smith 1696dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1706dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF90 1716dd63270SBarry Smith#endif 1726dd63270SBarry Smith Subroutine MatDenseRestoreArrayWriteF902d(v,array,ierr) 1736dd63270SBarry Smith PetscScalar, pointer :: array(:,:) 1746dd63270SBarry Smith PetscErrorCode ierr 1756dd63270SBarry Smith Mat v 1766dd63270SBarry Smith call MatDenseRestoreArrayWrite(v,array,ierr) 1776dd63270SBarry Smith End Subroutine 1786dd63270SBarry Smith 1796dd63270SBarry Smith end module 180