xref: /petsc/src/sys/tutorials/ex17f.F90 (revision cc4c1da905d89950b196b027190941013bd3e15a)
1c4762a1bSJed Brown! Demonstrates PetscGetVersionNumber(): Fortran Example
2c4762a1bSJed Brown
3c4762a1bSJed Brownprogram main
4c4762a1bSJed Brown#include <petsc/finclude/petscsys.h>
5c4762a1bSJed Brown      use petscsys
6c4762a1bSJed Brown
7c4762a1bSJed Brown      implicit none
8c4762a1bSJed Brown      PetscErrorCode                    :: ierr
9*cc4c1da9SBarry Smith      PetscInt                          :: major,minor,subminor,release
1062ac926dSPierre Jolivet      character(len=PETSC_MAX_PATH_LEN) :: outputString
11c4762a1bSJed Brown
12c4762a1bSJed Brown      ! Every PETSc routine should begin with the PetscInitialize() routine.
13c4762a1bSJed Brown
14d8606c27SBarry Smith      PetscCallA(PetscInitialize(ierr))
15*cc4c1da9SBarry Smith      PetscCallA(PetscGetVersionNumber(major,minor,subminor,release,ierr))
16c4762a1bSJed Brown
17c4762a1bSJed Brown      if (major /= PETSC_VERSION_MAJOR) then
18c4762a1bSJed Brown        write(outputString,*)'Library major',major,'does not equal include',PETSC_VERSION_MAJOR
19c4762a1bSJed Brown        SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString))
20c4762a1bSJed Brown      endif
21c4762a1bSJed Brown
22c4762a1bSJed Brown      if (minor /= PETSC_VERSION_MINOR) then
23c4762a1bSJed Brown        write(outputString,*)'Library minor',minor,'does not equal include',PETSC_VERSION_MINOR
24c4762a1bSJed Brown        SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString))
25c4762a1bSJed Brown      endif
26c4762a1bSJed Brown
27c4762a1bSJed Brown      if (subminor /= PETSC_VERSION_SUBMINOR) then
28c4762a1bSJed Brown        write(outputString,*)'Library subminor',subminor,'does not equal include',PETSC_VERSION_SUBMINOR
29c4762a1bSJed Brown        SETERRA(PETSC_COMM_SELF,PETSC_ERR_PLIB,trim(outputString))
30c4762a1bSJed Brown      endif
31c4762a1bSJed Brown
32f8402805SBarry Smith      PetscCallA(PetscFinalize(ierr))
33c4762a1bSJed Brownend program main
34c4762a1bSJed Brown
35c4762a1bSJed Brown!/*TEST
36c4762a1bSJed Brown!
37c4762a1bSJed Brown!   test:
38c4762a1bSJed Brown!
39c4762a1bSJed Brown!TEST*/
40