xref: /petsc/src/sys/tests/ex60f90.F90 (revision fbf9dbe564678ed6eff1806adbc4c4f01b9743f4)
1program ex60F90
2
3#include <petsc/finclude/petscsys.h>
4    use petsc
5    implicit none
6
7    PetscBool                        :: flg
8    Character(len=256)               :: outputString
9    PetscScalar,dimension(:),pointer :: sopt
10    PetscBool,dimension(:),pointer   :: bopt
11    PetscInt                         :: nopt
12    PetscErrorCode                   :: ierr
13
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))
20
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))
26
27    deallocate(bopt)
28    deallocate(sopt)
29    PetscCallA(PetscFinalize(ierr))
30end program ex60F90
31
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*/
40