39 if(parent_ ==
nullptr)
42 decltype(parent_) tmp = parent_->
find();
43#ifdef TTK_ENABLE_OPENMP
44#pragma omp atomic write
59#ifndef TTK_ENABLE_KAMIKAZE
60 if(data_.
states.size() != 1) {
61 std::cout <<
"AtomicUF :: getFirstState : nb state 1 != "
62 << data_.
states.size() << std::endl;
69#ifndef TTK_ENABLE_KAMIKAZE
70 if(
id >= data_.
states.size()) {
71 std::cout <<
"AtomicUF :: getState : " <<
id
72 <<
" >= " << data_.
states.size() << std::endl;
83 return data_.
states.size();
112 const auto &nbState = data_.
states.size();
129#ifdef TTK_ENABLE_OPENMP
130#pragma omp atomic write
136#ifdef TTK_ENABLE_OPENMP
137#pragma omp atomic write
150 uf0->data_.
merge(uf1->data_);
154 uf1->data_.
merge(uf0->data_);
159 uf0->data_.
merge(uf1->data_);
173 for(
int i = 0; i < (int)sets.size() - 1; i++)
180 return rank_ < other.rank_;
184 return rank_ > other.rank_;
TTK processing package that manage a parallel vecrion of vector.
void reset(const std::size_t &nId=0)
void setExtrema(SimplexId v)
void reserveData(const size_t &s)
void addArcToClose(idSuperArc a)
CurrentState * getState(const std::size_t id)
FTMAtomicVector< idSuperArc > & getOpenedArcs()
FTMAtomicVector< CurrentState * > & getStates()
SimplexId getExtrema() const
CurrentState * getFirstState()
bool operator>(const AtomicUF &other) const
AtomicUF(SimplexId extrema=nullVertex)
CurrentState * mergeStates()
void setRank(const int &rank)
void addState(CurrentState *s)
size_t getNbStates() const
static AtomicUF * makeUnion(std::vector< AtomicUF * > &sets)
static AtomicUF * makeUnion(AtomicUF *uf0, AtomicUF *uf1)
void setParent(AtomicUF *parent)
bool operator<(const AtomicUF &other) const
long unsigned int idSuperArc
SuperArc index in vect_superArcs_.
SimplexId valence
for vertex up/down valence
int SimplexId
Identifier type for simplices of any dimension.
void merge(CurrentState &other)
FTMAtomicVector< CurrentState * > states
void addState(CurrentState *curState)
FTMAtomicVector< idSuperArc > openedArcs
void addArc(const idSuperArc arc)
void merge(SharedData &other)
void reserve(const size_t &s)