HPCombi
High Performance Combinatorics in C++ using vector instructions v1.0.0
|
#include <perm_generic.hpp>
Public Types | |
using | vect = VectGeneric< Size, Expo > |
Public Types inherited from HPCombi::VectGeneric< Size, Expo > | |
using | array = std::array< Expo, Size > |
using | value_type = Expo |
using | iterator = typename array::iterator |
using | const_iterator = typename array::const_iterator |
Public Member Functions | |
PermGeneric ()=default | |
PermGeneric (const vect v) | |
PermGeneric (std::initializer_list< Expo > il) | |
PermGeneric | operator* (const PermGeneric &p) const |
PermGeneric | inverse () const |
vect | lehmer () const |
uint64_t | length () const |
uint64_t | nb_descents () const |
uint64_t | nb_cycles () const |
bool | left_weak_leq (PermGeneric other) const |
Public Member Functions inherited from HPCombi::VectGeneric< Size, Expo > | |
VectGeneric ()=default | |
VectGeneric (const array &_v) | |
VectGeneric (std::initializer_list< Expo > il, Expo def=0) | |
Expo | operator[] (uint64_t i) const |
Expo & | operator[] (uint64_t i) |
size_t | first_diff (const VectGeneric &u, size_t bound=Size) const |
size_t | last_diff (const VectGeneric &u, size_t bound=Size) const |
iterator | begin () |
iterator | end () |
const_iterator | begin () const |
const_iterator | end () const |
bool | operator== (const VectGeneric &u) const |
bool | operator!= (const VectGeneric &u) const |
bool | operator< (const VectGeneric &u) const |
int8_t | less_partial (const VectGeneric &u, int k) const |
VectGeneric | permuted (const VectGeneric &u) const |
void | sort () |
bool | is_sorted () const |
uint64_t | first_non_zero (size_t bound=Size) const |
uint64_t | first_zero (size_t bound=Size) const |
uint64_t | last_non_zero (size_t bound=Size) const |
uint64_t | last_zero (size_t bound=Size) const |
bool | is_permutation (const size_t k=Size) const |
uint64_t | horiz_sum () const noexcept |
VectGeneric | partial_sums () const noexcept |
void | partial_sums_inplace () |
Expo | horiz_max () const |
void | partial_max_inplace () |
Expo | horiz_min () const |
void | partial_min_inplace () |
VectGeneric | eval () const |
Static Public Member Functions | |
static constexpr size_t | size () |
static PermGeneric | one () |
static PermGeneric | elementary_transposition (uint64_t i) |
static PermGeneric | random () |
Static Public Member Functions inherited from HPCombi::VectGeneric< Size, Expo > | |
static constexpr size_t | size () |
static VectGeneric | random () |
Additional Inherited Members | |
Public Attributes inherited from HPCombi::VectGeneric< Size, Expo > | |
array | v |
using HPCombi::PermGeneric< Size, Expo >::vect = VectGeneric<Size, Expo> |
|
default |
|
inline |
HPCombi::PermGeneric< Size, Expo >::PermGeneric | ( | std::initializer_list< Expo > | il | ) |
|
static |
PermGeneric< Size, Expo > HPCombi::PermGeneric< Size, Expo >::inverse |
bool HPCombi::PermGeneric< Size, Expo >::left_weak_leq | ( | PermGeneric< Size, Expo > | other | ) | const |
PermGeneric< Size, Expo >::vect HPCombi::PermGeneric< Size, Expo >::lehmer |
uint64_t HPCombi::PermGeneric< Size, Expo >::length |
uint64_t HPCombi::PermGeneric< Size, Expo >::nb_cycles |
uint64_t HPCombi::PermGeneric< Size, Expo >::nb_descents |
|
inlinestatic |
|
inline |
|
static |
|
inlinestaticconstexpr |