replace vec.truncate(0) with vec.clear()
[nihav.git] / nihav-codec-support / src / vq / generic_elbg.rs
index 2dfed5bf9f08496f272508064551ef014fdcd102..d6c30d2a6de791d9d39268ea7c8d17a05810a53d 100644 (file)
@@ -9,7 +9,7 @@ impl RNG {
     fn new() -> Self { Self { seed: 0x1234 } }
     fn next(&mut self) -> u8 {
         if (self.seed & 0x8000) != 0 {
-            self.seed = (self.seed & 0x7FFF) * 2 ^ 0x1B2B;
+            self.seed = ((self.seed & 0x7FFF) * 2) ^ 0x1B2B;
         } else {
             self.seed <<= 1;
         }
@@ -148,8 +148,9 @@ impl<T: VQElement+Default, TS: VQElementSum<T>> ELBG<T, TS> {
         clu1.calc_dist();
         clu0.dist + clu1.dist
     }
+    #[allow(clippy::cognitive_complexity)]
     pub fn quantise(&mut self, src: &[T], dst: &mut [T]) -> usize {
-        if src.len() < 1 || dst.len() != self.clusters.len() {
+        if src.is_empty() || dst.len() != self.clusters.len() {
             return 0;
         }
         let mut old_cb = vec![T::default(); self.clusters.len()];
@@ -198,7 +199,7 @@ impl<T: VQElement+Default, TS: VQElementSum<T>> ELBG<T, TS> {
             }
 
             // put points into the nearest clusters
-            indices.truncate(0);
+            indices.clear();
             for entry in entries.iter() {
                 let mut bestidx = 0;
                 let mut bestdist = std::u32::MAX;
@@ -229,8 +230,8 @@ impl<T: VQElement+Default, TS: VQElementSum<T>> ELBG<T, TS> {
             }
 
             let dmean = dist / (dst.len() as u64);
-            low_u.truncate(0);
-            high_u.truncate(0);
+            low_u.clear();
+            high_u.clear();
             let mut used = vec![false; dst.len()];
             for (i, cluster) in self.clusters.iter().enumerate() {
                 if cluster.dist < dmean {
@@ -244,7 +245,7 @@ impl<T: VQElement+Default, TS: VQElementSum<T>> ELBG<T, TS> {
             if do_elbg_step {
                 do_elbg_step = false;
                 for low_idx in low_u.iter() {
-                    if high_u.len() == 0 {
+                    if high_u.is_empty() {
                         break;
                     }
                     let high_idx_idx = (rng.next() as usize) % high_u.len();