|
HPCombi
High Performance Combinatorics in C++ using vector instructions v1.0.3
|
Partial transformation of \(\{0\dots 15\}\); see HPCombi::Transf16; partial means it might not be defined everywhere. More...
#include <perm16.hpp>
Public Types | |
| 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 Member Functions | |
| PTransf16 ()=default | |
| constexpr | PTransf16 (const vect vv) |
| 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 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 Attributes inherited from HPCombi::Vect16 | |
| epu8 | v |
Partial transformation of \(\{0\dots 15\}\); see HPCombi::Transf16; partial means it might not be defined everywhere.
Undefined images are encoded as 0xFF.
| using HPCombi::PTransf16::array = typename decltype(Epu8)::array |
|
default |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inline |
|
inline |
Returns a bit mask for the domain of *this.
|
inline |
Returns a mask for the domain of *this.
|
inline |
Returns a bit mask for the fix point of *this.
|
inline |
Returns a mask for the fix point of *this.
|
inline |
Returns a bit mask for the image of *this.
|
inline |
| epu8 HPCombi::PTransf16::image_mask_cmpestrm | ( | bool | complement = false | ) | const |
Returns a mask for the image of *this.
|
inline |
Returns a mask for the image of *this.
|
inline |
Returns the largest fix point of *this.
|
inline |
Returns the largest non fix point of *this.
|
inline |
Returns the partial left identity for *this.
|
inline |
Returns the number of fix points of *this.
|
inlinestaticconstexpr |
The identity partial transformation.
The product of two partial transformations.
|
inline |
Returns the size of the image of *this.
|
inline |
Returns the size of the image of *this.
|
inline |
Returns the size of the image of *this.
|
inline |
Returns the partial right identity for *this.
|
inlinestaticconstexpr |
|
inline |
Returns the smallest fix point of *this.
|
inline |
Returns the smallest non fix point of *this.
|
inline |
Return whether *this is a well constructed object.