pub enum FlowgateBreachSides {
Both,
Upper,
Lower,
}Expand description
Which side(s) of a Flowgate’s limit the LP allocates slack
columns for. Both (default) keeps the symmetric encoding; Upper
and Lower restrict slack allocation to the matching side,
collapsing the other side’s slack column to zero.
Variants§
Both
The symmetric default: slack on both sides of the limit band.
Upper
Only the upper side (monitored_flow ≤ +limit) can bind. The
lower-side slack column is pinned to zero.
Lower
Only the lower side (-limit ≤ monitored_flow) can bind. The
upper-side slack column is pinned to zero.
Implementations§
Source§impl FlowgateBreachSides
impl FlowgateBreachSides
Sourcepub fn is_both(&self) -> bool
pub fn is_both(&self) -> bool
Helper for #[serde(skip_serializing_if)]: treats the default
Both variant as elidable in JSON to preserve on-disk format
compatibility for all flowgates where no direction is known.
Sourcepub fn allocates_upper_slack(&self) -> bool
pub fn allocates_upper_slack(&self) -> bool
Whether an upper-side slack column should be allocated for this flowgate.
Sourcepub fn allocates_lower_slack(&self) -> bool
pub fn allocates_lower_slack(&self) -> bool
Whether a lower-side slack column should be allocated for this flowgate.
Trait Implementations§
Source§impl Clone for FlowgateBreachSides
impl Clone for FlowgateBreachSides
Source§fn clone(&self) -> FlowgateBreachSides
fn clone(&self) -> FlowgateBreachSides
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more