Rename trait function
This commit is contained in:
+5
-5
@@ -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()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user