From 8a0cc78c612937d5bcf422739e61845c36b26ba6 Mon Sep 17 00:00:00 2001 From: Henry Schimke Date: Mon, 19 Dec 2022 18:04:43 -0600 Subject: [PATCH] convert most variable swaps to mem swaps --- src/aztec/detector.rs | 4 +--- src/common/global_histogram_binarizer.rs | 5 ++--- src/common/reedsolomon/generic_gf_poly.rs | 4 +--- src/common/reedsolomon/reedsolomon_decoder.rs | 4 +--- src/oned/rss/expanded/rss_expanded_reader.rs | 5 ++--- src/oned/rss/rss_14_reader.rs | 5 ++--- src/pdf417/decoder/ec/error_correction.rs | 4 +--- src/pdf417/decoder/ec/modulus_poly.rs | 4 +--- src/planar_yuv_luminance_source.rs | 4 +--- src/qrcode/detector/finder_pattern_finder.rs | 12 +++--------- src/result_point_utils.rs | 4 +--- 11 files changed, 16 insertions(+), 39 deletions(-) diff --git a/src/aztec/detector.rs b/src/aztec/detector.rs index 910dee2..9e86ca1 100644 --- a/src/aztec/detector.rs +++ b/src/aztec/detector.rs @@ -85,9 +85,7 @@ impl Detector { let mut bulls_eye_corners = self.get_bulls_eye_corners(p_center)?; if is_mirror { - let temp = bulls_eye_corners[0]; - bulls_eye_corners[0] = bulls_eye_corners[2]; - bulls_eye_corners[2] = temp; + bulls_eye_corners.swap(0,2); } // 3. Get the size of the matrix and other parameters from the bull's eye diff --git a/src/common/global_histogram_binarizer.rs b/src/common/global_histogram_binarizer.rs index d18a9d7..01e91a7 100644 --- a/src/common/global_histogram_binarizer.rs +++ b/src/common/global_histogram_binarizer.rs @@ -214,9 +214,8 @@ impl GlobalHistogramBinarizer { // Make sure firstPeak corresponds to the black peak. if firstPeak > secondPeak { - let temp = firstPeak; - firstPeak = secondPeak; - secondPeak = temp; + + std::mem::swap(&mut firstPeak, &mut secondPeak); } // If there is too little contrast in the image to pick a meaningful black point, throw rather diff --git a/src/common/reedsolomon/generic_gf_poly.rs b/src/common/reedsolomon/generic_gf_poly.rs index dc75096..dfce085 100644 --- a/src/common/reedsolomon/generic_gf_poly.rs +++ b/src/common/reedsolomon/generic_gf_poly.rs @@ -154,9 +154,7 @@ impl GenericGFPoly { let mut smallerCoefficients = self.coefficients.clone(); let mut largerCoefficients = other.coefficients.clone(); if smallerCoefficients.len() > largerCoefficients.len() { - let temp = smallerCoefficients; - smallerCoefficients = largerCoefficients; - largerCoefficients = temp; + std::mem::swap(&mut smallerCoefficients,&mut largerCoefficients) } let mut sumDiff = vec![0; largerCoefficients.len()]; diff --git a/src/common/reedsolomon/reedsolomon_decoder.rs b/src/common/reedsolomon/reedsolomon_decoder.rs index 9d74d12..3ec1cae 100644 --- a/src/common/reedsolomon/reedsolomon_decoder.rs +++ b/src/common/reedsolomon/reedsolomon_decoder.rs @@ -121,9 +121,7 @@ impl ReedSolomonDecoder { let mut a = a.clone(); let mut b = b.clone(); if a.getDegree() < b.getDegree() { - let temp = a; - a = b; - b = temp; + std::mem::swap(&mut a, &mut b); } let mut rLast = a; diff --git a/src/oned/rss/expanded/rss_expanded_reader.rs b/src/oned/rss/expanded/rss_expanded_reader.rs index 958529b..2fac737 100644 --- a/src/oned/rss/expanded/rss_expanded_reader.rs +++ b/src/oned/rss/expanded/rss_expanded_reader.rs @@ -840,9 +840,8 @@ impl RSSExpandedReader { let mut j = counters.len() - 1; while i < j { // for (int i = 0, j = counters.length - 1; i < j; i++, j--) { - let temp = counters[i]; - counters[i] = counters[j]; - counters[j] = temp; + + counters.swap(i, j); i += 1; j -= 1; diff --git a/src/oned/rss/rss_14_reader.rs b/src/oned/rss/rss_14_reader.rs index cfe949f..e77c43b 100644 --- a/src/oned/rss/rss_14_reader.rs +++ b/src/oned/rss/rss_14_reader.rs @@ -307,9 +307,8 @@ impl RSS14Reader { let mut j = counters.len() - 1; while i < j { // for (int i = 0, j = counters.length - 1; i < j; i++, j--) { - let temp = counters[i]; - counters[i] = counters[j]; - counters[j] = temp; + + counters.swap(i,j); i += 1; j -= 1; diff --git a/src/pdf417/decoder/ec/error_correction.rs b/src/pdf417/decoder/ec/error_correction.rs index 16a9fc7..775f93d 100644 --- a/src/pdf417/decoder/ec/error_correction.rs +++ b/src/pdf417/decoder/ec/error_correction.rs @@ -124,9 +124,7 @@ fn runEuclideanAlgorithm( let mut a = a; let mut b = b; if a.getDegree() < b.getDegree() { - let temp = a; - a = b; - b = temp; + std::mem::swap(&mut a,&mut b); } let mut rLast = a; diff --git a/src/pdf417/decoder/ec/modulus_poly.rs b/src/pdf417/decoder/ec/modulus_poly.rs index 1e3bd67..c7bf9b3 100644 --- a/src/pdf417/decoder/ec/modulus_poly.rs +++ b/src/pdf417/decoder/ec/modulus_poly.rs @@ -139,9 +139,7 @@ impl ModulusPoly { let mut smallerCoefficients = &self.coefficients; let mut largerCoefficients = &other.coefficients; if smallerCoefficients.len() > largerCoefficients.len() { - let temp = smallerCoefficients; - smallerCoefficients = largerCoefficients; - largerCoefficients = temp; + std::mem::swap(&mut smallerCoefficients, &mut largerCoefficients); } let mut sumDiff = vec![0032; largerCoefficients.len()]; let lengthDiff = largerCoefficients.len() - smallerCoefficients.len(); diff --git a/src/planar_yuv_luminance_source.rs b/src/planar_yuv_luminance_source.rs index 4825fa2..c2d5780 100644 --- a/src/planar_yuv_luminance_source.rs +++ b/src/planar_yuv_luminance_source.rs @@ -230,9 +230,7 @@ impl PlanarYUVLuminanceSource { let mut x2 = rowStart + width - 1; for x1 in rowStart..middle { //for (int x1 = rowStart, x2 = rowStart + width - 1; x1 < middle; x1++, x2--) { - let temp = self.yuv_data[x1]; - self.yuv_data[x1] = self.yuv_data[x2]; - self.yuv_data[x2] = temp; + self.yuv_data.swap(x1, x2); x2 -= 1; } rowStart += self.data_width; diff --git a/src/qrcode/detector/finder_pattern_finder.rs b/src/qrcode/detector/finder_pattern_finder.rs index 3bf23d1..8bbb257 100755 --- a/src/qrcode/detector/finder_pattern_finder.rs +++ b/src/qrcode/detector/finder_pattern_finder.rs @@ -767,9 +767,7 @@ impl FinderPatternFinder { if a < b { if b > c { if a < c { - let temp = b; - b = c; - c = temp; + std::mem::swap(&mut b, &mut c) } else { let temp = a; a = c; @@ -780,9 +778,7 @@ impl FinderPatternFinder { } else { if b < c { if a < c { - let temp = a; - a = b; - b = temp; + std::mem::swap(&mut a, &mut b) } else { let temp = a; a = b; @@ -790,9 +786,7 @@ impl FinderPatternFinder { c = temp; } } else { - let temp = a; - a = c; - c = temp; + std::mem::swap(&mut a, &mut c); } } diff --git a/src/result_point_utils.rs b/src/result_point_utils.rs index 0b0a0b1..d11a24a 100644 --- a/src/result_point_utils.rs +++ b/src/result_point_utils.rs @@ -50,9 +50,7 @@ pub fn orderBestPatterns(patterns: &mut [T; 3]) { // we want for A, B, C. If it's negative, then we've got it flipped around and // should swap A and C. if crossProductZ(pointA, pointB, pointC) < 0.0f32 { - let temp = pointA; - pointA = pointC; - pointC = temp; + std::mem::swap(&mut pointA, &mut pointC); } let pa = pointA;