pub struct PlanInput<'a> {
pub n_vars: usize,
pub n_rows: usize,
pub rows: &'a [Vec<(usize, Number)>],
pub row_const: &'a [Number],
pub g_l: &'a [Number],
pub g_u: &'a [Number],
pub eligible: &'a [bool],
pub x_l: &'a [Number],
pub x_u: &'a [Number],
}Expand description
Everything build_plan reads about the problem.
Fields§
§n_vars: usize§n_rows: usize§rows: &'a [Vec<(usize, Number)>]Per-row (column, coefficient) lists. Only rows flagged linear and
equality are consulted; the caller may leave the rest empty.
row_const: &'a [Number]Per-row constant term c in g_r(x) = Σ a_j x_j + c, so the row
reads Σ a_j x_j = g_l[r] - c.
g_l: &'a [Number]§g_u: &'a [Number]§eligible: &'a [bool]true where the row is linear and eligible to be consumed.
x_l: &'a [Number]§x_u: &'a [Number]Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for PlanInput<'a>
impl<'a> RefUnwindSafe for PlanInput<'a>
impl<'a> Send for PlanInput<'a>
impl<'a> Sync for PlanInput<'a>
impl<'a> Unpin for PlanInput<'a>
impl<'a> UnsafeUnpin for PlanInput<'a>
impl<'a> UnwindSafe for PlanInput<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more