Skip to content

Commit 1773ed0

Browse files
Volodymyr OrlovVolodymyr Orlov
authored andcommitted
fix: SVC: some more post-review refactoring
1 parent bf8d0c0 commit 1773ed0

File tree

1 file changed

+27
-17
lines changed

1 file changed

+27
-17
lines changed

src/svm/svc.rs

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -468,19 +468,18 @@ impl<'a, T: RealNumber, M: Matrix<T>, K: Kernel<T, M::RowVector>> Optimizer<'a,
468468
idx_2: Option<usize>,
469469
cache: &mut Cache<T, M, K>,
470470
) -> Option<(usize, usize, T)> {
471-
472471
match (idx_1, idx_2) {
473472
(None, None) => {
474473
if self.gmax > -self.gmin {
475474
self.select_pair(None, Some(self.svmax), cache)
476475
} else {
477476
self.select_pair(Some(self.svmin), None, cache)
478-
}
479-
},
477+
}
478+
}
480479
(Some(idx_1), None) => {
481-
let sv1 = &self.sv[idx_1];
480+
let sv1 = &self.sv[idx_1];
482481
let mut idx_2 = None;
483-
let mut k_v_12 = None;
482+
let mut k_v_12 = None;
484483
let km = sv1.k;
485484
let gm = sv1.grad;
486485
let mut best = T::zero();
@@ -493,7 +492,8 @@ impl<'a, T: RealNumber, M: Matrix<T>, K: Kernel<T, M::RowVector>> Optimizer<'a,
493492
curv = self.tau;
494493
}
495494
let mu = z / curv;
496-
if (mu > T::zero() && v.alpha < v.cmax) || (mu < T::zero() && v.alpha > v.cmin) {
495+
if (mu > T::zero() && v.alpha < v.cmax) || (mu < T::zero() && v.alpha > v.cmin)
496+
{
497497
let gain = z * mu;
498498
if gain > best {
499499
best = gain;
@@ -503,10 +503,14 @@ impl<'a, T: RealNumber, M: Matrix<T>, K: Kernel<T, M::RowVector>> Optimizer<'a,
503503
}
504504
}
505505

506-
idx_2.map(|idx_2| {
507-
(idx_1, idx_2, k_v_12.unwrap_or(self.kernel.apply(&self.sv[idx_1].x, &self.sv[idx_2].x)))
508-
})
509-
},
506+
idx_2.map(|idx_2| {
507+
(
508+
idx_1,
509+
idx_2,
510+
k_v_12.unwrap_or(self.kernel.apply(&self.sv[idx_1].x, &self.sv[idx_2].x)),
511+
)
512+
})
513+
}
510514
(None, Some(idx_2)) => {
511515
let mut idx_1 = None;
512516
let sv2 = &self.sv[idx_2];
@@ -524,7 +528,8 @@ impl<'a, T: RealNumber, M: Matrix<T>, K: Kernel<T, M::RowVector>> Optimizer<'a,
524528
}
525529

526530
let mu = z / curv;
527-
if (mu > T::zero() && v.alpha > v.cmin) || (mu < T::zero() && v.alpha < v.cmax) {
531+
if (mu > T::zero() && v.alpha > v.cmin) || (mu < T::zero() && v.alpha < v.cmax)
532+
{
528533
let gain = z * mu;
529534
if gain > best {
530535
best = gain;
@@ -534,15 +539,20 @@ impl<'a, T: RealNumber, M: Matrix<T>, K: Kernel<T, M::RowVector>> Optimizer<'a,
534539
}
535540
}
536541

537-
idx_1.map(|idx_1| {
538-
(idx_1, idx_2, k_v_12.unwrap_or(self.kernel.apply(&self.sv[idx_1].x, &self.sv[idx_2].x)))
542+
idx_1.map(|idx_1| {
543+
(
544+
idx_1,
545+
idx_2,
546+
k_v_12.unwrap_or(self.kernel.apply(&self.sv[idx_1].x, &self.sv[idx_2].x)),
547+
)
539548
})
540-
},
541-
(Some(idx_1), Some(idx_2)) => {
542-
Some((idx_1, idx_2, self.kernel.apply(&self.sv[idx_1].x, &self.sv[idx_2].x)))
543549
}
550+
(Some(idx_1), Some(idx_2)) => Some((
551+
idx_1,
552+
idx_2,
553+
self.kernel.apply(&self.sv[idx_1].x, &self.sv[idx_2].x),
554+
)),
544555
}
545-
546556
}
547557

548558
fn smo(

0 commit comments

Comments
 (0)