Struct quantile::detail::Centroids

template<typename RealType, typename IndexType>
struct Centroids

Public Functions

Centroids()
DEVICE Centroids(RealType *sums, IndexType *counts, IndexType const size)
DEVICE Centroids(VectorView<RealType> sums, VectorView<IndexType> counts)
DEVICE void quantile::detail::Centroids::appendAndSortCurrent(Centroids & buff)
DEVICE IndexType quantile::detail::Centroids::capacity() const
DEVICE void quantile::detail::Centroids::clear()
DEVICE IndexType quantile::detail::Centroids::currCount() const
DEVICE RealType quantile::detail::Centroids::currMean() const
DEVICE bool quantile::detail::Centroids::hasCurr() const
DEVICE bool quantile::detail::Centroids::hasNext() const
DEVICE RealType quantile::detail::Centroids::mean(IndexType const i) const
DEVICE bool quantile::detail::Centroids::mergeIfFits(Centroids & centroid, IndexType const max_count)
DEVICE void quantile::detail::Centroids::moveNextToCurrent()
DEVICE IndexType quantile::detail::Centroids::nextCount() const
DEVICE RealType quantile::detail::Centroids::nextSum() const
DEVICE bool quantile::detail::Centroids::operator<(Centroids const & b) const
DEVICE void quantile::detail::Centroids::push_back(RealType const value, RealType const count)
DEVICE void quantile::detail::Centroids::resetIndices(bool const forward)
DEVICE size_t quantile::detail::Centroids::size() const
DEVICE IndexType quantile::detail::Centroids::totalWeight() const

Public Members

IndexType curr_idx_
IndexType next_idx_
int inc_
VectorView<RealType> sums_
VectorView<IndexType> counts_
RealType max_ = {-infinity}
RealType min_ = {infinity}

Public Static Attributes

constexpr RealType infinity = std::numeric_limits<RealType>::infinity()
constexpr RealType nan = std::numeric_limits<RealType>::quiet_NaN()

Friends

template<typename RealType2, typename IndexType2>
std::ostream &operator<<(std::ostream&, Centroids<RealType2, IndexType2> const&)