| ... | ... | @@ -153,9 +153,7 @@ fn assignSymbols(weight_sorted_prefixed_symbols: []LiteralsSection.HuffmanTree.P |
| 153 | 153 | fn buildHuffmanTree(weights: *[256]u4, symbol_count: usize) error{MalformedHuffmanTree}!LiteralsSection.HuffmanTree { |
| 154 | 154 | var weight_power_sum_big: u32 = 0; |
| 155 | 155 | for (weights[0 .. symbol_count - 1]) |value| { |
| 156 | | if (value > 0) { |
| 157 | | weight_power_sum_big += @as(u16, 1) << (value - 1); |
| 158 | | } |
| 156 | weight_power_sum_big += (@as(u16, 1) << value) >> 1; |
| 159 | 157 | } |
| 160 | 158 | if (weight_power_sum_big >= 1 << 11) return error.MalformedHuffmanTree; |
| 161 | 159 | const weight_power_sum = @intCast(u16, weight_power_sum_big); |