src/sliding_fb.rs

changeset 91
47d495348e38
parent 89
8d1c959432c8
child 93
8f1e57821d76
--- a/src/sliding_fb.rs	Tue Aug 04 19:24:55 2026 -0500
+++ b/src/sliding_fb.rs	Tue Aug 04 19:41:34 2026 -0500
@@ -733,9 +733,10 @@
         assert!(self.vec.len() <= μ.len());
         let old_len = μ.len();
         for (ρ, δ) in self.vec.iter_mut().zip(μ.iter_spikes()) {
-            ρ.retain = δ.α.abs() > F::EPSILON;
+            ρ.retain = δ.α != F::ZERO;
         }
-        μ.prune_by(|δ| δ.α.abs() > F::EPSILON);
+        // Do not prune new insertions on first round.
+        μ.prune_until(self.vec.len());
         stats.pruned += old_len - μ.len();
         self.vec.retain(|ρ| ρ.retain);
         assert!(self.vec.len() <= μ.len());
@@ -1115,6 +1116,7 @@
                 &reg,
                 Some(|μ̃: &RNDM<N, F>| f.apply(μ̃) + reg.apply(μ̃)),
             );
+            // Prune. Do not prune new insertions on first round.
             γ.prune_compat(&mut μ, &mut stats);
 
             if config.insertion.random_insertions {
@@ -1142,6 +1144,7 @@
         })?;
 
         if did_merge.is_none() {
+            // Prune. Do not prune new insertions on first round.
             γ.prune_compat(&mut μ, &mut stats);
         }
 

mercurial