1c4762a1bSJed Brown! 2c4762a1bSJed Brown! Example of getting an enum value from the options database in Fortran 3c4762a1bSJed Brown 4c4762a1bSJed Brown#include "petsc/finclude/petsc.h" 5c4762a1bSJed Brown use petsc 6c4762a1bSJed Brown implicit none 7c4762a1bSJed Brown 8c4762a1bSJed Brown PetscErrorCode :: ierr 9c4762a1bSJed Brown Character(len=99) list1(6) 10c4762a1bSJed Brown PetscEnum :: opt=-1 11c4762a1bSJed Brown PetscBool :: set=PETSC_FALSE 12c4762a1bSJed Brown 13*f8402805SBarry Smith PetscCallA(PetscInitialize(PETSC_NULL_CHARACTER,ierr)) 14c4762a1bSJed Brown list1(1) = 'a123' 15c4762a1bSJed Brown list1(2) = 'b456' 16c4762a1bSJed Brown list1(3) = 'c789' 17c4762a1bSJed Brown list1(4) = 'list1' 18c4762a1bSJed Brown list1(5) = 'prefix_' 19c4762a1bSJed Brown list1(6) = '' 20c4762a1bSJed Brown 21c4762a1bSJed Brown write(*,20) list1(1) 22c4762a1bSJed Brown20 format(A99) 23*f8402805SBarry Smith PetscCallA(PetscOptionsGetEnum(PETSC_NULL_OPTIONS,'joe_','-jeff',list1,opt,set,ierr)) 24c4762a1bSJed Brown write(*,*) 'opt is ', opt 25c4762a1bSJed Brown write(*,*) 'set is ', set 26c4762a1bSJed Brown 27*f8402805SBarry Smith PetscCallA(PetscFinalize(ierr)) 28c4762a1bSJed Brown end 29c4762a1bSJed Brown 30c4762a1bSJed Brown! 31c4762a1bSJed Brown!/*TEST 32c4762a1bSJed Brown! 33c4762a1bSJed Brown! build: 34dfd57a17SPierre Jolivet! requires: defined(PETSC_USING_F2003) defined(PETSC_USING_F90FREEFORM) 35c4762a1bSJed Brown! 36c4762a1bSJed Brown! test: 37c4762a1bSJed Brown! args: -joe_jeff b456 38c4762a1bSJed Brown! 39c4762a1bSJed Brown!TEST*/ 40