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

Full transformation of \(\{0\dots 15\}\). More...

#include <perm16.hpp>

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

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)
 
Transf16operator= (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
 
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 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
 

Detailed Description

Full transformation of \(\{0\dots 15\}\).

Constructor & Destructor Documentation

◆ Transf16() [1/6]

HPCombi::Transf16::Transf16 ( )
default

◆ Transf16() [2/6]

constexpr HPCombi::Transf16::Transf16 ( const Transf16 v)
constexprdefault

◆ Transf16() [3/6]

constexpr HPCombi::Transf16::Transf16 ( const vect  v)
inlineconstexpr

◆ Transf16() [4/6]

constexpr HPCombi::Transf16::Transf16 ( const epu8  x)
inlineconstexpr

◆ Transf16() [5/6]

HPCombi::Transf16::Transf16 ( std::initializer_list< uint8_t >  il)
inline

◆ Transf16() [6/6]

HPCombi::Transf16::Transf16 ( uint64_t  compressed)
inlineexplicit

Construct a transformation from its 64 bits compressed.

Member Function Documentation

◆ one()

static constexpr Transf16 HPCombi::Transf16::one ( )
inlinestaticconstexpr

The identity transformation.

◆ operator uint64_t()

HPCombi::Transf16::operator uint64_t ( ) const
inlineexplicit

The 64 bit compressed form of a transformation.

◆ operator*()

Transf16 HPCombi::Transf16::operator* ( const Transf16 p) const
inline

The product of two transformations.

◆ operator=()

Transf16 & HPCombi::Transf16::operator= ( const Transf16 )
default

◆ validate()

bool HPCombi::Transf16::validate ( size_t  k = 16) const
inline

Return whether *this is a well constructed object.


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