1 #pragma once 2 #include <petsc/private/vecimpl.h> 3 4 typedef struct { 5 PetscInt nsubs; 6 VecTagger *subs; 7 PetscCopyMode mode; 8 } VecTagger_AndOr; 9 10 PETSC_INTERN PetscErrorCode VecTaggerGetSubs_AndOr(VecTagger, PetscInt *, VecTagger **); 11 PETSC_INTERN PetscErrorCode VecTaggerSetSubs_AndOr(VecTagger, PetscInt, VecTagger *, PetscCopyMode); 12 PETSC_INTERN PetscErrorCode VecTaggerCreate_AndOr(VecTagger); 13 PETSC_INTERN PetscErrorCode VecTaggerAndOrIsSubBox_Private(PetscInt, const VecTaggerBox *, const VecTaggerBox *, PetscBool *); 14 PETSC_INTERN PetscErrorCode VecTaggerAndOrIntersect_Private(PetscInt, const VecTaggerBox *, const VecTaggerBox *, VecTaggerBox *, PetscBool *); 15