Actual source code: ex17f.F90

  1: ! Demonstrates PetscGetVersionNumber(): Fortran Example

  3: program main
  4: #include <petsc/finclude/petscsys.h>
  5:   use petscsys

  7:   implicit none
  8:   PetscErrorCode                    :: ierr
  9:   PetscInt                          :: major, minor, subminor, release
 10:   character(len=PETSC_MAX_PATH_LEN) :: outputString

 12:   ! Every PETSc routine should begin with the PetscInitialize() routine.

 14:   PetscCallA(PetscInitialize(ierr))
 15:   PetscCallA(PetscGetVersionNumber(major, minor, subminor, release, ierr))

 17:   if (major /= PETSC_VERSION_MAJOR) then
 18:     write (outputString, *) 'Library major', major, 'does not equal include', PETSC_VERSION_MAJOR
 19:     SETERRA(PETSC_COMM_SELF, PETSC_ERR_PLIB, trim(outputString))
 20:   end if

 22:   if (minor /= PETSC_VERSION_MINOR) then
 23:     write (outputString, *) 'Library minor', minor, 'does not equal include', PETSC_VERSION_MINOR
 24:     SETERRA(PETSC_COMM_SELF, PETSC_ERR_PLIB, trim(outputString))
 25:   end if

 27:   if (subminor /= PETSC_VERSION_SUBMINOR) then
 28:     write (outputString, *) 'Library subminor', subminor, 'does not equal include', PETSC_VERSION_SUBMINOR
 29:     SETERRA(PETSC_COMM_SELF, PETSC_ERR_PLIB, trim(outputString))
 30:   end if

 32:   PetscCallA(PetscFinalize(ierr))
 33: end program main

 35: !/*TEST
 36: !
 37: !   test:
 38: !     output_file: output/empty.out
 39: !
 40: !TEST*/