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*/