Skip to content

Commit 35c0632

Browse files
committed
Clippy fixes
1 parent 4c17295 commit 35c0632

File tree

4 files changed

+105
-82
lines changed

4 files changed

+105
-82
lines changed

src/create.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ impl TransferFunction {
311311
}
312312
TransferFunction::SMPTE2084 => {
313313
let pq_pow_inv_m2 = x.powf(1. / PQ_M2);
314-
(0_f32.max(pq_pow_inv_m2 - PQ_C1) / (PQ_C2 - PQ_C3 * pq_pow_inv_m2))
314+
(0_f32.max(pq_pow_inv_m2 - PQ_C1) / PQ_C3.mul_add(-pq_pow_inv_m2, PQ_C2))
315315
.powf(1. / PQ_M1)
316316
}
317317
}
@@ -395,7 +395,7 @@ fn generate_luma_noise_points(args: NoiseGenArgs) -> ScalingPoints {
395395
)
396396
.sqrt();
397397
let linear_noise = noise_in_electrons / max_electrons_per_pixel;
398-
let linear_range_start = 0_f32.max(linear - 2. * linear_noise);
398+
let linear_range_start = 0_f32.max(2.0f32.mul_add(-linear_noise, linear));
399399
let linear_range_end = 1_f32.min(2_f32.mul_add(linear_noise, linear));
400400
let tf_slope = (args.transfer_function.from_linear(linear_range_end)
401401
- args.transfer_function.from_linear(linear_range_start))

