Skip to main content
`Ctrl`+`K`

# 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 * `numBoxe`s) 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