Function query [src]

Prototype

pub fn query(self: HuffmanTree, index: usize, prefix: u16) error{HuffmanTreeIncomplete}!Result

Parameters

self: HuffmanTreeindex: usizeprefix: u16

Possible Errors

HuffmanTreeIncomplete

Source

pub fn query(self: HuffmanTree, index: usize, prefix: u16) error{HuffmanTreeIncomplete}!Result { var node = self.nodes[index]; const weight = node.weight; var i: usize = index; while (node.weight == weight) { if (node.prefix == prefix) return .{ .symbol = node.symbol }; if (i == 0) return error.HuffmanTreeIncomplete; i -= 1; node = self.nodes[i]; } return .{ .index = i }; }