diff options
Diffstat (limited to 'src/embedders')
-rw-r--r-- | src/embedders/mod.rs | 4 | ||||
-rw-r--r-- | src/embedders/pure.rs | 4 | ||||
-rw-r--r-- | src/embedders/vecmetric.rs | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/src/embedders/mod.rs b/src/embedders/mod.rs index 1a1721d..83484a1 100644 --- a/src/embedders/mod.rs +++ b/src/embedders/mod.rs @@ -6,12 +6,12 @@ pub(crate) use pure::*; pub(crate) use vecmetric::*; use anyhow::Result; +use bincode::{Decode, Encode}; use indicatif::{ParallelProgressIterator, ProgressStyle}; use rayon::prelude::*; -use serde::{Deserialize, Serialize}; use std::path::{Path, PathBuf}; -pub trait MetricElem: Send + Sync + 'static + Serialize + for<'a> Deserialize<'a> { +pub trait MetricElem: Send + Sync + 'static + Encode + Decode { fn dist(&self, _: &Self) -> f64; } diff --git a/src/embedders/pure.rs b/src/embedders/pure.rs index 09c8321..531368c 100644 --- a/src/embedders/pure.rs +++ b/src/embedders/pure.rs @@ -1,5 +1,5 @@ use anyhow::{bail, Result}; -use serde::{Deserialize, Serialize}; +use bincode::{Decode, Encode}; use std::path::Path; use crate::{EmbedderT, MetricElem}; @@ -22,7 +22,7 @@ impl EmbedderT for BrightnessEmbedder { } #[repr(transparent)] -#[derive(Serialize, Deserialize)] +#[derive(Encode, Decode)] pub(crate) struct Hue(f64); impl MetricElem for Hue { fn dist(&self, b: &Hue) -> f64 { diff --git a/src/embedders/vecmetric.rs b/src/embedders/vecmetric.rs index 9f2f143..65d71df 100644 --- a/src/embedders/vecmetric.rs +++ b/src/embedders/vecmetric.rs @@ -1,13 +1,13 @@ use super::MetricElem; -use serde::{Deserialize, Serialize}; +use bincode::{Decode, Encode}; pub trait VecMetric: MetricElem + From<Vec<f32>> {} -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct AngularDistance(pub Vec<f32>); -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct EuclidianDistance(pub Vec<f32>); -#[derive(Deserialize, Serialize)] +#[derive(Decode, Encode)] pub struct ManhattenDistance(pub Vec<f32>); impl VecMetric for AngularDistance {} |