#include <algorithm>
#include <numeric>
#include <optional>
#include <stdint.h>
#include <vector>
#include <utility>
#include <random.h>
#include <span.h>
#include <util/feefrac.h>
#include <util/vecdeque.h>
Go to the source code of this file.
|
template<typename SetType > |
std::vector< FeeFrac > | cluster_linearize::ChunkLinearization (const DepGraph< SetType > &depgraph, std::span< const DepGraphIndex > linearization) noexcept |
| Compute the feerates of the chunks of linearization. More...
|
|
template<typename SetType > |
std::pair< std::vector< DepGraphIndex >, bool > | cluster_linearize::Linearize (const DepGraph< SetType > &depgraph, uint64_t max_iterations, uint64_t rng_seed, std::span< const DepGraphIndex > old_linearization={}) noexcept |
| Find or improve a linearization for a cluster. More...
|
|
template<typename SetType > |
void | cluster_linearize::PostLinearize (const DepGraph< SetType > &depgraph, std::span< DepGraphIndex > linearization) |
| Improve a given linearization. More...
|
|
template<typename SetType > |
std::vector< DepGraphIndex > | cluster_linearize::MergeLinearizations (const DepGraph< SetType > &depgraph, std::span< const DepGraphIndex > lin1, std::span< const DepGraphIndex > lin2) |
| Merge two linearizations for the same cluster into one that is as good as both. More...
|
|
template<typename SetType > |
void | cluster_linearize::FixLinearization (const DepGraph< SetType > &depgraph, std::span< DepGraphIndex > linearization) noexcept |
| Make linearization topological, retaining its ordering where possible. More...
|
|