]> git.nihav.org Git - nihav.git/commitdiff
use <type>::{MAX,MIN} instead of deprecated std::<type>::{MAX,MIN} master
authorKostya Shishkov <kostya.shishkov@gmail.com>
Wed, 28 May 2025 16:30:34 +0000 (18:30 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Wed, 28 May 2025 16:30:34 +0000 (18:30 +0200)
25 files changed:
nihav-acorn/src/codecs/escape.rs
nihav-codec-support/src/codecs/imaadpcm.rs
nihav-codec-support/src/vq/generic_elbg.rs
nihav-commonfmt/src/codecs/cinepakenc.rs
nihav-commonfmt/src/demuxers/mov.rs
nihav-commonfmt/src/demuxers/wav.rs
nihav-core/src/compr/deflate.rs
nihav-core/src/scale/palette/elbg.rs
nihav-core/src/scale/palette/neuquant.rs
nihav-core/src/scale/palette/palettise.rs
nihav-core/src/soundcvt/mod.rs
nihav-duck/src/codecs/truemotion1enc.rs
nihav-duck/src/codecs/truemotionrtenc.rs
nihav-duck/src/codecs/vp6enc/dsp.rs
nihav-duck/src/codecs/vp7enc/motion_est.rs
nihav-duck/src/codecs/vp7enc/rdo.rs
nihav-flash/src/codecs/adpcm.rs
nihav-llaudio/src/muxers/flac.rs
nihav-ms/src/codecs/msadpcm.rs
nihav-ms/src/codecs/msvideo1enc.rs
nihav-rad/src/codecs/binkvidenc.rs
nihav-realmedia/src/codecs/rv40enc/mb_coding.rs
nihav-realmedia/src/codecs/rv40enc/motion_est.rs
nihav-realmedia/src/codecs/rv40enc/ratectl.rs
nihav-vivo/src/codecs/g723_1.rs

index 16a07cee119e2f5cfc057a890cac4541edb57bca..dea9d5b958e82bff5132b6a14562fef9e533cb52 100644 (file)
@@ -720,7 +720,7 @@ impl EscapeIMAState {
         let sign = (nibble & 8) != 0;
         let diff = (i32::from(nibble & 7) * IMA_STEP_TABLE[self.step]) >> 2;
         let sample = if !sign { self.predictor + diff } else { self.predictor - diff };
-        self.predictor = sample.max(i32::from(std::i16::MIN)).min(i32::from(std::i16::MAX));
+        self.predictor = sample.max(i32::from(i16::MIN)).min(i32::from(i16::MAX));
         self.step = istep.max(0).min(IMA_MAX_STEP as isize) as usize;
         self.predictor as i16
     }
index c2e7fd042bb9eec7a21d09b9ae0a2e075bd0014e..dcd1ed44497810eaf6b07769ca3f4c9e5be3275a 100644 (file)
@@ -52,7 +52,7 @@ impl IMAState {
         let sign = (nibble & 8) != 0;
         let diff = (i32::from(2 * (nibble & 7) + 1) * IMA_STEP_TABLE[self.step]) >> 3;
         let sample = if !sign { self.predictor + diff } else { self.predictor - diff };
-        self.predictor = sample.max(i32::from(std::i16::MIN)).min(i32::from(std::i16::MAX));
+        self.predictor = sample.max(i32::from(i16::MIN)).min(i32::from(i16::MAX));
         self.step = istep.max(0).min(IMA_MAX_STEP as isize) as usize;
         self.predictor as i16
     }
index 3925914fdb072a97b97b0330da1ab7f458819d05..25843654cbafba1b0481ce1c8c0809db1f3135ce 100644 (file)
@@ -154,8 +154,8 @@ impl<T: VQElement+Default, TS: VQElementSum<T>> ELBG<T, TS> {
             return 0;
         }
         let mut old_cb = vec![T::default(); self.clusters.len()];
-        let mut prev_dist = std::u64::MAX;
-        let mut dist = std::u64::MAX / 2;
+        let mut prev_dist = u64::MAX;
+        let mut dist = u64::MAX / 2;
         let mut indices = Vec::with_capacity(src.len());
         let mut elements = Vec::with_capacity(src.len());
         elements.extend_from_slice(src);
@@ -202,7 +202,7 @@ impl<T: VQElement+Default, TS: VQElementSum<T>> ELBG<T, TS> {
             indices.clear();
             for entry in entries.iter() {
                 let mut bestidx = 0;
-                let mut bestdist = std::u32::MAX;
+                let mut bestdist = u32::MAX;
                 for (i, cluster) in self.clusters.iter().enumerate() {
                     let dist = entry.val.dist(cluster.centroid);
                     if bestdist > dist {
@@ -251,7 +251,7 @@ impl<T: VQElement+Default, TS: VQElementSum<T>> ELBG<T, TS> {
                     let high_idx_idx = (rng.next() as usize) % high_u.len();
                     let high_idx = high_u[high_idx_idx];
                     let mut closest_idx = *low_idx;
-                    let mut closest_dist = std::u32::MAX;
+                    let mut closest_dist = u32::MAX;
                     let low_centr = self.clusters[*low_idx].centroid;
                     for (i, (&used, cluster)) in used.iter().zip(self.clusters.iter()).take(dst.len()).enumerate() {
                         if i == *low_idx || used {
index 216ccca4624a47b7edf881a2dd9dd947645b2527..e5f888c4ada75d2c0f0c3180dfa98c4119372200 100644 (file)
@@ -419,7 +419,7 @@ impl CinepakEncoder {
         }
     }
     fn find_nearest(codebook: &[YUVCode], code: YUVCode) -> (u8, u32) {
-        let mut min_dist = std::u32::MAX;
+        let mut min_dist = u32::MAX;
         let mut idx = 0;
         for (i, cw) in codebook.iter().enumerate() {
             let dist = cw.dist(code);
index a8a87b9cd440f1223447581ec2a6ca042c61a282..a1c3669750156334f431cbec40b142c3e3e7763e 100644 (file)
@@ -827,7 +827,7 @@ fn read_stss(track: &mut Track, br: &mut ByteReader, size: u64) -> DemuxerResult
     validate!(version == 0);
     let _flags              = br.read_u24be()?;
     let entries             = br.read_u32be()? as usize;
-    validate!(entries < ((std::u32::MAX >> 2) - 8) as usize);
+    validate!(entries < ((u32::MAX >> 2) - 8) as usize);
     validate!((entries * 4 + 8) as u64 == size);
     track.keyframes = Vec::with_capacity(entries);
     let mut last_sample_no = 0;
@@ -845,7 +845,7 @@ fn read_stsc(track: &mut Track, br: &mut ByteReader, size: u64) -> DemuxerResult
     validate!(version == 0);
     let _flags              = br.read_u24be()?;
     let entries             = br.read_u32be()? as usize;
-    validate!(entries < ((std::u32::MAX / 12) - 8) as usize);
+    validate!(entries < ((u32::MAX / 12) - 8) as usize);
     validate!((entries * 12 + 8) as u64 == size);
     track.sample_map = Vec::with_capacity(entries);
     let mut last_sample_no = 0;
@@ -1067,7 +1067,7 @@ fn read_trun(track: &mut Track, br: &mut ByteReader, size: u64) -> DemuxerResult
         track.ctts_map.reserve(sample_count);
     }
 
-    if track.chunk_offsets.len() < (std::u32::MAX as usize) {
+    if track.chunk_offsets.len() < (u32::MAX as usize) {
         track.keyframes.push((track.chunk_offsets.len() + 1) as u32);
     }
     for _ in 0..sample_count {
@@ -1770,7 +1770,7 @@ impl<'a> DemuxCore<'a> for MOVDemuxer<'a> {
             return Err(DemuxerError::EOF);
         }
         let mut has_all_time = true;
-        let mut min_ts = std::u64::MAX;
+        let mut min_ts = u64::MAX;
         for trk in self.tracks.iter() {
             if let Some(ts) = trk.cur_ts {
                 min_ts = min_ts.min(ts);
index 193623eea2f3c72359fd236ddf215fac329dcbcc..b28294a4e21ef767502b1da801fb4559337ee8ad 100644 (file)
@@ -29,7 +29,7 @@ impl<'a> DemuxCore<'a> for WAVDemuxer<'a> {
     fn open(&mut self, strmgr: &mut StreamManager, seek_index: &mut SeekIndex) -> DemuxerResult<()> {
         let riff                        = self.src.read_u32be()?;
         let riff_size                   = self.src.read_u32le()? as usize;
-        let riff_end = self.src.tell() + if riff_size > 0 { riff_size as u64 } else { u64::from(std::u32::MAX) };
+        let riff_end = self.src.tell() + if riff_size > 0 { riff_size as u64 } else { u64::from(u32::MAX) };
         let wave                        = self.src.read_u32be()?;
         validate!(riff == mktag!(b"RIFF"));
         validate!(wave == mktag!(b"WAVE"));
index bb47c5bd9789c537a901286cb9821881f4d04a99..80a84d8472ba60171482c6f196cbf3446145168e 100644 (file)
@@ -1822,7 +1822,7 @@ struct TNode {
 impl Default for TNode {
     fn default() -> Self {
         Self {
-            price:  std::u32::MAX,
+            price:  u32::MAX,
             dist:   0,
             link:   0,
         }
index 1ec3edd341a53d72b88f2237f6668bbf799899f8..1af3c307f29f1b2b3bf336e96544e8a6f031ed8e 100644 (file)
@@ -201,8 +201,8 @@ impl ELBG {
             return;
         }
         let mut old_cb: [Pixel; 256] = [Pixel::default(); 256];
-        let mut prev_dist = std::u64::MAX;
-        let mut dist = std::u64::MAX / 2;
+        let mut prev_dist = u64::MAX;
+        let mut dist = u64::MAX / 2;
         let mut indices = Vec::with_capacity(src.len());
         let mut pixels = Vec::with_capacity(src.len());
         pixels.extend_from_slice(src);
@@ -239,7 +239,7 @@ impl ELBG {
             indices.clear();
             for entry in entries.iter() {
                 let mut bestidx = 0;
-                let mut bestdist = std::u32::MAX;
+                let mut bestdist = u32::MAX;
                 for (i, cluster) in self.clusters.iter().enumerate() {
                     let dist = entry.pix.dist(cluster.centroid);
                     if bestdist > dist {
@@ -288,7 +288,7 @@ impl ELBG {
                     let high_idx_idx = (rng.next() as usize) % high_u.len();
                     let high_idx = high_u[high_idx_idx];
                     let mut closest_idx = *low_idx;
-                    let mut closest_dist = std::u32::MAX;
+                    let mut closest_dist = u32::MAX;
                     let low_centr = self.clusters[*low_idx].centroid;
                     for (i, (cluster, &used)) in self.clusters.iter().zip(used.iter()).enumerate() {//low_u.iter() {
                         if i == *low_idx || used {
index 2168b6829924a8dbddd294715cb7259a3c767b45..787f340cbdcb5a73bb1d958f5fed4aec7a3bbf99 100644 (file)
@@ -60,9 +60,9 @@ impl NeuQuantQuantiser {
                 return i;
             }
         }
-        let mut bestdist = std::f64::MAX;
+        let mut bestdist = f64::MAX;
         let mut distidx = 0;
-        let mut bestbias = std::f64::MAX;
+        let mut bestbias = f64::MAX;
         let mut biasidx = 0;
         for i in SPECIAL_NODES..256 {
             let dist = (self.weights[i][0] - clr[0]) * (self.weights[i][0] - clr[0])
index ab82d2f00feeaadbd3a7e13993bf9442e92e380c..f8b4e6aa9d1742d0eabb7309889cca6348dd51f6 100644 (file)
@@ -1,6 +1,6 @@
 pub fn find_nearest(pix: &[u8], pal: &[[u8; 3]; 256]) -> usize {
     let mut bestidx = 0;
-    let mut bestdist = std::i32::MAX;
+    let mut bestdist = i32::MAX;
 
     for (idx, entry) in pal.iter().enumerate() {
         let dist0 = i32::from(pix[0]) - i32::from(entry[0]);
@@ -58,7 +58,7 @@ impl LocalSearch {
     }
     pub fn search(&self, pix: [u8; 3]) -> usize {
         let idx = Self::quant(pix);
-        let mut best_dist = std::u32::MAX;
+        let mut best_dist = u32::MAX;
         let mut best_idx = 0;
         let mut count = 0;
         for clr in self.db[idx].iter() {
index 30f0cd66d24aca76dcb76c89f9bf9c3934dab910..b8fda80c8d5eb8fea7bc3d0fa4fd858b47621152 100644 (file)
@@ -141,9 +141,9 @@ impl FromFmt<f32> for i16 {
 impl FromFmt<f32> for i32 {
     fn cvt_from(val: f32) -> i32 {
         if val >= 1.0 {
-            std::i32::MAX
+            i32::MAX
         } else if val <= -1.0 {
-            std::i32::MIN
+            i32::MIN
         } else {
             let scale = (1u32 << 31) as f32;
             (val * scale) as i32
index 90aa32f4d361a4f347f3c58ae371f2302d709a0c..ec97b0d647a3a0b20d671048461f106690751a54 100644 (file)
@@ -158,7 +158,7 @@ fn load24(frm: &mut [WorkPixel], width: usize, vbuf: &NAVideoBuffer<u8>) {
     }
 }
 
-const MAX_DIFF: i32 = std::i32::MAX;
+const MAX_DIFF: i32 = i32::MAX;
 
 fn luma15_delta(pix: &mut WorkPixel, pred: WorkPixel, tgt: WorkPixel, deltas: &[i32; 8], fat_deltas: &[i32; 8]) {
     let mut tpix = *pix;
index 47236ddbb1e1c88ab67c2320dd475e34f0ec3bcf..f2cfd5d0fb621d0589f439e695bcfab8d842b18e 100644 (file)
@@ -9,7 +9,7 @@ const TMRT_DELTA_TAB: [&[i16]; 3] = [
 ];
 
 const FIRST_NODE: u8 = 255;
-const ERR_MAX: u32 = std::u32::MAX;
+const ERR_MAX: u32 = u32::MAX;
 
 #[derive(Clone, Copy, Default)]
 struct TrellisNode {
index ced33b17c9d59ef100a3b0dbc06a35b743e9cf6d..d0481f1ffa0efc0fe40ea12c92ba0b39352e1094 100644 (file)
@@ -84,7 +84,7 @@ impl MVSearchModeCreate for MVSearchMode {
     }
 }
 
-const MAX_DIST: u32 = std::u32::MAX;
+const MAX_DIST: u32 = u32::MAX;
 const DIST_THRESH: u32 = 256;
 
 #[allow(clippy::wrong_self_convention)]
index 824139775b98a02a89e491581918fe68d18cbcca..704afb9118f4d0a0bc5220f9da4c4d22bfa09fd8 100644 (file)
@@ -21,7 +21,7 @@ impl MVSearchModeCreate for MVSearchMode {
     }
 }
 
-const MAX_DIST: u32 = std::u32::MAX;
+const MAX_DIST: u32 = u32::MAX;
 const DIST_THRESH: u32 = 256;
 pub const LARGE_BLK8_DIST: u32 = 256;
 
@@ -118,7 +118,7 @@ impl MVSearch for EliminationSearch {
                 bavg[chroma + 1] += blk.iter().fold(0u16, |acc, &x| acc + u16::from(x));
             }
         }
-        let mut rough_dist = std::i32::MAX;
+        let mut rough_dist = i32::MAX;
         for ytry in 0..mv_est.mv_range * 2 + 1 {
             let dy = if (ytry & 1) == 0 { ytry >> 1 } else { -((ytry + 1) >> 1) };
             let ypos = (mb_y as isize) * 16 + (dy as isize);
@@ -165,7 +165,7 @@ impl MVSearch for EliminationSearch {
         let (width, height) = mv_est.ref_frame.get_dimensions(0);
         let bavg = ref_blk.iter().fold(0u16, |acc, &x| acc + u16::from(x));
 
-        let mut rough_dist = std::i32::MAX;
+        let mut rough_dist = i32::MAX;
         for ytry in 0..mv_est.mv_range * 2 + 1 {
             let dy = if (ytry & 1) == 0 { ytry >> 1 } else { -((ytry + 1) >> 1) };
             let ypos = (ypos_orig as isize) + (dy as isize);
@@ -220,7 +220,7 @@ impl MVSearch for EliminationSearch {
         let (width, height) = mv_est.ref_frame.get_dimensions(0);
         let bavg = ref_blk.iter().fold(0u16, |acc, &x| acc + u16::from(x));
 
-        let mut rough_dist = std::i32::MAX;
+        let mut rough_dist = i32::MAX;
         for ytry in 0..mv_est.mv_range * 2 + 1 {
             let dy = if (ytry & 1) == 0 { ytry >> 1 } else { -((ytry + 1) >> 1) };
             let ypos = (ypos_orig as isize) + (dy as isize);
index 50ace9464ba9a7c878d035d31c2222c230f1c790..4dc7cea80ead1f73f4c1002ea888fd8609d068a3 100644 (file)
@@ -4,7 +4,7 @@ use super::coder::*;
 static mut COUNTER: usize = 0;
 
 pub const SMALL_DIST: u32 = 256;
-pub const MAX_DIST: u32 = std::u32::MAX;
+pub const MAX_DIST: u32 = u32::MAX;
 
 const INTER_TO_INTRA_RATIO: f32 = 0.85;
 
index d72b1010de468c0d5ac746da8c9ccc85d8c905e6..e62e74177c4f0fe779825eee350f97919b1ec045 100644 (file)
@@ -32,7 +32,7 @@ impl State {
         let sign = (nibble & self.smask) != 0;
         let diff = (i32::from(2 * (nibble & !self.smask) + 1) * IMA_STEP_TABLE[self.step]) >> 3;
         let sample = if !sign { self.predictor + diff } else { self.predictor - diff };
-        self.predictor = sample.max(i32::from(std::i16::MIN)).min(i32::from(std::i16::MAX));
+        self.predictor = sample.max(i32::from(i16::MIN)).min(i32::from(i16::MAX));
         self.step = istep.max(0).min(IMA_MAX_STEP as isize) as usize;
         self.predictor as i16
     }
index 130aaeb60570bbbb06735c6d27ac18401e5e6c6e..c4f1478d090a59efbe2999f503ccd361ea034f03 100644 (file)
@@ -14,8 +14,8 @@ impl<'a> FLACMuxer<'a> {
     fn new(bw: &'a mut ByteWriter<'a>) -> Self {
         Self {
             bw,
-            maxpkt: std::usize::MAX, minpkt: 0,
-            maxblk: std::u16::MAX, minblk: 0,
+            maxpkt: usize::MAX, minpkt: 0,
+            maxblk: u16::MAX, minblk: 0,
             duration: 0,
             bits: 0,
         }
index ef1fd9665ea585bf7627587711e7b1be4c347358..c1e32f6ed7462760413b85a66c1407c1afd1c1a2 100644 (file)
@@ -213,7 +213,7 @@ impl MSADPCMEncoder {
 
         let mut best_idx = [0usize; 2];
         for (ch, best_idx) in best_idx[..self.channels].iter_mut().enumerate() {
-            let mut best_dist = std::i64::MAX;
+            let mut best_dist = i64::MAX;
             for i in 0..ADAPT_COEFFS.len() {
                 let dist = self.calc_dist(ch, i, len);
                 if dist < best_dist {
index f9d1f6f50f26e1a73217812294830a26237154bc..b3cde3a1623613c3743ccf9056a1f18bc3b258bf 100644 (file)
@@ -48,7 +48,7 @@ fn dist_core(val: UnpackedPixel, other: &UnpackedPixel) -> u32 {
 
 fn find_nearest(pix: UnpackedPixel, pal: &[UnpackedPixel; 256]) -> usize {
     let mut bestidx = 0;
-    let mut bestdist = std::u32::MAX;
+    let mut bestdist = u32::MAX;
 
     for (idx, entry) in pal.iter().enumerate() {
         let dist = dist_core(pix, entry);
@@ -105,7 +105,7 @@ impl LocalSearch {
     }
     fn search(&self, pix: UnpackedPixel) -> usize {
         let idx = Self::quant(pix);
-        let mut best_dist = std::u32::MAX;
+        let mut best_dist = u32::MAX;
         let mut best_idx = 0;
         let mut count = 0;
         for clr in self.db[idx].iter() {
@@ -292,8 +292,8 @@ impl BlockState {
             }
         }
         if self.fill_dist == 0 {
-            self.clr2_dist = std::u32::MAX;
-            self.clr8_dist = std::u32::MAX;
+            self.clr2_dist = u32::MAX;
+            self.clr8_dist = u32::MAX;
             return;
         }
 
@@ -323,7 +323,7 @@ impl BlockState {
             }
         }
         if self.clr2_dist == 0 {
-            self.clr8_dist = std::u32::MAX;
+            self.clr8_dist = u32::MAX;
             return;
         }
 
index b350bd9bb10a6a0a1c54285eb03e2dea98415291..b3cbbf1bdf8ab7594306bf9cf0ec1d43f80adf2a 100644 (file)
@@ -13,7 +13,7 @@ mod rc;
 use rc::*;
 
 const THRESHOLD: u32 = 64;
-const MAX_DIST: u32 = std::u32::MAX;
+const MAX_DIST: u32 = u32::MAX;
 
 #[derive(Clone,Copy,Default,PartialEq)]
 enum DoublingMode {
index 8a4ebdc5d83f75e8cd654ade5ec4a79939ead1c8..b3b3025b4af61805c10c06f61b52bbea222ba264 100644 (file)
@@ -310,7 +310,7 @@ impl MacroblockDecider {
         self.mb.load(src, offsets, strides);
 
         self.best_mbt = MacroblockType::default();
-        self.best_dist = std::u32::MAX;
+        self.best_dist = u32::MAX;
         self.best_bits = 0;
     }
     pub fn try_b_coding(&mut self, ref_p: &NAVideoBuffer<u8>, ref_n: &NAVideoBuffer<u8>, be: &mut BitsEstimator, me: &mut MotionEstimator, rdm: &RateDistMetric, mbstate: &MBState, refine: bool) {
@@ -588,7 +588,7 @@ impl MacroblockDecider {
                 let do_chroma = ((x & 1) == 0) && ((y & 1) == 0);
 
                 let mut best_mode = PRED4_DEF[0];
-                let mut best_cdist = std::u32::MAX;
+                let mut best_cdist = u32::MAX;
                 let mut best_dist = 0;
                 let mut best_bits = 0;
                 for &try_mode in list.iter() {
index f59c588e0814bc75485b1ce805052086d16418bd..31964cc0415b2150c6c5ded541b34d0a5a13e55e 100644 (file)
@@ -50,7 +50,7 @@ impl FromStr for MVSearchMode {
     }
 }
 
-const MAX_DIST: u32 = std::u32::MAX;
+const MAX_DIST: u32 = u32::MAX;
 const DIST_THRESH: u32 = 256;
 
 #[allow(clippy::wrong_self_convention)]
@@ -516,10 +516,10 @@ struct DummySearcher {}
 
 impl MVSearch for DummySearcher {
     fn search_mb(&mut self, _mv_est: &mut MVEstimator, _ref_mb: &RefMBData, _mb_x: usize, _mb_y: usize, _cand_mvs: &[MV]) -> (MV, u32) {
-        (ZERO_MV, std::u32::MAX / 2)
+        (ZERO_MV, u32::MAX / 2)
     }
     fn search_blk8(&mut self, _mv_est: &mut MVEstimator, _ref_mb: &RefMBData, _xpos: usize, _ypos: usize, _cand_mvs: &[MV]) -> (MV, u32) {
-        (ZERO_MV, std::u32::MAX / 2)
+        (ZERO_MV, u32::MAX / 2)
     }
 }
 
index aa881ed65600112b299525caafdcd3d7dc6203aa..f8ed9bac3d47ac79f6bad53bd861c8ddd462ed3b 100644 (file)
@@ -205,7 +205,7 @@ impl BitRateControl {
     }
     pub fn update_stats(&mut self, ftype: FrameType, fsize: usize, ts_diff: u32) {
         if self.bitrate > 0 {
-            if ts_diff > 0 && self.duration < std::u32::MAX / 2 {
+            if ts_diff > 0 && self.duration < u32::MAX / 2 {
                 self.duration += ts_diff;
                 self.dcount += 1;
             }
index 3cfe3b7ea42d441699136b66e9c2128079b68d1a..ea229fb37a21e18aa63fdbf8a542864f12d5600e 100644 (file)
@@ -853,11 +853,11 @@ impl G7231Decoder {
 }
 
 fn clip16(a: i32) -> i16 {
-    a.min(i32::from(std::i16::MAX)).max(i32::from(std::i16::MIN)) as i16
+    a.min(i32::from(i16::MAX)).max(i32::from(i16::MIN)) as i16
 }
 
 fn clip32(a: i64) -> i32 {
-    a.min(i64::from(std::i32::MAX)).max(i64::from(std::i32::MIN)) as i32
+    a.min(i64::from(i32::MAX)).max(i64::from(i32::MIN)) as i32
 }
 
 fn mul16(a: i32, b: i16) -> i32 {