Everett
Loading...
Searching...
No Matches
Public Member Functions | Static Private Member Functions | Private Attributes | List of all members
everett::rank15_view Struct Reference

#include <rank15.h>

Public Member Functions

 rank15_view (std::span< std::uint64_t const > classes, std::span< std::uint64_t const > checkpoints, std::uint64_t virtual_count)
 
template<class Words >
requires std::is_same_v<Words, word_view>
 rank15_view (Words classes, Words checkpoints, std::uint64_t virtual_count)
 
std::uint64_t size () const noexcept
 
std::uint64_t group_count () const noexcept
 
template<simd::architecture Arch = simd::scalar>
std::uint64_t count () const
 
word_view class_words () const noexcept
 
word_view checkpoint_words () const noexcept
 
unsigned class_at (std::uint64_t group) const
 
template<simd::architecture Arch = simd::scalar>
std::uint64_t rank (std::uint64_t group) const
 

Static Private Member Functions

static std::uint64_t add_prefix (std::uint64_t checkpoint, unsigned prefix, std::uint64_t limit)
 
template<simd::architecture Arch, unsigned Vector = 0>
static auto prefix_vectors (std::byte const *words, unsigned count) noexcept
 
static std::uint64_t pair_nibbles (std::uint64_t value) noexcept
 
static unsigned sum_bytes (std::uint64_t value) noexcept
 

Private Attributes

word_view classes_
 
word_view checkpoints_
 
std::uint64_t virtual_count_
 
std::uint64_t group_count_
 

Constructor & Destructor Documentation

◆ rank15_view() [1/2]

everett::rank15_view::rank15_view ( std::span< std::uint64_t const >  classes,
std::span< std::uint64_t const >  checkpoints,
std::uint64_t  virtual_count 
)
inline

◆ rank15_view() [2/2]

template<class Words >
requires std::is_same_v<Words, word_view>
everett::rank15_view::rank15_view ( Words  classes,
Words  checkpoints,
std::uint64_t  virtual_count 
)
inline

Member Function Documentation

◆ add_prefix()

static std::uint64_t everett::rank15_view::add_prefix ( std::uint64_t  checkpoint,
unsigned  prefix,
std::uint64_t  limit 
)
inlinestaticprivate

◆ checkpoint_words()

word_view everett::rank15_view::checkpoint_words ( ) const
inlinenoexcept

◆ class_at()

unsigned everett::rank15_view::class_at ( std::uint64_t  group) const
inline

◆ class_words()

word_view everett::rank15_view::class_words ( ) const
inlinenoexcept

◆ count()

template<simd::architecture Arch = simd::scalar>
std::uint64_t everett::rank15_view::count ( ) const
inline

◆ group_count()

std::uint64_t everett::rank15_view::group_count ( ) const
inlinenoexcept

◆ pair_nibbles()

static std::uint64_t everett::rank15_view::pair_nibbles ( std::uint64_t  value)
inlinestaticprivatenoexcept

◆ prefix_vectors()

template<simd::architecture Arch, unsigned Vector = 0>
static auto everett::rank15_view::prefix_vectors ( std::byte const *  words,
unsigned  count 
)
inlinestaticprivatenoexcept

◆ rank()

template<simd::architecture Arch = simd::scalar>
std::uint64_t everett::rank15_view::rank ( std::uint64_t  group) const
inline

◆ size()

std::uint64_t everett::rank15_view::size ( ) const
inlinenoexcept

◆ sum_bytes()

static unsigned everett::rank15_view::sum_bytes ( std::uint64_t  value)
inlinestaticprivatenoexcept

Member Data Documentation

◆ checkpoints_

word_view everett::rank15_view::checkpoints_
private

◆ classes_

word_view everett::rank15_view::classes_
private

◆ group_count_

std::uint64_t everett::rank15_view::group_count_
private

◆ virtual_count_

std::uint64_t everett::rank15_view::virtual_count_
private

The documentation for this struct was generated from the following file: