LAL: Linear Arrangement Library 23.01.00
A library focused on algorithms on linear arrangements of graphs.
|
Dependency flux. More...
#include <dependency_flux.hpp>
Public Member Functions | |
uint64_t | get_left_span () const noexcept |
Returns left span of this flux. | |
uint64_t | get_right_span () const noexcept |
Returns right span of this flux. | |
uint64_t | get_size () const noexcept |
Returns the size of this flux. | |
uint64_t | get_weight () const noexcept |
Returns weight of this flux. | |
uint64_t & | get_left_span () noexcept |
Returns a reference to the left span of this flux. | |
uint64_t & | get_right_span () noexcept |
Returns a reference to the right span of this flux. | |
uint64_t & | get_weight () noexcept |
Returns a reference to the weight of this flux. | |
std::vector< edge > & | get_dependencies () |
Returns a reference to the set of dependencies. | |
const std::vector< edge > & | get_dependencies () const noexcept |
Returns the set of dependencies. | |
numeric::rational | get_RL_ratio_rational () const noexcept |
Returns the R/L ratio. More... | |
double | get_RL_ratio () const noexcept |
Returns the R/L ratio. More... | |
numeric::rational | get_WS_ratio_rational () const noexcept |
Returns the W/S ratio. More... | |
double | get_WS_ratio () const noexcept |
Returns the W/S ratio. More... | |
void | set_left_span (uint64_t ls) noexcept |
Sets the left span. | |
void | set_right_span (uint64_t rs) noexcept |
Sets the right span. | |
void | set_weight (uint64_t w) noexcept |
Sets the weight. | |
void | set_dependencies (const std::vector< edge > &deps) noexcept |
Sets the set of dependencies. | |
void | set_dependencies (std::vector< edge > &&deps) noexcept |
Sets the set of dependencies. | |
Private Attributes | |
uint64_t | m_left_span = 0 |
uint64_t | m_right_span = 0 |
std::vector< edge > | m_dependencies |
Dependencies in this flux. More... | |
uint64_t | m_weight = 0 |
Weight of this flux. More... | |
Dependency flux.
The dependency flux of a dependency tree, as defined in [26].
|
inlinenoexcept |
Returns the R/L ratio.
This is the right span (see attribute m_right_span) divided by the left span (see attribute m_left_span).
|
inlinenoexcept |
Returns the R/L ratio.
This is the right span (see attribute m_right_span) divided by the left span (see attribute m_left_span).
|
inlinenoexcept |
Returns the W/S ratio.
Also known as density, this is the weight (see attribtue m_weight) divided by the number of dependencies (see attribute m_dependencies).
|
inlinenoexcept |
Returns the W/S ratio.
Also known as density, this is the weight (see attribtue m_weight) divided by the number of dependencies (see attribute m_dependencies).
|
private |
Dependencies in this flux.
The set of concomitant dependencies.
|
private |
Number of words to the left of this flux which are vertices of a dependency in the flux.
|
private |
Number of words to the right of this flux which are vertices of a dependency in the flux.
|
private |
Weight of this flux.
This is the size of the largest subset of disjoint dependencies in m_dependencies.