|
HPCombi
High Performance Combinatorics in C++ using vector instructions v1.0.3
|
VectGeneric is to Vect16 what PermGeneric is to Perm16; see PermGeneric. 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 |
VectGeneric is to Vect16 what PermGeneric is to Perm16; see PermGeneric.
HPCombi started as a library to manipulate monomials on several variables, ie a tuple of *expo*nents. The elements of arrays were thus named Expo.
| 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 |