RsBundle  Check-in [f410ce94ba]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:solver: remove unnecessary `move` from extend subgradient closure
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | error-handling
Files: files | file ages | folders
SHA1: f410ce94ba5b26fc9ed945dc705daf761d0610e6
User & Date: fifr 2018-06-27 07:05:32.641
Context
2018-07-09
09:32
Add .editorconfig check-in: 7557d9d11d user: fifr tags: error-handling
2018-06-27
07:05
solver: remove unnecessary `move` from extend subgradient closure check-in: f410ce94ba user: fifr tags: error-handling
2018-06-26
21:39
Implement `MasterProblemError` as more specific enum check-in: 58f8ffe7a1 user: fifr tags: error-handling
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/solver.rs.
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
                    }
                    newvars.push((Some(index), lower - value, upper - value, value));
                }
            }
        }

        if !newvars.is_empty() {
            let mut problem = &mut self.problem;
            let minorants = &self.minorants;
            self.master
                .add_vars(
                    &newvars.iter().map(|v| (v.0, v.1, v.2)).collect::<Vec<_>>(),
                    &mut move |fidx, minidx, vars| {
                        problem
                            .extend_subgradient(minorants[fidx][minidx].primal.as_ref().unwrap(), vars)
                            .map(DVector)
                            .map_err(|e| e.into())
                    },
                )
                .map_err(SolverError::Master)?;







|




|







679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
                    }
                    newvars.push((Some(index), lower - value, upper - value, value));
                }
            }
        }

        if !newvars.is_empty() {
            let problem = &mut self.problem;
            let minorants = &self.minorants;
            self.master
                .add_vars(
                    &newvars.iter().map(|v| (v.0, v.1, v.2)).collect::<Vec<_>>(),
                    &mut |fidx, minidx, vars| {
                        problem
                            .extend_subgradient(minorants[fidx][minidx].primal.as_ref().unwrap(), vars)
                            .map(DVector)
                            .map_err(|e| e.into())
                    },
                )
                .map_err(SolverError::Master)?;