projects
/
nihav.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
replace vec.truncate(0) with vec.clear()
[nihav.git]
/
nihav-codec-support
/
src
/
vq
/
generic_elbg.rs
diff --git
a/nihav-codec-support/src/vq/generic_elbg.rs
b/nihav-codec-support/src/vq/generic_elbg.rs
index 2dfed5bf9f08496f272508064551ef014fdcd102..d6c30d2a6de791d9d39268ea7c8d17a05810a53d 100644
(file)
--- a/
nihav-codec-support/src/vq/generic_elbg.rs
+++ b/
nihav-codec-support/src/vq/generic_elbg.rs
@@
-9,7
+9,7
@@
impl RNG {
fn new() -> Self { Self { seed: 0x1234 } }
fn next(&mut self) -> u8 {
if (self.seed & 0x8000) != 0 {
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;
}
} 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
}
clu1.calc_dist();
clu0.dist + clu1.dist
}
+ #[allow(clippy::cognitive_complexity)]
pub fn quantise(&mut self, src: &[T], dst: &mut [T]) -> usize {
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()];
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
}
// 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;
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);
}
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 {
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 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();
break;
}
let high_idx_idx = (rng.next() as usize) % high_u.len();