Actual source code: ex60f90.F90
1: #include <petsc/finclude/petscsys.h>
2: program ex60F90
3: use petsc
4: implicit none
6: PetscBool :: flg
7: character(len=256) :: outputString
8: PetscScalar, dimension(:), pointer :: sopt
9: PetscBool, dimension(:), pointer :: bopt
10: PetscInt :: nopt
11: PetscErrorCode :: ierr
13: PetscCallA(PetscInitialize(ierr))
14: nopt = 3
15: allocate (bopt(nopt))
16: PetscCallA(PetscOptionsGetBoolArray(PETSC_NULL_OPTIONS, PETSC_NULL_CHARACTER, '-bopt', bopt, nopt, flg, ierr))
17: write (outputString, '("bopt: ",3(l7," ")," nopt: ",i3," flg ",l7,"\n")') bopt, nopt, flg
18: PetscCallA(PetscPrintf(PETSC_COMM_WORLD, outputString, ierr))
20: nopt = 3
21: allocate (sopt(nopt))
22: PetscCallA(PetscOptionsGetScalarArray(PETSC_NULL_OPTIONS, PETSC_NULL_CHARACTER, '-sopt', sopt, nopt, flg, ierr))
23: write (outputString, '("sopt: ",3(es12.5," ")," nopt: ",i3," flg ",l7,"\n")') sopt, nopt, flg
24: PetscCallA(PetscPrintf(PETSC_COMM_WORLD, outputString, ierr))
26: deallocate (bopt)
27: deallocate (sopt)
28: PetscCallA(PetscFinalize(ierr))
29: end program ex60F90
31: !/*TEST
32: !
33: ! test:
34: ! requires: !complex
35: ! suffix: 0
36: ! args: -bopt yes,true,0 -sopt -1,2,3,4
37: !
38: !TEST*/