Go to the documentation of this file.
32 uint32 numKeep = numTotal - numRemove;
49 "pFlow::boundaryBaseKernels::createRemoveKeepLists",
53 if(maskD(i)!= maskD(i+1))
54 removeD(maskD(i)) = i;
56 keepD(i-maskD(i)) = i;
75 uint32 numKeep = numTotal - numRemove;
78 removeIndices.
reallocate(numRemove, numRemove);
83 removeIndices.
clear();
84 removeIndices.
resize(numRemove);
87 keepIndices.
resize(numKeep);
100 "pFlow::boundaryBaseKernels::createRemoveKeepLists",
104 if(maskD(i)!= maskD(i+1))
105 removeD(maskD(i)) = indicesD(i);
107 keepD(i-maskD(i)) = indicesD(i);
INLINE_FUNCTION_H void resize(uint32 n)
Resize the vector and preserve the content.
INLINE_FUNCTION_H void reallocate(uint32 cap)
Reallocate memory to new cap and set size to 0.
INLINE_FUNCTION_H void clear()
Clear the vector, but keep the allocated memory unchanged.
void createRemoveKeepLists(uint32 numTotal, uint32 numRemove, const uint32Vector_D &removeMask, uint32Vector_D &removeList, uint32Vector_D &keepList)
void exclusiveScan(Type *first, Type *dFirst, uint32 numElems)
void createRemoveKeepIndices(const uint32Vector_D &indices, uint32 numRemove, const uint32Vector_D &removeMask, uint32Vector_D &removeIndices, uint32Vector_D &keepIndices, bool exactCap=true)
INLINE_FUNCTION_H auto & deviceViewAll()
Device view range [0,capcity)
Kokkos::RangePolicy< Kokkos::DefaultExecutionSpace, Kokkos::Schedule< Kokkos::Static >, Kokkos::IndexType< pFlow::uint32 > > deviceRPolicyStatic
INLINE_FUNCTION_H uint32 size() const
Size of the vector.