Actual source code: ex8f90.F90

  1: !
  2: !   Example of getting an enum value from the options database in Fortran
  3: #include "petsc/finclude/petsc.h"
  4:       use petsc
  5:       implicit none

  7:       PetscErrorCode                            :: ierr
  8:       character(len=99) list1(6)
  9:       PetscEnum                                 :: opt = -1
 10:       PetscBool                                 :: set = PETSC_FALSE

 12:       PetscCallA(PetscInitialize(ierr))
 13:       list1(1) = 'a123'
 14:       list1(2) = 'b456'
 15:       list1(3) = 'c789'
 16:       list1(4) = 'list1'
 17:       list1(5) = 'prefix_'
 18:       list1(6) = ''

 20:       write (*, 20) list1(1)
 21: 20    format(A99)
 22:       PetscCallA(PetscOptionsGetEnum(PETSC_NULL_OPTIONS, 'joe_', '-jeff', list1, opt, set, ierr))
 23:       write (*, *) 'opt is ', opt
 24:       write (*, *) 'set is ', set

 26:       PetscCallA(PetscFinalize(ierr))
 27:     end

 29: !
 30: !/*TEST
 31: !
 32: !   test:
 33: !      args: -joe_jeff b456
 34: !
 35: !TEST*/