MCPcopy Create free account
hub / github.com/CoderLine/alphaTab / _treeMake

Method _treeMake

packages/alphatab/src/zip/HuffTools.ts:68–79  ·  view source on GitHub ↗
(bits: Map<number, number>, maxbits: number, v: number, len: number)

Source from the content-addressed store, hash-verified

66 }
67
68 private static _treeMake(bits: Map<number, number>, maxbits: number, v: number, len: number): Huffman {
69 if (len > maxbits) {
70 throw new FormatError('Invalid huffman');
71 }
72 const idx: number = (v << 5) | len;
73 if (bits.has(idx)) {
74 return new Found(bits.get(idx)!);
75 }
76 v = v << 1;
77 len += 1;
78 return new NeedBit(HuffTools._treeMake(bits, maxbits, v, len), HuffTools._treeMake(bits, maxbits, v | 1, len));
79 }
80
81 private static _treeCompress(t: Huffman): Huffman {
82 const d: number = HuffTools._treeDepth(t);

Callers 1

makeMethod · 0.80

Calls 2

getMethod · 0.65
hasMethod · 0.45

Tested by

no test coverage detected