HPCombi
High Performance Combinatorics in C++ using vector instructions v1.0.0
|
A generic class for combinatorial integer vectors. More...
#include <vect_generic.hpp>
Public Types | |
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 | |
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 VectGeneric | random () |
Public Attributes | |
array | v |
A generic class for combinatorial integer vectors.
using HPCombi::VectGeneric< Size, Expo >::array = std::array<Expo, Size> |
using HPCombi::VectGeneric< Size, Expo >::const_iterator = typename array::const_iterator |
using HPCombi::VectGeneric< Size, Expo >::iterator = typename array::iterator |
using HPCombi::VectGeneric< Size, Expo >::value_type = Expo |
|
default |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlinestatic |
|
inlinestaticconstexpr |
|
inline |
array HPCombi::VectGeneric< Size, Expo >::v |