--- a/src/run.rs Thu Dec 01 23:07:35 2022 +0200 +++ b/src/run.rs Wed Nov 30 23:45:04 2022 +0200 @@ -67,7 +67,7 @@ /// Available algorithms and their configurations #[derive(Copy, Clone, Debug, Serialize, Deserialize)] -pub enum AlgorithmConfig<F : Float> { +pub enum AlgorithmConfig<F : ClapFloat> { FB(FBConfig<F>), FW(FWConfig<F>), PDPS(PDPSConfig<F>), @@ -141,7 +141,7 @@ impl DefaultAlgorithm { /// Returns the algorithm configuration corresponding to the algorithm shorthand - pub fn default_config<F : Float>(&self) -> AlgorithmConfig<F> { + pub fn default_config<F : ClapFloat>(&self) -> AlgorithmConfig<F> { use DefaultAlgorithm::*; match *self { FB => AlgorithmConfig::FB(Default::default()), @@ -159,11 +159,11 @@ } /// Returns the [`Named`] algorithm corresponding to the algorithm shorthand - pub fn get_named<F : Float>(&self) -> Named<AlgorithmConfig<F>> { + pub fn get_named<F : ClapFloat>(&self) -> Named<AlgorithmConfig<F>> { self.to_named(self.default_config()) } - pub fn to_named<F : Float>(self, alg : AlgorithmConfig<F>) -> Named<AlgorithmConfig<F>> { + pub fn to_named<F : ClapFloat>(self, alg : AlgorithmConfig<F>) -> Named<AlgorithmConfig<F>> { let name = self.to_possible_value().unwrap().get_name().to_string(); Named{ name , data : alg } } @@ -196,7 +196,7 @@ #[derive(Clone, Debug, Serialize)] #[serde(default)] -pub struct Configuration<F : Float> { +pub struct Configuration<F : ClapFloat> { /// Algorithms to run pub algorithms : Vec<Named<AlgorithmConfig<F>>>, /// Options for algorithm step iteration (verbosity, etc.) @@ -286,7 +286,7 @@ /// Struct for experiment configurations #[derive(Debug, Clone, Serialize)] pub struct Experiment<F, NoiseDistr, S, K, P, const N : usize> -where F : Float, +where F : ClapFloat, [usize; N] : Serialize, NoiseDistr : Distribution<F>, S : Sensor<F, N>, @@ -548,7 +548,7 @@ b : &A::Observable, kernel_plot_width : F, ) -> DynError -where F : Float + ToNalgebraRealField, +where F : ClapFloat + ToNalgebraRealField, Sensor : RealMapping<F, N> + Support<F, N> + Clone, Spread : RealMapping<F, N> + Support<F, N> + Clone, Kernel : RealMapping<F, N> + Support<F, N>,