Skip to content

Commit 22d9f44

Browse files
committed
Do not change external API
1 parent a58a559 commit 22d9f44

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/svm/svc.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ impl<TX: Number + RealNumber, TY: Number + Ord, X: Array2<TX>, Y: Array1<TY>>
178178
self
179179
}
180180
/// The kernel function.
181-
pub fn with_kernel(mut self, kernel: Box<dyn Kernel>) -> Self {
182-
self.kernel = Some(kernel);
181+
pub fn with_kernel<K: Kernel + 'static>(mut self, kernel: K) -> Self {
182+
self.kernel = Some(Box::new(kernel));
183183
self
184184
}
185185

@@ -973,7 +973,7 @@ mod tests {
973973
let knl = Kernels::linear();
974974
let params = SVCParameters::default()
975975
.with_c(200.0)
976-
.with_kernel(Box::new(knl))
976+
.with_kernel(knl)
977977
.with_seed(Some(100));
978978

979979
let y_hat = SVC::fit(&x, &y, &params)
@@ -1012,7 +1012,7 @@ mod tests {
10121012
&y,
10131013
&SVCParameters::default()
10141014
.with_c(200.0)
1015-
.with_kernel(Box::new(Kernels::linear())),
1015+
.with_kernel(Kernels::linear()),
10161016
)
10171017
.and_then(|lr| lr.decision_function(&x2))
10181018
.unwrap();
@@ -1067,7 +1067,7 @@ mod tests {
10671067
&y,
10681068
&SVCParameters::default()
10691069
.with_c(1.0)
1070-
.with_kernel(Box::new(Kernels::rbf().with_gamma(0.7))),
1070+
.with_kernel(Kernels::rbf().with_gamma(0.7)),
10711071
)
10721072
.and_then(|lr| lr.predict(&x))
10731073
.unwrap();
@@ -1116,7 +1116,7 @@ mod tests {
11161116
];
11171117

11181118
let knl = Kernels::linear();
1119-
let params = SVCParameters::default().with_kernel(Box::new(knl));
1119+
let params = SVCParameters::default().with_kernel(knl);
11201120
let svc = SVC::fit(&x, &y, &params).unwrap();
11211121

11221122
// serialization

src/svm/svr.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,8 @@ impl<T: Number + FloatNumber + PartialOrd> SVRParameters<T> {
157157
self
158158
}
159159
/// The kernel function.
160-
pub fn with_kernel(mut self, kernel: Box<dyn Kernel>) -> Self {
161-
self.kernel = Some(kernel);
160+
pub fn with_kernel<K: Kernel + 'static>(mut self, kernel: K) -> Self {
161+
self.kernel = Some(Box::new(kernel));
162162
self
163163
}
164164
}
@@ -655,7 +655,7 @@ mod tests {
655655
&SVRParameters::default()
656656
.with_eps(2.0)
657657
.with_c(10.0)
658-
.with_kernel(Box::new(knl)),
658+
.with_kernel(knl),
659659
)
660660
.and_then(|lr| lr.predict(&x))
661661
.unwrap();
@@ -697,7 +697,7 @@ mod tests {
697697
];
698698

699699
let knl = Kernels::rbf().with_gamma(0.7);
700-
let params = SVRParameters::default().with_kernel(Box::new(knl));
700+
let params = SVRParameters::default().with_kernel(knl);
701701

702702
let svr = SVR::fit(&x, &y, &params).unwrap();
703703

0 commit comments

Comments
 (0)