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 | List of all members
HPCombi::PTransf16 Struct Reference

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

#include <perm16.hpp>

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

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

Detailed Description

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

Member Typedef Documentation

◆ array

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

◆ vect

Constructor & Destructor Documentation

◆ PTransf16() [1/5]

HPCombi::PTransf16::PTransf16 ( )
default

◆ PTransf16() [2/5]

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

◆ PTransf16() [3/5]

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

◆ PTransf16() [4/5]

HPCombi::PTransf16::PTransf16 ( std::vector< uint8_t >  dom,
std::vector< uint8_t >  rng,
size_t  = 0 
)
inline

◆ PTransf16() [5/5]

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

Member Function Documentation

◆ domain_bitset()

uint32_t HPCombi::PTransf16::domain_bitset ( bool  complement = false) const
inline

Returns a bit mask for the domain of *this.

◆ domain_mask()

epu8 HPCombi::PTransf16::domain_mask ( bool  complement = false) const
inline

Returns a mask for the domain of *this.

◆ fix_points_bitset()

uint32_t HPCombi::PTransf16::fix_points_bitset ( bool  complement = false) const
inline

Returns a bit mask for the fix point of *this.

◆ fix_points_mask()

epu8 HPCombi::PTransf16::fix_points_mask ( bool  complement = false) const
inline

Returns a mask for the fix point of *this.

◆ image_bitset()

uint32_t HPCombi::PTransf16::image_bitset ( bool  complement = false) const
inline

Returns a bit mask for the image of *this.

◆ image_mask()

epu8 HPCombi::PTransf16::image_mask ( bool  complement = false) const
inline

◆ image_mask_cmpestrm()

epu8 HPCombi::PTransf16::image_mask_cmpestrm ( bool  complement = false) const

Returns a mask for the image of *this.

◆ image_mask_ref()

epu8 HPCombi::PTransf16::image_mask_ref ( bool  complement = false) const
inline

Returns a mask for the image of *this.

◆ largest_fix_point()

uint8_t HPCombi::PTransf16::largest_fix_point ( ) const
inline

Returns the largest fix point of *this.

◆ largest_moved_point()

uint8_t HPCombi::PTransf16::largest_moved_point ( ) const
inline

Returns the largest non fix point of *this.

◆ left_one()

PTransf16 HPCombi::PTransf16::left_one ( ) const
inline

Returns the partial left identity for *this.

◆ nb_fix_points()

uint8_t HPCombi::PTransf16::nb_fix_points ( ) const
inline

Returns the number of fix points of *this.

◆ one()

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

The identity partial transformation.

◆ operator*()

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

The product of two partial transformations.

◆ rank()

uint32_t HPCombi::PTransf16::rank ( ) const
inline

Returns the size of the image of *this.

◆ rank_cmpestrm()

uint32_t HPCombi::PTransf16::rank_cmpestrm ( ) const
inline

Returns the size of the image of *this.

◆ rank_ref()

uint32_t HPCombi::PTransf16::rank_ref ( ) const
inline

Returns the size of the image of *this.

◆ right_one()

PTransf16 HPCombi::PTransf16::right_one ( ) const
inline

Returns the partial right identity for *this.

◆ size()

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

◆ smallest_fix_point()

uint8_t HPCombi::PTransf16::smallest_fix_point ( ) const
inline

Returns the smallest fix point of *this.

◆ smallest_moved_point()

uint8_t HPCombi::PTransf16::smallest_moved_point ( ) const
inline

Returns the smallest non fix point of *this.

◆ validate()

bool HPCombi::PTransf16::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: