| author | |
| committer | |
| log | a74f800dd79fec48a50152394c9fb3c2d6f080d0 |
| tree | 4fce01612f7b41b29d22e817ffe9dac9bb70a7f4 |
| parent | 2766b704c1805f7b3dce25331c209441cdb774fc |
4 files changed, 22 insertions(+), 37 deletions(-)
lib/std/compress/zstandard.zig+3-4| ... | ... | @@ -214,9 +214,8 @@ pub fn ZstandardStream( |
| 214 | 214 | } |
| 215 | 215 | |
| 216 | 216 | const size = @min(self.buffer.len(), buffer.len); |
| 217 | var count: usize = 0; | |
| 218 | while (count < size) : (count += 1) { | |
| 219 | buffer[count] = self.buffer.read().?; | |
| 217 | for (0..size) |i| { | |
| 218 | buffer[i] = self.buffer.read().?; | |
| 220 | 219 | } |
| 221 | 220 | if (self.state == .LastBlock and self.buffer.len() == 0) { |
| 222 | 221 | self.state = .NewFrame; |
| ... | ... | @@ -227,7 +226,7 @@ pub fn ZstandardStream( |
| 227 | 226 | self.allocator.free(self.sequence_buffer); |
| 228 | 227 | self.buffer.deinit(self.allocator); |
| 229 | 228 | } |
| 230 | return count; | |
| 229 | return size; | |
| 231 | 230 | } |
| 232 | 231 | }; |
| 233 | 232 | } |
lib/std/compress/zstandard/decode/block.zig+10-20| ... | ... | @@ -453,8 +453,7 @@ pub const DecodeState = struct { |
| 453 | 453 | self.written_count += len; |
| 454 | 454 | }, |
| 455 | 455 | .rle => { |
| 456 | var i: usize = 0; | |
| 457 | while (i < len) : (i += 1) { | |
| 456 | for (0..len) |i| { | |
| 458 | 457 | dest[i] = self.literal_streams.one[0]; |
| 459 | 458 | } |
| 460 | 459 | self.literal_written_count += len; |
| ... | ... | @@ -471,8 +470,7 @@ pub const DecodeState = struct { |
| 471 | 470 | var bits_read: u4 = 0; |
| 472 | 471 | var huffman_tree_index: usize = huffman_tree.symbol_count_minus_one; |
| 473 | 472 | var bit_count_to_read: u4 = starting_bit_count; |
| 474 | var i: usize = 0; | |
| 475 | while (i < len) : (i += 1) { | |
| 473 | for (0..len) |i| { | |
| 476 | 474 | var prefix: u16 = 0; |
| 477 | 475 | while (true) { |
| 478 | 476 | const new_bits = self.readLiteralsBits(bit_count_to_read) catch |err| { |
| ... | ... | @@ -528,8 +526,7 @@ pub const DecodeState = struct { |
| 528 | 526 | self.written_count += len; |
| 529 | 527 | }, |
| 530 | 528 | .rle => { |
| 531 | var i: usize = 0; | |
| 532 | while (i < len) : (i += 1) { | |
| 529 | for (0..len) |_| { | |
| 533 | 530 | dest.writeAssumeCapacity(self.literal_streams.one[0]); |
| 534 | 531 | } |
| 535 | 532 | self.literal_written_count += len; |
| ... | ... | @@ -546,8 +543,7 @@ pub const DecodeState = struct { |
| 546 | 543 | var bits_read: u4 = 0; |
| 547 | 544 | var huffman_tree_index: usize = huffman_tree.symbol_count_minus_one; |
| 548 | 545 | var bit_count_to_read: u4 = starting_bit_count; |
| 549 | var i: usize = 0; | |
| 550 | while (i < len) : (i += 1) { | |
| 546 | for (0..len) |_| { | |
| 551 | 547 | var prefix: u16 = 0; |
| 552 | 548 | while (true) { |
| 553 | 549 | const new_bits = try self.readLiteralsBits(bit_count_to_read); |
| ... | ... | @@ -630,8 +626,7 @@ pub fn decodeBlock( |
| 630 | 626 | .rle => { |
| 631 | 627 | if (src.len < 1) return error.MalformedRleBlock; |
| 632 | 628 | if (dest[written_count..].len < block_size) return error.DestTooSmall; |
| 633 | var write_pos: usize = written_count; | |
| 634 | while (write_pos < block_size + written_count) : (write_pos += 1) { | |
| 629 | for (written_count..block_size + written_count) |write_pos| { | |
| 635 | 630 | dest[write_pos] = src[0]; |
| 636 | 631 | } |
| 637 | 632 | consumed_count.* += 1; |
| ... | ... | @@ -664,8 +659,7 @@ pub fn decodeBlock( |
| 664 | 659 | return error.MalformedCompressedBlock; |
| 665 | 660 | |
| 666 | 661 | var sequence_size_limit = block_size_max; |
| 667 | var i: usize = 0; | |
| 668 | while (i < sequences_header.sequence_count) : (i += 1) { | |
| 662 | for (0..sequences_header.sequence_count) |i| { | |
| 669 | 663 | const write_pos = written_count + bytes_written; |
| 670 | 664 | const decompressed_size = decode_state.decodeSequenceSlice( |
| 671 | 665 | dest, |
| ... | ... | @@ -734,8 +728,7 @@ pub fn decodeBlockRingBuffer( |
| 734 | 728 | }, |
| 735 | 729 | .rle => { |
| 736 | 730 | if (src.len < 1) return error.MalformedRleBlock; |
| 737 | var write_pos: usize = 0; | |
| 738 | while (write_pos < block_size) : (write_pos += 1) { | |
| 731 | for (0..block_size) |_| { | |
| 739 | 732 | dest.writeAssumeCapacity(src[0]); |
| 740 | 733 | } |
| 741 | 734 | consumed_count.* += 1; |
| ... | ... | @@ -768,8 +761,7 @@ pub fn decodeBlockRingBuffer( |
| 768 | 761 | return error.MalformedCompressedBlock; |
| 769 | 762 | |
| 770 | 763 | var sequence_size_limit = block_size_max; |
| 771 | var i: usize = 0; | |
| 772 | while (i < sequences_header.sequence_count) : (i += 1) { | |
| 764 | for (0..sequences_header.sequence_count) |i| { | |
| 773 | 765 | const decompressed_size = decode_state.decodeSequenceRingBuffer( |
| 774 | 766 | dest, |
| 775 | 767 | &bit_stream, |
| ... | ... | @@ -840,8 +832,7 @@ pub fn decodeBlockReader( |
| 840 | 832 | }, |
| 841 | 833 | .rle => { |
| 842 | 834 | const byte = try source.readByte(); |
| 843 | var i: usize = 0; | |
| 844 | while (i < block_size) : (i += 1) { | |
| 835 | for (0..block_size) |_| { | |
| 845 | 836 | dest.writeAssumeCapacity(byte); |
| 846 | 837 | } |
| 847 | 838 | decode_state.written_count += block_size; |
| ... | ... | @@ -866,8 +857,7 @@ pub fn decodeBlockReader( |
| 866 | 857 | return error.MalformedCompressedBlock; |
| 867 | 858 | |
| 868 | 859 | var sequence_size_limit = block_size_max; |
| 869 | var i: usize = 0; | |
| 870 | while (i < sequences_header.sequence_count) : (i += 1) { | |
| 860 | for (0..sequences_header.sequence_count) |i| { | |
| 871 | 861 | const decompressed_size = decode_state.decodeSequenceRingBuffer( |
| 872 | 862 | dest, |
| 873 | 863 | &bit_stream, |
lib/std/compress/zstandard/decode/fse.zig+7-10| ... | ... | @@ -47,8 +47,7 @@ pub fn decodeFseTable( |
| 47 | 47 | while (true) { |
| 48 | 48 | const repeat_flag = try bit_reader.readBitsNoEof(u2, 2); |
| 49 | 49 | if (repeat_flag + value_count > 256) return error.MalformedFseTable; |
| 50 | var i: usize = 0; | |
| 51 | while (i < repeat_flag) : (i += 1) { | |
| 50 | for (0..repeat_flag) |_| { | |
| 52 | 51 | values[value_count] = 1; |
| 53 | 52 | value_count += 1; |
| 54 | 53 | } |
| ... | ... | @@ -75,7 +74,7 @@ fn buildFseTable(values: []const u16, entries: []Table.Fse) !void { |
| 75 | 74 | assert(total_probability <= 1 << 9); |
| 76 | 75 | |
| 77 | 76 | var less_than_one_count: usize = 0; |
| 78 | for (values) |value, i| { | |
| 77 | for (values, 0..) |value, i| { | |
| 79 | 78 | if (value == 0) { |
| 80 | 79 | entries[entries.len - 1 - less_than_one_count] = Table.Fse{ |
| 81 | 80 | .symbol = @intCast(u8, i), |
| ... | ... | @@ -88,7 +87,7 @@ fn buildFseTable(values: []const u16, entries: []Table.Fse) !void { |
| 88 | 87 | |
| 89 | 88 | var position: usize = 0; |
| 90 | 89 | var temp_states: [1 << 9]u16 = undefined; |
| 91 | for (values) |value, symbol| { | |
| 90 | for (values, 0..) |value, symbol| { | |
| 92 | 91 | if (value == 0 or value == 1) continue; |
| 93 | 92 | const probability = value - 1; |
| 94 | 93 | |
| ... | ... | @@ -99,8 +98,7 @@ fn buildFseTable(values: []const u16, entries: []Table.Fse) !void { |
| 99 | 98 | const single_state_count = probability - double_state_count; |
| 100 | 99 | const share_size_log = std.math.log2_int(u16, share_size); |
| 101 | 100 | |
| 102 | var i: u16 = 0; | |
| 103 | while (i < probability) : (i += 1) { | |
| 101 | for (0..probability) |i| { | |
| 104 | 102 | temp_states[i] = @intCast(u16, position); |
| 105 | 103 | position += (entries.len >> 1) + (entries.len >> 3) + 3; |
| 106 | 104 | position &= entries.len - 1; |
| ... | ... | @@ -110,16 +108,15 @@ fn buildFseTable(values: []const u16, entries: []Table.Fse) !void { |
| 110 | 108 | } |
| 111 | 109 | } |
| 112 | 110 | std.sort.sort(u16, temp_states[0..probability], {}, std.sort.asc(u16)); |
| 113 | i = 0; | |
| 114 | while (i < probability) : (i += 1) { | |
| 111 | for (0..probability) |i| { | |
| 115 | 112 | entries[temp_states[i]] = if (i < double_state_count) Table.Fse{ |
| 116 | 113 | .symbol = @intCast(u8, symbol), |
| 117 | 114 | .bits = share_size_log + 1, |
| 118 | .baseline = single_state_count * share_size + i * 2 * share_size, | |
| 115 | .baseline = single_state_count * share_size + @intCast(u16, i) * 2 * share_size, | |
| 119 | 116 | } else Table.Fse{ |
| 120 | 117 | .symbol = @intCast(u8, symbol), |
| 121 | 118 | .bits = share_size_log, |
| 122 | .baseline = (i - double_state_count) * share_size, | |
| 119 | .baseline = (@intCast(u16, i) - double_state_count) * share_size, | |
| 123 | 120 | }; |
| 124 | 121 | } |
| 125 | 122 | } |
lib/std/compress/zstandard/decode/huffman.zig+2-3| ... | ... | @@ -95,8 +95,7 @@ fn assignWeights(huff_bits: *readers.ReverseBitReader, accuracy_log: usize, entr |
| 95 | 95 | |
| 96 | 96 | fn decodeDirectHuffmanTree(source: anytype, encoded_symbol_count: usize, weights: *[256]u4) !usize { |
| 97 | 97 | const weights_byte_count = (encoded_symbol_count + 1) / 2; |
| 98 | var i: usize = 0; | |
| 99 | while (i < weights_byte_count) : (i += 1) { | |
| 98 | for (0..weights_byte_count) |i| { | |
| 100 | 99 | const byte = try source.readByte(); |
| 101 | 100 | weights[2 * i] = @intCast(u4, byte >> 4); |
| 102 | 101 | weights[2 * i + 1] = @intCast(u4, byte & 0xF); |
| ... | ... | @@ -105,7 +104,7 @@ fn decodeDirectHuffmanTree(source: anytype, encoded_symbol_count: usize, weights |
| 105 | 104 | } |
| 106 | 105 | |
| 107 | 106 | fn assignSymbols(weight_sorted_prefixed_symbols: []LiteralsSection.HuffmanTree.PrefixedSymbol, weights: [256]u4) usize { |
| 108 | for (weight_sorted_prefixed_symbols) |_, i| { | |
| 107 | for (0..weight_sorted_prefixed_symbols.len) |i| { | |
| 109 | 108 | weight_sorted_prefixed_symbols[i] = .{ |
| 110 | 109 | .symbol = @intCast(u8, i), |
| 111 | 110 | .weight = undefined, |