VecTaggerComputeBoxes#

If the tagged index set can be summarized as a list of boxes of values, returns that list, otherwise returns in listed PETSC_FALSE

Synopsis#

#include "petscvec.h" 
PetscErrorCode VecTaggerComputeBoxes(VecTagger tagger, Vec vec, PetscInt *numBoxes, VecTaggerBox **boxes, PetscBool *listed)

Collective

Input Parameters#

  • tagger - the VecTagger context

  • vec - the vec to tag

Output Parameters#

  • numBoxes - the number of boxes in the tag definition

  • boxes - a newly allocated list of boxes. This is a flat array of (BlockSize * numBoxes) pairs that the user can free with PetscFree().

  • listed - PETSC_TRUE if a list was created, pass in NULL if not needed

Note#

A value is tagged if it is in any of the boxes, unless the tagger has been inverted (see VecTaggerSetInvert()/VecTaggerGetInvert()), in which case a value is tagged if it is in none of the boxes.

See Also#

VecTaggerComputeIS(), VecTagger, VecTaggerCreate()

Level#

advanced

Location#

src/vec/vec/utils/tagger/interface/tagger.c

Examples#

src/vec/vec/utils/tagger/tutorials/ex1.c

Implementations#

VecTaggerComputeBoxes_Absolute() in src/vec/vec/utils/tagger/impls/absolute.c
VecTaggerComputeBoxes_And() in src/vec/vec/utils/tagger/impls/and.c
VecTaggerComputeBoxes_CDF() in src/vec/vec/utils/tagger/impls/cdf.c
VecTaggerComputeBoxes_Or() in src/vec/vec/utils/tagger/impls/or.c
VecTaggerComputeBoxes_Relative() in src/vec/vec/utils/tagger/impls/relative.c


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