Date: 2025-03-29T05:58:46+00:00

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:       endif

     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:       endif

     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:       endif

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

     35: !/*TEST
     36: !
     37: !   test:
     38: !
     39: !TEST*/