OmniSciDB
94e8789169
|
#include <quantile.h>
Public Types | |
using | Memory = CentroidsMemory< RealType, IndexType > |
Public Member Functions | |
TDigest ()=default | |
DEVICE | TDigest (Memory &mem) |
DEVICE | TDigest (SimpleAllocator *simple_allocator, IndexType buf_allocate, IndexType centroids_allocate) |
DEVICE Centroids< RealType, IndexType > & | centroids () |
DEVICE void | add (RealType value) |
DEVICE void | allocate () |
DEVICE void | mergeBuffer () |
DEVICE void | mergeSorted (RealType *sums, IndexType *counts, IndexType size) |
DEVICE void | mergeTDigest (TDigest &t_digest) |
DEVICE RealType | quantile (RealType const q) |
DEVICE RealType | quantile (IndexType *buf, RealType const q) |
DEVICE void | setBuffer (Memory &mem) |
DEVICE void | setCentroids (Memory &mem) |
DEVICE void | setCentroids (VectorView< RealType > const sums, VectorView< IndexType > const counts) |
DEVICE IndexType | totalWeight () const |
Private Member Functions | |
DEVICE RealType | max () const |
DEVICE RealType | min () const |
DEVICE IndexType | maxCardinality (IndexType const sum, IndexType const total_weight) |
DEVICE void | mergeCentroids (Centroids< RealType, IndexType > &) |
DEVICE RealType | firstCentroid (RealType const x) |
DEVICE RealType | interiorCentroid (RealType const x, IndexType const idx1, IndexType const prefix_sum) |
DEVICE RealType | lastCentroid (RealType const x, IndexType const N) |
DEVICE RealType | oneCentroid (RealType const x) |
DEVICE RealType | slope (IndexType const idx1, IndexType const idx2) |
Private Attributes | |
Centroids< RealType, IndexType > | buf_ |
Centroids< RealType, IndexType > | centroids_ |
bool | forward_ {true} |
SimpleAllocator *const | simple_allocator_ {nullptr} |
IndexType const | buf_allocate_ {0} |
IndexType const | centroids_allocate_ {0} |
Definition at line 182 of file quantile.h.
using quantile::detail::TDigest< RealType, IndexType >::Memory = CentroidsMemory<RealType, IndexType> |
Definition at line 210 of file quantile.h.
|
default |
|
inline |
Definition at line 214 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::centroids_.
|
inline |
Definition at line 219 of file quantile.h.
DEVICE void quantile::detail::TDigest< RealType, IndexType >::add | ( | RealType | value | ) |
Definition at line 569 of file quantile.h.
DEVICE void quantile::detail::TDigest< RealType, IndexType >::allocate | ( | ) |
Definition at line 579 of file quantile.h.
Referenced by agg_approx_median_impl(), and approx_median_jit_rt().
|
inline |
Definition at line 226 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::centroids_.
|
private |
Definition at line 664 of file quantile.h.
|
private |
Definition at line 683 of file quantile.h.
References quantile::detail::anonymous_namespace{quantile.h}::isSingleton().
|
private |
Definition at line 705 of file quantile.h.
References quantile::detail::anonymous_namespace{quantile.h}::isSingleton().
|
inlineprivate |
Definition at line 192 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::centroids_.
|
private |
Definition at line 596 of file quantile.h.
DEVICE void quantile::detail::TDigest< RealType, IndexType >::mergeBuffer | ( | ) |
Definition at line 604 of file quantile.h.
References gpu_enabled::sort().
Referenced by ResultSet::calculateQuantile(), and quantile::detail::TDigest< RealType, IndexType >::mergeTDigest().
|
private |
Definition at line 637 of file quantile.h.
References quantile::detail::Centroids< RealType, IndexType >::clear(), and quantile::detail::CentroidsMerger< RealType, IndexType >::merge().
Referenced by quantile::detail::TDigest< RealType, IndexType >::mergeTDigest().
DEVICE void quantile::detail::TDigest< RealType, IndexType >::mergeSorted | ( | RealType * | sums, |
IndexType * | counts, | ||
IndexType | size | ||
) |
Definition at line 614 of file quantile.h.
References gpu_enabled::fill(), VectorView< T >::set(), and quantile::detail::Centroids< RealType, IndexType >::sums_.
|
inline |
Definition at line 239 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::centroids_, quantile::detail::TDigest< RealType, IndexType >::mergeBuffer(), and quantile::detail::TDigest< RealType, IndexType >::mergeCentroids().
|
inlineprivate |
Definition at line 193 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::centroids_.
|
private |
Definition at line 742 of file quantile.h.
|
inline |
Definition at line 246 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::buf_, and quantile::detail::TDigest< RealType, IndexType >::centroids_.
Referenced by ResultSet::calculateQuantile().
DEVICE RealType quantile::detail::TDigest< RealType, IndexType >::quantile | ( | IndexType * | buf, |
RealType const | q | ||
) |
Definition at line 765 of file quantile.h.
References gpu_enabled::partial_sum(), and gpu_enabled::upper_bound().
|
inline |
Definition at line 255 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::buf_, quantile::detail::CentroidsMemory< RealType, IndexType >::counts(), VectorView< T >::data(), quantile::detail::CentroidsMemory< RealType, IndexType >::size(), and quantile::detail::CentroidsMemory< RealType, IndexType >::sums().
|
inline |
Definition at line 262 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::centroids_, quantile::detail::CentroidsMemory< RealType, IndexType >::counts(), VectorView< T >::data(), quantile::detail::CentroidsMemory< RealType, IndexType >::size(), and quantile::detail::CentroidsMemory< RealType, IndexType >::sums().
|
inline |
Definition at line 268 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::centroids_.
|
private |
Definition at line 792 of file quantile.h.
References quantile::detail::anonymous_namespace{quantile.h}::isSingleton().
|
inline |
Definition at line 275 of file quantile.h.
References quantile::detail::TDigest< RealType, IndexType >::centroids_.
|
private |
Definition at line 183 of file quantile.h.
Referenced by quantile::detail::TDigest< RealType, IndexType >::quantile(), and quantile::detail::TDigest< RealType, IndexType >::setBuffer().
|
private |
Definition at line 189 of file quantile.h.
|
private |
Definition at line 184 of file quantile.h.
Referenced by quantile::detail::TDigest< RealType, IndexType >::centroids(), quantile::detail::TDigest< RealType, IndexType >::max(), quantile::detail::TDigest< RealType, IndexType >::mergeTDigest(), quantile::detail::TDigest< RealType, IndexType >::min(), quantile::detail::TDigest< RealType, IndexType >::quantile(), quantile::detail::TDigest< RealType, IndexType >::setCentroids(), quantile::detail::TDigest< RealType, IndexType >::TDigest(), and quantile::detail::TDigest< RealType, IndexType >::totalWeight().
|
private |
Definition at line 190 of file quantile.h.
|
private |
Definition at line 185 of file quantile.h.
|
private |
Definition at line 188 of file quantile.h.