#include <algorithm>
#include <cstdint>
#include <numeric>
#include <optional>
#include <utility>
#include <vector>
#include <memusage.h>
#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::tuple< std::vector< DepGraphIndex >, bool, uint64_t > | 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...
|
| |