48#include <lal/linear_arrangement.hpp>
49#include <lal/graphs/graph.hpp>
117 std::random_device rd;
118 m_gen = std::mt19937(rd());
121 m_gen = std::mt19937(seed);
Random generation of arrangements of any graph.
Definition rand_arrangements.hpp:83
const linear_arrangement & yield_arrangement() noexcept
Returns a linear arrangement constructed uniformly at random.
Definition rand_arrangements.hpp:130
const uint64_t m_n
Number of vertices.
Definition rand_arrangements.hpp:136
rand_arrangements(rand_arrangements &&Gen) noexcept=default
Default move constructor.
rand_arrangements(const graphs::graph &g, const uint64_t seed=0) noexcept
Constructor with graph.
Definition rand_arrangements.hpp:91
const linear_arrangement & get_arrangement() noexcept
Returns a linear arrangement constructed uniformly at random.
linear_arrangement m_arr
The arrangement generated by this class.
Definition rand_arrangements.hpp:144
std::mt19937 m_gen
Random number generator.
Definition rand_arrangements.hpp:138
rand_arrangements(const uint64_t n, const uint64_t seed=0) noexcept
Constructor with number of vertices.
Definition rand_arrangements.hpp:112
rand_arrangements(const rand_arrangements &Gen) noexcept=default
Default copy constructor.
Abstract class for graphs.
Definition graph.hpp:68
Linear arrangement of vertices.
Definition linear_arrangement.hpp:103
static linear_arrangement identity(std::size_t n) noexcept
Constructs an identity linear arrangement.
Definition linear_arrangement.hpp:494
Main namespace of the library.
Definition basic_types.hpp:48