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