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