HPCombi
High Performance Combinatorics in C++ using vector instructions v1.0.3
Loading...
Searching...
No Matches
HPCombi::Vect16 Struct Reference

Vector of 16 bytes, with some optimized methods, superclass of HPCombi::Transf16. More...

#include <vect16.hpp>

Inheritance diagram for HPCombi::Vect16:
HPCombi::PTransf16 HPCombi::PPerm16 HPCombi::Transf16 HPCombi::Perm16

Public Types

using array = typename decltype(Epu8)::array
 
using value_type = uint8_t
 
using iterator = typename array::iterator
 
using const_iterator = typename array::const_iterator
 

Public Member Functions

 Vect16 ()=default
 
constexpr Vect16 (epu8 x)
 
 Vect16 (std::initializer_list< uint8_t > il, uint8_t def=0)
 
constexpr operator epu8 () const
 
arrayas_array ()
 
const arrayas_array () const
 
const uint8_t & operator[] (uint64_t i) const
 
uint8_t & operator[] (uint64_t i)
 
size_t first_diff (const Vect16 &u, size_t bound=size()) const
 
size_t last_diff (const Vect16 &u, size_t bound=size()) const
 
size_t first_zero (size_t bound=size()) const
 
size_t last_zero (size_t bound=size()) const
 
size_t first_non_zero (size_t bound=size()) const
 
size_t last_non_zero (size_t bound=size()) const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
bool operator== (const Vect16 &b) const
 
bool operator!= (const Vect16 &b) const
 
bool operator< (const Vect16 &b) const
 
int8_t less_partial (const Vect16 &b, int k) const
 
Vect16 permuted (const Vect16 &b) const
 
uint8_t sum () const
 
Vect16 partial_sums () const
 
Vect16 eval16 () const
 
bool is_permutation () const
 
bool is_permutation (size_t k) const
 

Static Public Member Functions

static constexpr size_t size ()
 

Public Attributes

epu8 v
 

Detailed Description

Vector of 16 bytes, with some optimized methods, superclass of HPCombi::Transf16.

Member Typedef Documentation

◆ array

using HPCombi::Vect16::array = typename decltype(Epu8)::array

◆ const_iterator

using HPCombi::Vect16::const_iterator = typename array::const_iterator

◆ iterator

using HPCombi::Vect16::iterator = typename array::iterator

◆ value_type

using HPCombi::Vect16::value_type = uint8_t

Constructor & Destructor Documentation

◆ Vect16() [1/3]

HPCombi::Vect16::Vect16 ( )
default

◆ Vect16() [2/3]

HPCombi::Vect16::Vect16 ( epu8 x)
inlineconstexpr

◆ Vect16() [3/3]

HPCombi::Vect16::Vect16 ( std::initializer_list< uint8_t > il,
uint8_t def = 0 )
inline

Member Function Documentation

◆ as_array() [1/2]

array & HPCombi::Vect16::as_array ( )
inline

◆ as_array() [2/2]

const array & HPCombi::Vect16::as_array ( ) const
inline

◆ begin() [1/2]

iterator HPCombi::Vect16::begin ( )
inline

◆ begin() [2/2]

const_iterator HPCombi::Vect16::begin ( ) const
inline

◆ cbegin()

const_iterator HPCombi::Vect16::cbegin ( ) const
inline

◆ cend()

const_iterator HPCombi::Vect16::cend ( ) const
inline

◆ end() [1/2]

iterator HPCombi::Vect16::end ( )
inline

◆ end() [2/2]

const_iterator HPCombi::Vect16::end ( ) const
inline

◆ eval16()

Vect16 HPCombi::Vect16::eval16 ( ) const
inline

◆ first_diff()

size_t HPCombi::Vect16::first_diff ( const Vect16 & u,
size_t bound = size() ) const
inline

◆ first_non_zero()

size_t HPCombi::Vect16::first_non_zero ( size_t bound = size()) const
inline

◆ first_zero()

size_t HPCombi::Vect16::first_zero ( size_t bound = size()) const
inline

◆ is_permutation() [1/2]

bool HPCombi::Vect16::is_permutation ( ) const
inline

◆ is_permutation() [2/2]

bool HPCombi::Vect16::is_permutation ( size_t k) const
inline

◆ last_diff()

size_t HPCombi::Vect16::last_diff ( const Vect16 & u,
size_t bound = size() ) const
inline

◆ last_non_zero()

size_t HPCombi::Vect16::last_non_zero ( size_t bound = size()) const
inline

◆ last_zero()

size_t HPCombi::Vect16::last_zero ( size_t bound = size()) const
inline

◆ less_partial()

int8_t HPCombi::Vect16::less_partial ( const Vect16 & b,
int k ) const
inline

◆ operator epu8()

HPCombi::Vect16::operator epu8 ( ) const
inlineconstexpr

◆ operator!=()

bool HPCombi::Vect16::operator!= ( const Vect16 & b) const
inline

◆ operator<()

bool HPCombi::Vect16::operator< ( const Vect16 & b) const
inline

◆ operator==()

bool HPCombi::Vect16::operator== ( const Vect16 & b) const
inline

◆ operator[]() [1/2]

uint8_t & HPCombi::Vect16::operator[] ( uint64_t i)
inline

◆ operator[]() [2/2]

const uint8_t & HPCombi::Vect16::operator[] ( uint64_t i) const
inline

◆ partial_sums()

Vect16 HPCombi::Vect16::partial_sums ( ) const
inline

◆ permuted()

Vect16 HPCombi::Vect16::permuted ( const Vect16 & b) const
inline

◆ size()

static constexpr size_t HPCombi::Vect16::size ( )
inlinestaticconstexpr

◆ sum()

uint8_t HPCombi::Vect16::sum ( ) const
inline

Member Data Documentation

◆ v

epu8 HPCombi::Vect16::v

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