HPCombi
High Performance Combinatorics in C++ using vector instructions v1.0.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
HPCombi::Vect16 Struct Reference

#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
 

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]

constexpr 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()

constexpr 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: