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