Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | solver: fix updating of `self.bounds` when adding new variables. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
34ecdf278fe2da0ff8b7f423de10282e |
| User & Date: | fifr 2017-03-07 16:52:25.440 |
Context
|
2017-03-16
| ||
| 14:04 | Satisfy some clippy warnings. check-in: 4adb6c3b41 user: fifr tags: trunk | |
|
2017-03-07
| ||
| 16:52 | solver: fix updating of `self.bounds` when adding new variables. check-in: 34ecdf278f user: fifr tags: trunk | |
| 07:36 | unconstrained: allow moving of existing variables. check-in: e4f0dce522 user: fifr tags: trunk | |
Changes
Changes to src/solver.rs.
| ︙ | ︙ | |||
616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 |
let value = if lower > 0.0 {
lower
} else if upper < 0.0 {
upper
} else {
0.0
};
newvars.push((None, lower - value, upper - value, 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((None, lower - value, upper - value, value));
}
Update::MoveVariable { index, value } => {
if index >= self.bounds.len() {
return Err(Error::InvalidVariable(index, self.bounds.len()));
}
let (lower, upper) = self.bounds[index];
| > > | 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 |
let value = if lower > 0.0 {
lower
} else if upper < 0.0 {
upper
} else {
0.0
};
self.bounds.push((lower, upper));
newvars.push((None, lower - value, upper - value, 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));
}
self.bounds.push((lower, upper));
newvars.push((None, lower - value, upper - value, value));
}
Update::MoveVariable { index, value } => {
if index >= self.bounds.len() {
return Err(Error::InvalidVariable(index, self.bounds.len()));
}
let (lower, upper) = self.bounds[index];
|
| ︙ | ︙ |