diff -r edb95d2b83cc -r d2acaaddd9af src/bisection_tree/refine.rs --- a/src/bisection_tree/refine.rs Sun Nov 10 09:02:57 2024 -0500 +++ b/src/bisection_tree/refine.rs Tue Dec 31 09:12:43 2024 -0500 @@ -92,10 +92,9 @@ /// The `Refiner` is used to determine whether an [`Aggregator`] `A` stored in the [`BT`] is /// sufficiently refined within a [`Cube`], and in such a case, produce a desired result (e.g. /// a maximum value of a function). -pub trait Refiner : Sync + Send + 'static -where F : Num, - A : Aggregator, - G : SupportGenerator { +pub trait Refiner : Sync + Send + 'static +where A : Aggregator, + G : SupportGenerator { /// The result type of the refiner type Result : std::fmt::Debug + Sync + Send + 'static; @@ -125,7 +124,7 @@ fn refine( &self, aggregator : &A, - domain : &Cube, + domain : &Cube, data : &[G::Id], generator : &G, step : usize, @@ -323,9 +322,9 @@ container_arc : &'c Arc>>, step : usize ) -> Result>> - where R : Refiner, - G : SupportGenerator, - G::SupportType : LocalAnalysis { + where R : Refiner, + G : SupportGenerator, + G::SupportType : LocalAnalysis> { //drop(container); @@ -435,9 +434,9 @@ refiner : R, generator : &Arc, ) -> Option - where R : Refiner + Sync + Send + 'static, - G : SupportGenerator + Sync + Send + 'static, - G::SupportType : LocalAnalysis; + where R : Refiner + Sync + Send + 'static, + G : SupportGenerator + Sync + Send + 'static, + G::SupportType : LocalAnalysis>; } fn refinement_loop ( @@ -446,9 +445,9 @@ generator_arc : &Arc, container_arc : &Arc>>, ) where A : Aggregator, - R : Refiner, - G : SupportGenerator, - G::SupportType : LocalAnalysis, + R : Refiner, + G : SupportGenerator, + G::SupportType : LocalAnalysis>, Const

: BranchCount, D : 'static + Copy + Sync + Send + std::fmt::Debug { @@ -565,9 +564,9 @@ refiner : R, generator : &Arc, ) -> Option - where R : Refiner, - G : SupportGenerator, - G::SupportType : LocalAnalysis { + where R : Refiner, + G : SupportGenerator<$n, Id=D, RealField = F>, + G::SupportType : LocalAnalysis> { let mut init_container = HeapContainer { heap : BinaryHeap::new(), glb : R::Sorting::bottom(),