23 for ( I i = range.begin(); i < range.end(); i++ )
25 if ( region && !region->test( i ) )
31 if constexpr ( !std::is_unsigned_v<T> )
32 absVal = (T)std::abs( val );
33 if ( absVal >= *topExcluding )
36 curr.include( val, i );
50template<
typename T,
typename Itag>
70 return { mma.min, mma.max };
77std::pair<T, T>
parallelMinMax(
const std::vector<T>& vec,
const BitSet* region =
nullptr,
const T * topExcluding =
nullptr )
79 return parallelMinMax( vec.data(), vec.size(), region, topExcluding );
85template<
typename T,
typename Itag>
88 return parallelMinMax( vec.data(), vec.size(), region, topExcluding );
stores index of some element, it is made as template class to avoid mixing faces, edges and vertices
Definition MRId.h:19
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
ImVec2 size(const ViewportRectangle &rect)
Definition MRViewport.h:32
std::pair< T, T > parallelMinMax(const T *data, size_t size, const BitSet *region=nullptr, const T *topExcluding=nullptr)
Definition MRParallelMinMax.h:67
MinMaxArg< T, size_t > parallelMinMaxArg(const T *data, size_t size, const BitSet *region=nullptr, const T *topExcluding=nullptr)
Definition MRParallelMinMax.h:17
void include(const std::pair< T, I > &p)
changes min(Arg) and max(Arg) if necessary to include given point
Definition MRMinMaxArg.h:91
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRMinMaxArg.h:82