HPCombi
High Performance Combinatorics in C++ using vector instructions v1.0.0
|
Full transformation of \(\{0\dots 15\}\). More...
#include <perm16.hpp>
Public Member Functions | |
Transf16 ()=default | |
constexpr | Transf16 (const Transf16 &v)=default |
constexpr | Transf16 (const vect v) |
constexpr | Transf16 (const epu8 x) |
Transf16 (std::initializer_list< uint8_t > il) | |
Transf16 & | operator= (const Transf16 &)=default |
bool | validate (size_t k=16) const |
Return whether *this is a well constructed object. | |
Transf16 | operator* (const Transf16 &p) const |
The product of two transformations. | |
Transf16 (uint64_t compressed) | |
Construct a transformation from its 64 bits compressed. | |
operator uint64_t () const | |
The 64 bit compressed form of a transformation. | |
Public Member Functions inherited from HPCombi::PTransf16 | |
PTransf16 ()=default | |
constexpr | PTransf16 (const vect v) |
constexpr | PTransf16 (const epu8 x) |
PTransf16 (std::vector< uint8_t > dom, std::vector< uint8_t > rng, size_t=0) | |
PTransf16 (std::initializer_list< uint8_t > il) | |
bool | validate (size_t k=16) const |
Return whether *this is a well constructed object. | |
PTransf16 | operator* (const PTransf16 &p) const |
The product of two partial transformations. | |
epu8 | image_mask_cmpestrm (bool complement=false) const |
Returns a mask for the image of *this . | |
epu8 | image_mask_ref (bool complement=false) const |
Returns a mask for the image of *this . | |
epu8 | image_mask (bool complement=false) const |
uint32_t | image_bitset (bool complement=false) const |
Returns a bit mask for the image of *this . | |
epu8 | domain_mask (bool complement=false) const |
Returns a mask for the domain of *this . | |
uint32_t | domain_bitset (bool complement=false) const |
Returns a bit mask for the domain of *this . | |
PTransf16 | right_one () const |
Returns the partial right identity for *this . | |
PTransf16 | left_one () const |
Returns the partial left identity for *this . | |
uint32_t | rank_ref () const |
Returns the size of the image of *this . | |
uint32_t | rank () const |
Returns the size of the image of *this . | |
uint32_t | rank_cmpestrm () const |
Returns the size of the image of *this . | |
epu8 | fix_points_mask (bool complement=false) const |
Returns a mask for the fix point of *this . | |
uint32_t | fix_points_bitset (bool complement=false) const |
Returns a bit mask for the fix point of *this . | |
uint8_t | smallest_fix_point () const |
Returns the smallest fix point of *this . | |
uint8_t | smallest_moved_point () const |
Returns the smallest non fix point of *this . | |
uint8_t | largest_fix_point () const |
Returns the largest fix point of *this . | |
uint8_t | largest_moved_point () const |
Returns the largest non fix point of *this . | |
uint8_t | nb_fix_points () const |
Returns the number of fix points of *this . | |
Public Member Functions inherited from HPCombi::Vect16 | |
Vect16 ()=default | |
constexpr | Vect16 (epu8 x) |
Vect16 (std::initializer_list< uint8_t > il, uint8_t def=0) | |
constexpr | operator epu8 () const |
array & | as_array () |
const array & | as_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 Transf16 | one () |
The identity transformation. | |
Static Public Member Functions inherited from HPCombi::PTransf16 | |
static constexpr size_t | size () |
static constexpr PTransf16 | one () |
The identity partial transformation. | |
Static Public Member Functions inherited from HPCombi::Vect16 | |
static constexpr size_t | size () |
Additional Inherited Members | |
Public Types inherited from HPCombi::PTransf16 | |
using | vect = HPCombi::Vect16 |
using | array = typename decltype(Epu8)::array |
Public Types inherited from HPCombi::Vect16 | |
using | array = typename decltype(Epu8)::array |
using | value_type = uint8_t |
using | iterator = typename array::iterator |
using | const_iterator = typename array::const_iterator |
Public Attributes inherited from HPCombi::Vect16 | |
epu8 | v |
Full transformation of \(\{0\dots 15\}\).
|
default |
|
constexprdefault |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inlineexplicit |
Construct a transformation from its 64 bits compressed.
|
inlinestaticconstexpr |
The identity transformation.
|
inlineexplicit |
The 64 bit compressed form of a transformation.
The product of two transformations.
|
inline |
Return whether *this
is a well constructed object.