PetscOptionsRangeInt#

Gets an integer value within a range of values for a particular option in the database.

Synopsis#

#include "petscsys.h"
PetscErrorCode  PetscOptionsRangeInt(const char opt[],const char text[],const char man[],PetscInt currentvalue,PetscInt *value,PetscBool *flg,PetscInt lb,PetscInt ub)

Logically Collective on the communicator passed in PetscOptionsBegin()

Input Parameters#

  • opt - option name

  • text - short string that describes the option

  • man - manual page with additional information on option

  • currentvalue - the current value; caller is responsible for setting this value correctly. Normally this is done with either

                 PetscOptionsInt(..., obj->value,&obj->value,...) or
                 value = defaultvalue
                 PetscOptionsInt(..., value,&value,&flg);
                 if (flg) {
  • lb - the lower bound, provided value must be greater than or equal to this value or an error is generated

  • ub - the upper bound, provided value must be less than or equal to this value or an error is generated

Output Parameters#

Notes#

If the user does not supply the option at all value is NOT changed. Thus you should ALWAYS initialize value if you access it without first checking if flg is PETSC_TRUE.

The currentvalue passed into this routine does not get transferred to the output value variable automatically.

Must be between a PetscOptionsBegin() and a PetscOptionsEnd()

See Also#

PetscOptionsInt(), PetscOptionsGetReal(), PetscOptionsHasName(), PetscOptionsGetString(), PetscOptionsGetInt(), PetscOptionsGetIntArray(), PetscOptionsGetRealArray(), PetscOptionsGetBool(), PetscOptionsBoundedInt() PetscOptionsInt(), PetscOptionsString(), PetscOptionsReal(), PetscOptionsBool(), PetscOptionsName(), PetscOptionsBegin(), PetscOptionsEnd(), PetscOptionsHeadBegin(), PetscOptionsStringArray(), PetscOptionsRealArray(), PetscOptionsScalar(), PetscOptionsBoolGroupBegin(), PetscOptionsBoolGroup(), PetscOptionsBoolGroupEnd(), PetscOptionsFList(), PetscOptionsEList()

Level#

beginner

Location#

src/sys/objects/aoptions.c

Examples#

src/dm/dt/dualspace/impls/lagrange/tutorials/ex1.c
src/dm/dt/dualspace/impls/lagrange/tutorials/ex2.c
src/dm/field/tutorials/ex1.c
src/dm/tutorials/ex22.c


Edit on GitLab

Index of all Sys routines
Table of Contents for all manual pages
Index of all manual pages