xref: /petsc/src/sys/tutorials/ex17f.F90 (revision f84028053d197aff3fdf060e86d88b3f1b0f0110)
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
9c4762a1bSJed Brown      PetscInt                          :: major,minor,subminor
1062ac926dSPierre Jolivet      character(len=PETSC_MAX_PATH_LEN) :: outputString
11c4762a1bSJed Brown
12c4762a1bSJed Brown      ! Every PETSc routine should begin with the PetscInitialize() routine.
13c4762a1bSJed Brown
14*f8402805SBarry Smith      PetscCallA(PetscInitialize(PETSC_NULL_CHARACTER,ierr))
15*f8402805SBarry Smith      PetscCallA(PetscGetVersionNumber(major,minor,subminor,PETSC_NULL_INTEGER,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
32*f8402805SBarry Smith      PetscCallA(PetscFinalize(ierr))
33c4762a1bSJed Brownend program main
34c4762a1bSJed Brown
35c4762a1bSJed Brown!/*TEST
36c4762a1bSJed Brown!
37c4762a1bSJed Brown!   test:
38c4762a1bSJed Brown!
39c4762a1bSJed Brown!TEST*/
40