src/diff/solver.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ impl FlatBlockFinder {
137137
gxx /= block_size_norm_factor;
138138
gxy /= block_size_norm_factor;
139139
gyy /= block_size_norm_factor;
140-
var = var / block_size_norm_factor - mean.powi(2);
140+
var = mean.mul_add(-mean, var / block_size_norm_factor);
141141

142142
let trace = gxx + gyy;
143143
let det = gxx.mul_add(gyy, -gxy.powi(2));
@@ -902,7 +902,7 @@ impl NoiseModel {
902902
// But don't allow fully correlated noise (hence the max), since the
903903
// synthesis cannot model it.
904904
let uncorr_std = (noise_var / 16f64)
905-
.max(noise_var - (corr * luma_strength).powi(2))
905+
.max((corr * luma_strength).mul_add(-(corr * luma_strength), noise_var))
906906
.sqrt();
907907
let adjusted_strength = uncorr_std / noise_gain;
908908
self.latest_state[channel]
@@ -1000,7 +1000,7 @@ impl StrengthSolver {
10001000
let bin = self.get_bin_index(block_mean);
10011001
let bin_i0 = bin.floor() as usize;
10021002
let bin_i1 = (self.num_bins - 1).min(bin_i0 + 1);
1003-
let a = bin as f64 - bin_i0 as f64;
1003+
let a = bin - bin_i0 as f64;
10041004
let n = self.num_bins;
10051005
let eqns = &mut self.eqns;
10061006
eqns.a[bin_i0 * n + bin_i0] += (1f64 - a).powi(2);

src/lib.rs

Lines changed: 87 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -7,46 +7,94 @@
77
// Media Patent License 1.0 was not distributed with this source code in the
88
// PATENTS file, you can obtain it at www.aomedia.org/license/patent.
99

10-
#![deny(clippy::all)]
11-
#![warn(clippy::nursery)]
12-
#![warn(clippy::pedantic)]
13-
#![allow(clippy::cast_possible_truncation)]
14-
#![allow(clippy::cast_possible_wrap)]
15-
#![allow(clippy::cast_precision_loss)]
16-
#![allow(clippy::cast_sign_loss)]
17-
#![allow(clippy::default_trait_access)]
18-
#![allow(clippy::inconsistent_struct_constructor)]
19-
#![allow(clippy::inline_always)]
20-
#![allow(clippy::module_name_repetitions)]
21-
#![allow(clippy::redundant_closure_for_method_calls)]
22-
#![allow(clippy::similar_names)]
23-
#![allow(clippy::struct_excessive_bools)]
24-
#![allow(clippy::use_self)]
25-
#![warn(clippy::clone_on_ref_ptr)]
26-
#![warn(clippy::create_dir)]
27-
#![warn(clippy::dbg_macro)]
28-
#![warn(clippy::default_numeric_fallback)]
29-
#![warn(clippy::exit)]
30-
#![warn(clippy::filetype_is_file)]
31-
#![warn(clippy::float_cmp_const)]
32-
#![warn(clippy::if_then_some_else_none)]
33-
#![warn(clippy::lossy_float_literal)]
34-
#![warn(clippy::map_err_ignore)]
35-
#![warn(clippy::mem_forget)]
36-
#![warn(clippy::mod_module_files)]
37-
#![warn(clippy::multiple_inherent_impl)]
38-
#![warn(clippy::pattern_type_mismatch)]
39-
#![warn(clippy::rc_buffer)]
40-
#![warn(clippy::rc_mutex)]
41-
#![warn(clippy::rest_pat_in_fully_bound_structs)]
42-
#![warn(clippy::same_name_method)]
43-
#![warn(clippy::str_to_string)]
44-
#![warn(clippy::string_to_string)]
45-
#![warn(clippy::undocumented_unsafe_blocks)]
46-
#![warn(clippy::unnecessary_self_imports)]
47-
#![warn(clippy::unneeded_field_pattern)]
48-
#![warn(clippy::use_debug)]
10+
// Safety lints
11+
#![deny(bare_trait_objects)]
12+
#![deny(clippy::as_ptr_cast_mut)]
13+
#![deny(clippy::cast_ptr_alignment)]
14+
#![deny(clippy::large_stack_arrays)]
15+
#![deny(clippy::ptr_as_ptr)]
16+
#![deny(clippy::transmute_ptr_to_ptr)]
17+
#![deny(clippy::unwrap_used)]
18+
// Performance lints
19+
#![warn(clippy::cloned_instead_of_copied)]
20+
#![warn(clippy::inefficient_to_string)]
21+
#![warn(clippy::invalid_upcast_comparisons)]
22+
#![warn(clippy::iter_with_drain)]
23+
#![warn(clippy::large_types_passed_by_value)]
24+
#![warn(clippy::linkedlist)]
25+
#![warn(clippy::mutex_integer)]
26+
#![warn(clippy::naive_bytecount)]
27+
#![warn(clippy::needless_bitwise_bool)]
28+
#![warn(clippy::needless_collect)]
29+
#![warn(clippy::needless_pass_by_value)]
30+
#![warn(clippy::no_effect_underscore_binding)]
31+
#![warn(clippy::or_fun_call)]
32+
#![warn(clippy::stable_sort_primitive)]
33+
#![warn(clippy::suboptimal_flops)]
34+
#![warn(clippy::trivial_regex)]
35+
#![warn(clippy::trivially_copy_pass_by_ref)]
36+
#![warn(clippy::unnecessary_join)]
37+
#![warn(clippy::unused_async)]
38+
#![warn(clippy::zero_sized_map_values)]
39+
// Correctness lints
40+
#![deny(clippy::case_sensitive_file_extension_comparisons)]
41+
#![deny(clippy::copy_iterator)]
42+
#![deny(clippy::expl_impl_clone_on_copy)]
43+
#![deny(clippy::float_cmp)]
44+
#![warn(clippy::imprecise_flops)]
45+
#![deny(clippy::manual_instant_elapsed)]
46+
#![deny(clippy::match_same_arms)]
47+
#![deny(clippy::mem_forget)]
48+
#![warn(clippy::must_use_candidate)]
49+
#![deny(clippy::path_buf_push_overwrite)]
50+
#![deny(clippy::same_functions_in_if_condition)]
51+
#![warn(clippy::suspicious_operation_groupings)]
52+
#![deny(clippy::unchecked_duration_subtraction)]
53+
#![deny(clippy::unicode_not_nfc)]
54+
// Clarity/formatting lints
55+
#![warn(clippy::borrow_as_ptr)]
56+
#![warn(clippy::checked_conversions)]
57+
#![warn(clippy::default_trait_access)]
58+
#![warn(clippy::derive_partial_eq_without_eq)]
59+
#![warn(clippy::explicit_deref_methods)]
60+
#![warn(clippy::filter_map_next)]
61+
#![warn(clippy::flat_map_option)]
62+
#![warn(clippy::fn_params_excessive_bools)]
63+
#![warn(clippy::from_iter_instead_of_collect)]
64+
#![warn(clippy::if_not_else)]
65+
#![warn(clippy::implicit_clone)]
66+
#![warn(clippy::iter_not_returning_iterator)]
67+
#![warn(clippy::iter_on_empty_collections)]
68+
#![warn(clippy::macro_use_imports)]
69+
#![warn(clippy::manual_clamp)]
70+
#![warn(clippy::manual_let_else)]
71+
#![warn(clippy::manual_ok_or)]
72+
#![warn(clippy::manual_string_new)]
73+
#![warn(clippy::map_flatten)]
74+
#![warn(clippy::map_unwrap_or)]
75+
#![warn(clippy::match_bool)]
76+
#![warn(clippy::mut_mut)]
77+
#![warn(clippy::needless_borrow)]
78+
#![warn(clippy::needless_continue)]
79+
#![warn(clippy::option_if_let_else)]
80+
#![warn(clippy::range_minus_one)]
81+
#![warn(clippy::range_plus_one)]
82+
#![warn(clippy::redundant_else)]
83+
#![warn(clippy::ref_binding_to_reference)]
84+
#![warn(clippy::ref_option_ref)]
85+
#![warn(clippy::semicolon_if_nothing_returned)]
86+
#![warn(clippy::trait_duplication_in_bounds)]
87+
#![warn(clippy::type_repetition_in_bounds)]
88+
#![warn(clippy::unnested_or_patterns)]
89+
#![warn(clippy::unused_peekable)]
90+
#![warn(clippy::unused_rounding)]
91+
#![warn(clippy::unused_self)]
92+
#![warn(clippy::used_underscore_binding)]
93+
#![warn(clippy::verbose_bit_mask)]
4994
#![warn(clippy::verbose_file_reads)]
95+
// Documentation lints
96+
#![warn(clippy::doc_link_with_quotes)]
97+
#![warn(clippy::doc_markdown)]
5098

5199
#[cfg(feature = "create")]
52100
mod create;

src/parse.rs

Lines changed: 13 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
use std::ops::{Range, RangeFrom, RangeTo};
1111

1212
use arrayvec::ArrayVec;
13-
use itertools::Itertools;
1413
use nom::{
1514
branch::alt,
1615
bytes::complete::tag,
@@ -376,17 +375,9 @@ fn s_y_params(input: &str) -> IResult<&str, ArrayVec<[u8; 2], NUM_Y_POINTS>> {
376375

377376
Ok((
378377
input,
379-
values
380-
.into_iter()
381-
.skip(1)
382-
.chunks(2)
383-
.into_iter()
384-
.map(|mut chunk| {
385-
let mut vals = [0u8; 2];
386-
vals[0] = chunk.next().unwrap();
387-
vals[1] = chunk.next().unwrap();
388-
vals
389-
})
378+
values[1..]
379+
.chunks_exact(2)
380+
.map(|chunk| [chunk[0], chunk[1]])
390381
.collect(),
391382
))
392383
}
@@ -427,17 +418,9 @@ fn s_cb_params(input: &str) -> IResult<&str, ArrayVec<[u8; 2], NUM_UV_POINTS>> {
427418

428419
Ok((
429420
input,
430-
values
431-
.into_iter()
432-
.skip(1)
433-
.chunks(2)
434-
.into_iter()
435-
.map(|mut chunk| {
436-
let mut vals = [0u8; 2];
437-
vals[0] = chunk.next().unwrap();
438-
vals[1] = chunk.next().unwrap();
439-
vals
440-
})
421+
values[1..]
422+
.chunks_exact(2)
423+
.map(|chunk| [chunk[0], chunk[1]])
441424
.collect(),
442425
))
443426
}
@@ -478,17 +461,9 @@ fn s_cr_params(input: &str) -> IResult<&str, ArrayVec<[u8; 2], NUM_UV_POINTS>> {
478461

479462
Ok((
480463
input,
481-
values
482-
.into_iter()
483-
.skip(1)
484-
.chunks(2)
485-
.into_iter()
486-
.map(|mut chunk| {
487-
let mut vals = [0u8; 2];
488-
vals[0] = chunk.next().unwrap();
489-
vals[1] = chunk.next().unwrap();
490-
vals
491-
})
464+
values[1..]
465+
.chunks_exact(2)
466+
.map(|chunk| [chunk[0], chunk[1]])
492467
.collect(),
493468
))
494469
}
@@ -639,8 +614,8 @@ E 0 9223372036854775807 1 7391 1
639614
scaling_shift: 8,
640615
ar_coeff_lag: 0,
641616
ar_coeffs_y: ArrayVec::new(),
642-
ar_coeffs_cb: ArrayVec::try_from([0].as_slice()).unwrap(),
643-
ar_coeffs_cr: ArrayVec::try_from([0].as_slice()).unwrap(),
617+
ar_coeffs_cb: ArrayVec::try_from([0].as_slice()).expect("Arrayvec has capacity"),
618+
ar_coeffs_cr: ArrayVec::try_from([0].as_slice()).expect("Arrayvec has capacity"),
644619
ar_coeff_shift: 6,
645620
cb_mult: 0,
646621
cb_luma_mult: 0,
@@ -717,8 +692,8 @@ E 0 9223372036854775807 1 7391 1
717692
scaling_shift: 8,
718693
ar_coeff_lag: 0,
719694
ar_coeffs_y: ArrayVec::new(),
720-
ar_coeffs_cb: ArrayVec::try_from([0].as_slice()).unwrap(),
721-
ar_coeffs_cr: ArrayVec::try_from([0].as_slice()).unwrap(),
695+
ar_coeffs_cb: ArrayVec::try_from([0].as_slice()).expect("Arrayvec has capacity"),
696+
ar_coeffs_cr: ArrayVec::try_from([0].as_slice()).expect("Arrayvec has capacity"),
722697
ar_coeff_shift: 6,
723698
cb_mult: 128,
724699
cb_luma_mult: 192,

0 commit comments

Comments
 (0)