xref: /petsc/src/sys/tests/ex60f90.F90 (revision b0c0aa2b402794874120526435a0fac3e9105b95)
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