Rename trait function

This commit is contained in:
Luis Moreno
2020-11-11 22:08:57 -04:00
parent 900078cb04
commit 49487bccd3
2 changed files with 7 additions and 7 deletions
+5 -5
View File
@@ -3,11 +3,11 @@ use std::collections::HashMap;
use crate::linalg::BaseVector; use crate::linalg::BaseVector;
pub trait RealNumberVector<T: RealNumber> { pub trait RealNumberVector<T: RealNumber> {
fn unique(&self) -> (Vec<T>, Vec<usize>); fn unique_with_indices(&self) -> (Vec<T>, Vec<usize>);
} }
impl<T: RealNumber, V: BaseVector<T>> RealNumberVector<T> for V { impl<T: RealNumber, V: BaseVector<T>> RealNumberVector<T> for V {
fn unique(&self) -> (Vec<T>, Vec<usize>) { fn unique_with_indices(&self) -> (Vec<T>, Vec<usize>) {
let mut unique = self.to_vec(); let mut unique = self.to_vec();
unique.sort_by(|a, b| a.partial_cmp(b).unwrap()); unique.sort_by(|a, b| a.partial_cmp(b).unwrap());
unique.dedup(); unique.dedup();
@@ -28,14 +28,14 @@ impl<T: RealNumber, V: BaseVector<T>> RealNumberVector<T> for V {
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use super::RealNumberVector; use super::*;
#[test] #[test]
fn unique() { fn unique_with_indices() {
let v1 = vec![0.0, 0.0, 1.0, 1.0, 2.0, 0.0, 4.0]; let v1 = vec![0.0, 0.0, 1.0, 1.0, 2.0, 0.0, 4.0];
assert_eq!( assert_eq!(
(vec!(0.0, 1.0, 2.0, 4.0), vec!(0, 0, 1, 1, 2, 0, 3)), (vec!(0.0, 1.0, 2.0, 4.0), vec!(0, 0, 1, 1, 2, 0, 3)),
v1.unique() v1.unique_with_indices()
); );
} }
} }
+2 -2
View File
@@ -7,8 +7,8 @@ pub fn contingency_matrix<T: RealNumber>(
labels_true: &Vec<T>, labels_true: &Vec<T>,
labels_pred: &Vec<T>, labels_pred: &Vec<T>,
) -> Vec<Vec<usize>> { ) -> Vec<Vec<usize>> {
let (classes, class_idx) = labels_true.unique(); let (classes, class_idx) = labels_true.unique_with_indices();
let (clusters, cluster_idx) = labels_pred.unique(); let (clusters, cluster_idx) = labels_pred.unique_with_indices();
let mut contingency_matrix = Vec::with_capacity(classes.len()); let mut contingency_matrix = Vec::with_capacity(classes.len());