Differences From Artifact [f80b6e5c56]:
- File src/solver.rs — part of check-in [d67ab3a0b0] at 2016-10-11 08:45:35 on branch trunk — solver: Check bounds for validity. (user: fifr size: 31595)
To Artifact [12134cfbf2]:
- File src/solver.rs — part of check-in [8d2547a9f9] at 2016-10-11 08:50:18 on branch trunk — Add variable+value update. (user: fifr size: 32036)
| ︙ | |||
584 585 586 587 588 589 590 591 592 593 594 595 596 597 | 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 | + + + + + + + + + |
if lower > upper {
return Err(Error::InvalidBounds(lower, upper))
}
let value = if lower > 0.0 { lower }
else if upper < 0.0 { upper }
else { 0.0 };
newvars.push((lower - value, upper - value));
},
Update::AddVariableValue{lower, upper, value} => {
if lower > upper {
return Err(Error::InvalidBounds(lower, upper))
}
if value < lower || value > upper {
return Err(Error::ViolatedBounds(lower, upper, value))
}
newvars.push((lower - value, upper - value));
},
}
}
if !newvars.is_empty() {
let mut problem = &mut self.problem;
let minorants = &self.minorants;
|
| ︙ |