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