PetscOptionsBoundedInt#

Gets an integer value greater than or equal to a given bound for a particular option in the database.

Synopsis#

#include <petscoptions.h>
PetscErrorCode  PetscOptionsBoundedInt(const char opt[], const char text[], const char man[], PetscInt currentvalue, PetscInt *value, PetscBool *set, PetscInt bound)

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

  PetscOptionsBoundedInt(..., obj->value, &obj->value, ...)

or

  value = defaultvalue
  PetscOptionsBoundedInt(..., value, &value, &set, ...);
  if (set) {
  • bound - the requested value should be greater than or equal to this bound 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 that set is PETSC_TRUE.

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

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

See Also#

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

Level#

beginner

Location#

include/petscoptions.h

Examples#

src/dm/field/tutorials/ex1.c
src/dm/tutorials/ex9.c
src/ts/tutorials/ex30.c
src/dm/impls/plex/tutorials/ex8.c
src/dm/impls/plex/tutorials/ex6.c


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