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