3 /* example tree from http://en.wikipedia.org/wiki/Huffman_coding */
7 if (byte == 0) return 106;
8 if (byte == 1) return 139;
9 if (byte == 2) return 120;
10 if (byte == 3) return 183;
11 if (byte == 4) return 69;
12 if (byte == 5) return 197;
13 if (byte == 6) return 147;
14 if (byte == 7) return 207;
15 if (byte == 8) return 35;
16 if (byte == 9) return 155;
17 if (byte == 10) return 122;
18 if (byte == 11) return 244;
19 if (byte == 12) return 125;
20 if (byte == 13) return 215;
21 if (byte == 14) return 69;
22 if (byte == 15) return 219;
23 if (byte == 16) return 2;
24 if (byte == 17) return 224;
25 puts("FAIL [abort]: request for byte #");
35 return (byte >> (7 - (bp % 8))) & 1;
57 return h001(bitpos+1);
59 return 69+h(bitpos+1);
65 return h0011(bitpos+1);
67 return 78+h(bitpos+1);
73 return 79+h(bitpos+1);
75 return 85+h(bitpos+1);
81 return h011(bitpos+1);
83 return 65+h(bitpos+1);
89 return 77+h(bitpos+1);
91 return 84+h(bitpos+1);
105 return h101(bitpos+1);
107 return h100(bitpos+1);
113 return h1001(bitpos+1);
115 return 73+h(bitpos+1);
121 return 80+h(bitpos+1);
123 return 88+h(bitpos+1);
129 return h1011(bitpos+1);
131 return 72+h(bitpos+1);
139 return 83+h(bitpos+1);
145 return 32+h(bitpos+1);
147 return h110(bitpos+1);
153 return 70+h(bitpos+1);
155 return h1100(bitpos+1);
161 return 76+h(bitpos+1);
163 return 82+h(bitpos+1);
169 puts("Result was not 151\r\n");
171 puts("Result was 151\r\n");