MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / buildHuff

Function buildHuff

packages/plugins/apps/src/git-client/packfile.ts:137–146  ·  view source on GitHub ↗
(lengths: number[], n: number)

Source from the content-addressed store, hash-verified

135 symbols: number[];
136}
137function buildHuff(lengths: number[], n: number): Huff {
138 const counts = new Array(16).fill(0);
139 for (let i = 0; i < n; i++) counts[lengths[i]]++;
140 counts[0] = 0;
141 const offsets = new Array(16).fill(0);
142 for (let i = 1; i < 16; i++) offsets[i] = offsets[i - 1] + counts[i - 1];
143 const symbols = new Array(n).fill(0);
144 for (let i = 0; i < n; i++) if (lengths[i]) symbols[offsets[lengths[i]]++] = i;
145 return { counts, symbols };
146}
147function decodeSym(br: BitReader, h: Huff): number {
148 let code = 0,
149 first = 0,

Callers 1

inflateRawFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected