48#include <lal/definitions.hpp>
49#include <lal/graphs/directed_graph.hpp>
50#include <lal/graphs/undirected_graph.hpp>
51#include <lal/linarr/algorithms_C.hpp>
52#include <lal/numeric/rational.hpp>
144 const std::vector<linear_arrangement>& pis,
164 const std::vector<linear_arrangement>& pis,
188 uint32_t upper_bound,
211 uint32_t upper_bound,
237 uint32_t upper_bound,
262 uint32_t upper_bound,
288 const std::vector<linear_arrangement>& pis,
289 uint32_t upper_bound,
314 const std::vector<linear_arrangement>& pis,
315 uint32_t upper_bound,
344 const std::vector<linear_arrangement>& pis,
345 const std::vector<uint32_t>& upper_bounds,
373 const std::vector<linear_arrangement>& pis,
374 const std::vector<uint32_t>& upper_bounds,
Directed graph class.
Definition directed_graph.hpp:68
Undirected graph class.
Definition undirected_graph.hpp:67
Exact rational number.
Definition rational.hpp:63
uint32_t is_num_crossings_lesseq_than(const graphs::directed_graph &G, uint32_t upper_bound, const algorithms_C &A=algorithms_C::ladder) noexcept
Is the number of crossings in the linear arrangement less than a constant?
std::vector< uint32_t > num_crossings_list(const graphs::directed_graph &G, const std::vector< linear_arrangement > &pis, const algorithms_C &A=algorithms_C::ladder) noexcept
Computes the number of edge crossings in a linear arrangement.
algorithms_C
The different algorithms for computing the number of crossings.
Definition algorithms_C.hpp:59
@ ladder
Dynamic programming algorithm.
numeric::rational predicted_num_crossings_rational(const graphs::undirected_graph &g, const linear_arrangement &pi={}) noexcept
Predicts the number of crossings.
double predicted_num_crossings(const graphs::undirected_graph &g, const linear_arrangement &pi={}) noexcept
Approximates the number of crossings.
std::vector< uint32_t > is_num_crossings_lesseq_than_list(const graphs::directed_graph &G, const std::vector< linear_arrangement > &pis, uint32_t upper_bound, const algorithms_C &A=algorithms_C::ladder) noexcept
Is the number of crossings in the linear arrangement less than a constant?
uint32_t num_crossings(const graphs::directed_graph &G, const algorithms_C &A=algorithms_C::ladder) noexcept
Computes the number of edge crossings in a linear arrangement.
Main namespace of the library.
Definition definitions.hpp:48
std::vector< position > linear_arrangement
A linear arrangement of the nodes of a graph.
Definition definitions.hpp:72