PetscOptionsRangeInt#

Gets an integer value within a range of values for a particular option in the database. Logically Collective on the communicator passed in PetscOptionsBegin()

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)

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 the set flag is true.

The default/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/tutorials/ex22.c.html
src/dm/dt/dualspace/impls/lagrange/tutorials/ex1.c.html
src/dm/dt/dualspace/impls/lagrange/tutorials/ex2.c.html
src/dm/field/tutorials/ex1.c.html


Edit on GitLab

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