#include <integer_permutation.hpp>
Definition at line 22 of file integer_permutation.hpp.
◆ integer_permutation() [1/3]
libsnark::integer_permutation::integer_permutation |
( |
const size_t |
size = 0 | ) |
|
◆ integer_permutation() [2/3]
libsnark::integer_permutation::integer_permutation |
( |
const size_t |
min_element, |
|
|
const size_t |
max_element |
|
) |
| |
◆ integer_permutation() [3/3]
◆ get()
size_t libsnark::integer_permutation::get |
( |
const size_t |
position | ) |
const |
◆ inverse()
◆ is_valid()
bool libsnark::integer_permutation::is_valid |
( |
| ) |
const |
Definition at line 66 of file integer_permutation.cpp.
68 std::unordered_set<size_t> elems;
70 for (
auto &el : contents) {
72 elems.find(el) != elems.end()) {
◆ next_permutation()
bool libsnark::integer_permutation::next_permutation |
( |
| ) |
|
◆ operator=()
◆ operator==()
Definition at line 46 of file integer_permutation.cpp.
50 this->max_element == other.max_element &&
51 this->contents == other.contents);
◆ random_shuffle()
void libsnark::integer_permutation::random_shuffle |
( |
| ) |
|
◆ set()
void libsnark::integer_permutation::set |
( |
const size_t |
position, |
|
|
const size_t |
value |
|
) |
| |
◆ size()
size_t libsnark::integer_permutation::size |
( |
| ) |
const |
◆ slice()
integer_permutation libsnark::integer_permutation::slice |
( |
const size_t |
slice_min_element, |
|
|
const size_t |
slice_max_element |
|
) |
| const |
Definition at line 98 of file integer_permutation.cpp.
103 slice_min_element <= slice_max_element &&
107 this->contents.begin() + (slice_min_element -
min_element),
108 this->contents.begin() + (slice_max_element -
min_element) + 1,
109 result.contents.begin());
111 assert(result.is_valid());
◆ max_element
size_t libsnark::integer_permutation::max_element |
◆ min_element
size_t libsnark::integer_permutation::min_element |
The documentation for this class was generated from the following files: