feat: adds new distance measures + LU decomposition
This commit is contained in:
@@ -1,9 +1,13 @@
|
||||
pub mod euclidian;
|
||||
pub mod minkowski;
|
||||
pub mod manhattan;
|
||||
pub mod hamming;
|
||||
pub mod mahalanobis;
|
||||
|
||||
use crate::math::num::FloatExt;
|
||||
|
||||
pub trait Distance<T, F: FloatExt>{
|
||||
fn distance(a: &T, b: &T) -> F;
|
||||
fn distance(&self, a: &T, b: &T) -> F;
|
||||
}
|
||||
|
||||
pub struct Distances{
|
||||
@@ -13,4 +17,16 @@ impl Distances {
|
||||
pub fn euclidian() -> euclidian::Euclidian{
|
||||
euclidian::Euclidian {}
|
||||
}
|
||||
|
||||
pub fn minkowski<T: FloatExt>(p: T) -> minkowski::Minkowski<T>{
|
||||
minkowski::Minkowski {p: p}
|
||||
}
|
||||
|
||||
pub fn manhattan() -> manhattan::Manhattan{
|
||||
manhattan::Manhattan {}
|
||||
}
|
||||
|
||||
pub fn hamming() -> hamming::Hamming{
|
||||
hamming::Hamming {}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user