RsBundle  Check-in [705a1cf52f]

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

Overview
Comment:solver: fix adding new variables to master.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 705a1cf52f11f7d025f45bdf7c46eab8c07fb3d7
User & Date: fifr 2017-03-03 15:46:03.834
Context
2017-03-06
16:35
solver: silence a clippy warning. check-in: 8b9adfcbb9 user: fifr tags: trunk
2017-03-03
15:46
solver: fix adding new variables to master. check-in: 705a1cf52f user: fifr tags: trunk
15:41
solver: set center value of newly separated variables correctly. check-in: 5e794600f2 user: fifr tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/solver.rs.
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
                }
            }
        }

        if !newvars.is_empty() {
            let mut problem = &mut self.problem;
            let minorants = &self.minorants;
            self.master.add_vars(&newvars.iter().map(|v| (v.1, v.2)).collect::<Vec<_>>(),
                                 &mut move |fidx, minidx, vars| {
                                     problem.extend_subgradient(minorants[fidx][minidx].primal.as_ref().unwrap(), vars)
                                         .map(DVector)
                                         .unwrap()
                                 });
            let newn = self.cur_y.len() + newvars.len();
            self.cur_y.extend(newvars.iter().map(|v| v.2));







|







620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
                }
            }
        }

        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)).collect::<Vec<_>>(),
                                 &mut move |fidx, minidx, vars| {
                                     problem.extend_subgradient(minorants[fidx][minidx].primal.as_ref().unwrap(), vars)
                                         .map(DVector)
                                         .unwrap()
                                 });
            let newn = self.cur_y.len() + newvars.len();
            self.cur_y.extend(newvars.iter().map(|v| v.2));