Add test case for WeightMatrix
This commit is contained in:
parent
999470f6ed
commit
75a5f20802
@ -9,6 +9,7 @@ pub struct WeightMatrix<T: WeightNum> {
|
|||||||
|
|
||||||
impl<T: WeightNum> Weights for WeightMatrix<T> {
|
impl<T: WeightNum> Weights for WeightMatrix<T> {
|
||||||
type T = T;
|
type T = T;
|
||||||
|
|
||||||
#[inline(always)]
|
#[inline(always)]
|
||||||
fn n(&self) -> usize {
|
fn n(&self) -> usize {
|
||||||
self.c.n()
|
self.c.n()
|
||||||
@ -76,3 +77,18 @@ impl<T: WeightNum> WeightMatrix<T> {
|
|||||||
self.c.as_slice()
|
self.c.as_slice()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_weight_matrix() {
|
||||||
|
assert_eq!(0, WeightMatrix::from_row_vec(1, vec![0]).min_of_row(0));
|
||||||
|
assert_eq!(1, WeightMatrix::from_row_vec(1, vec![1]).min_of_row(0));
|
||||||
|
assert_eq!(1, WeightMatrix::from_row_vec(2, vec![5, 1, 0, 0]).min_of_row(0));
|
||||||
|
|
||||||
|
let mut mat = WeightMatrix::from_row_vec(2, vec![0, 1, 2, 3]);
|
||||||
|
mat.sub_row(1, 1);
|
||||||
|
assert_eq!(&[0, 1, 1, 2], mat.as_slice());
|
||||||
|
|
||||||
|
let mut mat = WeightMatrix::from_row_vec(2, vec![5, 3, 2, 3]);
|
||||||
|
mat.sub_min_of_each_row();
|
||||||
|
assert_eq!(&[2, 0, 0, 1], mat.as_slice());
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user