@@ -833,21 +833,17 @@ unsafe fn ZDICT_totalSampleSize(fileSizes: *const size_t, nbFiles: core::ffi::c_
833833 total
834834}
835835
836- fn ZDICT_insertSortCount ( table : & mut [ offsetCount_t ; 4 ] , val : u32 , count : u32 ) {
837- let mut u = 0usize ;
836+ fn ZDICT_insertSortCount (
837+ table : & mut [ offsetCount_t ; ZSTD_REP_NUM as usize + 1 ] ,
838+ val : u32 ,
839+ count : u32 ,
840+ ) {
838841 table[ ZSTD_REP_NUM as usize ] = offsetCount_t { offset : val, count } ;
839- while u > 0 {
840- let mut tmp = offsetCount_t {
841- offset : 0 ,
842- count : 0 ,
843- } ;
844- if ( table[ u. wrapping_sub ( 1 ) ] ) . count >= ( table[ u] ) . count {
842+ for u in ( 1 ..ZSTD_REP_NUM as usize ) . rev ( ) {
843+ if ( table[ u - 1 ] ) . count >= ( table[ u] ) . count {
845844 break ;
846845 }
847- tmp = table[ u. wrapping_sub ( 1 ) ] ;
848- table[ u. wrapping_sub ( 1 ) ] = table[ u] ;
849- table[ u] = tmp;
850- u = u. wrapping_sub ( 1 ) ;
846+ table. swap ( u, u - 1 ) ;
851847 }
852848}
853849
@@ -881,10 +877,10 @@ unsafe fn ZDICT_analyzeEntropy(
881877 let mut matchLengthNCount: [ core:: ffi:: c_short ; 53 ] = [ 0 ; 53 ] ;
882878 let mut litLengthCount: [ core:: ffi:: c_uint ; 36 ] = [ 0 ; 36 ] ;
883879 let mut litLengthNCount: [ core:: ffi:: c_short ; 36 ] = [ 0 ; 36 ] ;
884- let mut bestRepOffset: [ offsetCount_t ; 4 ] = [ offsetCount_t {
880+ let mut bestRepOffset = [ offsetCount_t {
885881 offset : 0 ,
886882 count : 0 ,
887- } ; 4 ] ;
883+ } ; ZSTD_REP_NUM as usize + 1 ] ;
888884 let mut esr = EStats_ress_t {
889885 dict : core:: ptr:: null_mut ( ) ,
890886 zc : core:: ptr:: null_mut ( ) ,
0 commit comments