16dd63270SBarry Smithmodule petscmatdef 2fe66ebccSMartin Diehl use, 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 Smithend module 156dd63270SBarry Smith 166dd63270SBarry Smithmodule petscmat 176dd63270SBarry Smith use petscmatdef 186dd63270SBarry Smith use petscvec 196dd63270SBarry Smith 206dd63270SBarry Smith#include <../src/mat/ftn-mod/petscmat.h90> 216dd63270SBarry Smith#include <../ftn/mat/petscmat.h90> 226dd63270SBarry Smith#include <../ftn/mat/petscmatcoarsen.h90> 236dd63270SBarry Smith#include <../ftn/mat/petscpartitioner.h90> 246dd63270SBarry Smith 256dd63270SBarry Smith! deprecated functions 266dd63270SBarry Smith 276dd63270SBarry Smith interface MatDenseGetArrayF90 286dd63270SBarry Smith module procedure MatDenseGetArrayF901d, MatDenseGetArrayF902d 296dd63270SBarry Smith end interface 306dd63270SBarry Smith 316dd63270SBarry Smith interface MatDenseRestoreArrayF90 326dd63270SBarry Smith module procedure MatDenseRestoreArrayF901d, MatDenseRestoreArrayF902d 336dd63270SBarry Smith end interface 346dd63270SBarry Smith 356dd63270SBarry Smith interface MatDenseGetArrayReadF90 366dd63270SBarry Smith module procedure MatDenseGetArrayReadF901d, MatDenseGetArrayReadF902d 376dd63270SBarry Smith end interface 386dd63270SBarry Smith 396dd63270SBarry Smith interface MatDenseRestoreArrayReadF90 406dd63270SBarry Smith module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d 416dd63270SBarry Smith end interface 426dd63270SBarry Smith 436dd63270SBarry Smith interface MatDenseGetArrayWriteF90 446dd63270SBarry Smith module procedure MatDenseGetArrayWriteF901d, MatDenseGetArrayWriteF902d 456dd63270SBarry Smith end interface 466dd63270SBarry Smith 476dd63270SBarry Smith interface MatDenseRestoreArrayWriteF90 486dd63270SBarry Smith module procedure MatDenseRestoreArrayWriteF901d, MatDenseRestoreArrayWriteF902d 496dd63270SBarry Smith end interface 506dd63270SBarry Smith 516dd63270SBarry Smithcontains 526dd63270SBarry Smith 536dd63270SBarry Smith#include <../ftn/mat/petscmat.hf90> 546dd63270SBarry Smith#include <../ftn/mat/petscmatcoarsen.hf90> 556dd63270SBarry Smith#include <../ftn/mat/petscpartitioner.hf90> 566dd63270SBarry Smith 576dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 586dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF901d 596dd63270SBarry Smith#endif 60*02c639afSMartin Diehl subroutine MatDenseGetArrayF901d(v, array, ierr) 616dd63270SBarry Smith PetscScalar, pointer :: array(:) 626dd63270SBarry Smith PetscErrorCode ierr 636dd63270SBarry Smith Mat v 646dd63270SBarry Smith call MatDenseGetArray(v, array, ierr) 65*02c639afSMartin Diehl end subroutine 666dd63270SBarry Smith 676dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 686dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF901d 696dd63270SBarry Smith#endif 70*02c639afSMartin Diehl subroutine MatDenseRestoreArrayF901d(v, array, ierr) 716dd63270SBarry Smith PetscScalar, pointer :: array(:) 726dd63270SBarry Smith PetscErrorCode ierr 736dd63270SBarry Smith Mat v 746dd63270SBarry Smith call MatDenseRestoreArray(v, array, ierr) 75*02c639afSMartin Diehl end subroutine 766dd63270SBarry Smith 776dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 786dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF901d 796dd63270SBarry Smith#endif 80*02c639afSMartin Diehl subroutine MatDenseGetArrayReadF901d(v, array, ierr) 816dd63270SBarry Smith PetscScalar, pointer :: array(:) 826dd63270SBarry Smith PetscErrorCode ierr 836dd63270SBarry Smith Mat v 846dd63270SBarry Smith call MatDenseGetArrayRead(v, array, ierr) 85*02c639afSMartin Diehl end subroutine 866dd63270SBarry Smith 876dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 886dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF901d 896dd63270SBarry Smith#endif 90*02c639afSMartin Diehl subroutine MatDenseRestoreArrayReadF901d(v, array, ierr) 916dd63270SBarry Smith PetscScalar, pointer :: array(:) 926dd63270SBarry Smith PetscErrorCode ierr 936dd63270SBarry Smith Mat v 946dd63270SBarry Smith call MatDenseRestoreArrayRead(v, array, ierr) 95*02c639afSMartin Diehl end subroutine 966dd63270SBarry Smith 976dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 986dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF901d 996dd63270SBarry Smith#endif 100*02c639afSMartin Diehl subroutine MatDenseGetArrayWriteF901d(v, array, ierr) 1016dd63270SBarry Smith PetscScalar, pointer :: array(:) 1026dd63270SBarry Smith PetscErrorCode ierr 1036dd63270SBarry Smith Mat v 1046dd63270SBarry Smith call MatDenseGetArrayWrite(v, array, ierr) 105*02c639afSMartin Diehl end subroutine 1066dd63270SBarry Smith 1076dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1086dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF901d 1096dd63270SBarry Smith#endif 110*02c639afSMartin Diehl subroutine MatDenseRestoreArrayWriteF901d(v, array, ierr) 1116dd63270SBarry Smith PetscScalar, pointer :: array(:) 1126dd63270SBarry Smith PetscErrorCode ierr 1136dd63270SBarry Smith Mat v 1146dd63270SBarry Smith call MatDenseRestoreArrayWrite(v, array, ierr) 115*02c639afSMartin Diehl end subroutine 1166dd63270SBarry Smith 1176dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1186dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayF902d 1196dd63270SBarry Smith#endif 120*02c639afSMartin Diehl subroutine MatDenseGetArrayF902d(v, array, ierr) 1216dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 1226dd63270SBarry Smith PetscErrorCode ierr 1236dd63270SBarry Smith Mat v 1246dd63270SBarry Smith call MatDenseGetArray(v, array, ierr) 125*02c639afSMartin Diehl end subroutine 1266dd63270SBarry Smith 1276dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1286dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayF902d 1296dd63270SBarry Smith#endif 130*02c639afSMartin Diehl subroutine MatDenseRestoreArrayF902d(v, array, ierr) 1316dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 1326dd63270SBarry Smith PetscErrorCode ierr 1336dd63270SBarry Smith Mat v 1346dd63270SBarry Smith call MatDenseRestoreArray(v, array, ierr) 135*02c639afSMartin Diehl end subroutine 1366dd63270SBarry Smith 1376dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1386dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayReadF902d 1396dd63270SBarry Smith#endif 140*02c639afSMartin Diehl subroutine MatDenseGetArrayReadF902d(v, array, ierr) 1416dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 1426dd63270SBarry Smith PetscErrorCode ierr 1436dd63270SBarry Smith Mat v 1446dd63270SBarry Smith call MatDenseGetArrayRead(v, array, ierr) 145*02c639afSMartin Diehl end subroutine 1466dd63270SBarry Smith 1476dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1486dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayReadF90 1496dd63270SBarry Smith#endif 150*02c639afSMartin Diehl subroutine MatDenseRestoreArrayReadF902d(v, array, ierr) 1516dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 1526dd63270SBarry Smith PetscErrorCode ierr 1536dd63270SBarry Smith Mat v 1546dd63270SBarry Smith call MatDenseRestoreArrayRead(v, array, ierr) 155*02c639afSMartin Diehl end subroutine 1566dd63270SBarry Smith 1576dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1586dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseGetArrayWriteF90 1596dd63270SBarry Smith#endif 160*02c639afSMartin Diehl subroutine MatDenseGetArrayWriteF902d(v, array, ierr) 1616dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 1626dd63270SBarry Smith PetscErrorCode ierr 1636dd63270SBarry Smith Mat v 1646dd63270SBarry Smith call MatDenseGetArrayWrite(v, array, ierr) 165*02c639afSMartin Diehl end subroutine 1666dd63270SBarry Smith 1676dd63270SBarry Smith#if defined(_WIN32) && defined(PETSC_USE_SHARED_LIBRARIES) 1686dd63270SBarry Smith!DEC$ ATTRIBUTES DLLEXPORT:: MatDenseRestoreArrayWriteF90 1696dd63270SBarry Smith#endif 170*02c639afSMartin Diehl subroutine MatDenseRestoreArrayWriteF902d(v, array, ierr) 1716dd63270SBarry Smith PetscScalar, pointer :: array(:, :) 1726dd63270SBarry Smith PetscErrorCode ierr 1736dd63270SBarry Smith Mat v 1746dd63270SBarry Smith call MatDenseRestoreArrayWrite(v, array, ierr) 175*02c639afSMartin Diehl end subroutine 1766dd63270SBarry Smith 1776dd63270SBarry Smithend module 178