Annotation of embedaddon/strongswan/src/libstrongswan/plugins/bliss/bliss_huffman_code_1.c, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (C) 2014 Andreas Steffen
3: * HSR Hochschule fuer Technik Rapperswil
4: *
5: * Optimum Huffman code for BLISS-X signatures
6: *
7: * This file has been automatically generated by the bliss_huffman utility
8: * Do not edit manually!
9: */
10:
11: /*
12: * Design: sigma = 215
13: *
14: * i p_z1[i]
15: * 0 0.7662277087816564 0 .. 256
16: * 1 0.2165251006508514 256 .. 512
17: * 2 0.0168930510015114 512 .. 768
18: * 3 0.0003522302274478 768 .. 1024
19: * 4 0.0000019067136680 1024 .. 1280
20: * 5 0.0000000026239598 1280 .. 1536
21: * 6 0.0000000000009052 1536 .. 1792
22: * 7 0.0000000000000001 1792 .. 2047
23: *
24: * k p_z2[k] dx = 1024
25: * -1 0.0086781953089156 -1535.5 .. -511.5
26: * 0 0.9826436093821688 -511.5 .. 511.5
27: * 1 0.0086781953089156 511.5 .. 1535.5
28: *
29: * (i, k) p
30: * (0,-1) 0.0066494737079101
31: * (0, 0) 0.7529287613658361
32: * (0, 1) 0.0066494737079101
33: *
34: * (1,-1) 0.0018790471127307
35: * (1, 0) 0.2127670064253900
36: * (1, 1) 0.0018790471127307
37: *
38: * (2,-1) 0.0001466011959546
39: * (2, 0) 0.0165998486096022
40: * (2, 1) 0.0001466011959546
41: *
42: * (3,-1) 0.0000030567227075
43: * (3, 0) 0.0003461167820328
44: * (3, 1) 0.0000030567227075
45: *
46: * (4,-1) 0.0000000165468336
47: * (4, 0) 0.0000018736200007
48: * (4, 1) 0.0000000165468336
49: *
50: * (5,-1) 0.0000000000227712
51: * (5, 0) 0.0000000025784174
52: * (5, 1) 0.0000000000227712
53: *
54: * (6,-1) 0.0000000000000079
55: * (6, 0) 0.0000000000008895
56: * (6, 1) 0.0000000000000079
57: *
58: * (7,-1) 0.0000000000000000
59: * (7, 0) 0.0000000000000001
60: * (7, 1) 0.0000000000000000
61: *
62: * p_sum 0.9999999999999998
63: *
64: * entropy = 1.0195 bits/tuple (521 bits)
65: */
66:
67: #include "bliss_huffman_code.h"
68:
69: static bliss_huffman_code_node_t nodes[] = {
70: { 1, 2, -1 }, /* 0: */
71: { -1, -1, 1 }, /* 1: (0, 0) 1 bit */
72: { 3, 4, -1 }, /* 2: */
73: { -1, -1, 4 }, /* 3: (1, 0) 2 bits */
74: { 5, 46, -1 }, /* 4: */
75: { 6, 45, -1 }, /* 5: */
76: { 7, 8, -1 }, /* 6: */
77: { -1, -1, 0 }, /* 7: (0,-1) 5 bits */
78: { 9, 44, -1 }, /* 8: */
79: { 10, 11, -1 }, /* 9: */
80: { -1, -1, 3 }, /* 10: (1,-1) 7 bits */
81: { 12, 13, -1 }, /* 11: */
82: { -1, -1, 10 }, /* 12: (3, 0) 8 bits */
83: { 14, 29, -1 }, /* 13: */
84: { 15, 22, -1 }, /* 14: */
85: { 16, 19, -1 }, /* 15: */
86: { 17, 18, -1 }, /* 16: */
87: { -1, -1, 8 }, /* 17: (2, 1) 12 bits */
88: { -1, -1, 6 }, /* 18: (2,-1) 12 bits */
89: { 20, 21, -1 }, /* 19: */
90: { -1, -1, 11 }, /* 20: (3, 1) 12 bits */
91: { -1, -1, 9 }, /* 21: (3,-1) 12 bits */
92: { 23, 26, -1 }, /* 22: */
93: { 24, 25, -1 }, /* 23: */
94: { -1, -1, 13 }, /* 24: (4, 0) 12 bits */
95: { -1, -1, 14 }, /* 25: (4, 1) 12 bits */
96: { 27, 28, -1 }, /* 26: */
97: { -1, -1, 12 }, /* 27: (4,-1) 12 bits */
98: { -1, -1, 16 }, /* 28: (5, 0) 12 bits */
99: { 30, 37, -1 }, /* 29: */
100: { 31, 34, -1 }, /* 30: */
101: { 32, 33, -1 }, /* 31: */
102: { -1, -1, 17 }, /* 32: (5, 1) 12 bits */
103: { -1, -1, 15 }, /* 33: (5,-1) 12 bits */
104: { 35, 36, -1 }, /* 34: */
105: { -1, -1, 19 }, /* 35: (6, 0) 12 bits */
106: { -1, -1, 20 }, /* 36: (6, 1) 12 bits */
107: { 38, 41, -1 }, /* 37: */
108: { 39, 40, -1 }, /* 38: */
109: { -1, -1, 18 }, /* 39: (6,-1) 12 bits */
110: { -1, -1, 22 }, /* 40: (7, 0) 12 bits */
111: { 42, 43, -1 }, /* 41: */
112: { -1, -1, 23 }, /* 42: (7, 1) 12 bits */
113: { -1, -1, 21 }, /* 43: (7,-1) 12 bits */
114: { -1, -1, 5 }, /* 44: (1, 1) 6 bits */
115: { -1, -1, 2 }, /* 45: (0, 1) 4 bits */
116: { -1, -1, 7 }, /* 46: (2, 0) 3 bits */
117: };
118:
119: static bliss_huffman_code_tuple_t tuples[] = {
120: { 24, 5 }, /* 0: (0,-1) 11000 */
121: { 0, 1 }, /* 1: (0, 0) 0 */
122: { 13, 4 }, /* 2: (0, 1) 1101 */
123:
124: { 100, 7 }, /* 3: (1,-1) 1100100 */
125: { 2, 2 }, /* 4: (1, 0) 10 */
126: { 51, 6 }, /* 5: (1, 1) 110011 */
127:
128: { 3249, 12 }, /* 6: (2,-1) 110010110001 */
129: { 7, 3 }, /* 7: (2, 0) 111 */
130: { 3248, 12 }, /* 8: (2, 1) 110010110000 */
131:
132: { 3251, 12 }, /* 9: (3,-1) 110010110011 */
133: { 202, 8 }, /* 10: (3, 0) 11001010 */
134: { 3250, 12 }, /* 11: (3, 1) 110010110010 */
135:
136: { 3254, 12 }, /* 12: (4,-1) 110010110110 */
137: { 3252, 12 }, /* 13: (4, 0) 110010110100 */
138: { 3253, 12 }, /* 14: (4, 1) 110010110101 */
139:
140: { 3257, 12 }, /* 15: (5,-1) 110010111001 */
141: { 3255, 12 }, /* 16: (5, 0) 110010110111 */
142: { 3256, 12 }, /* 17: (5, 1) 110010111000 */
143:
144: { 3260, 12 }, /* 18: (6,-1) 110010111100 */
145: { 3258, 12 }, /* 19: (6, 0) 110010111010 */
146: { 3259, 12 }, /* 20: (6, 1) 110010111011 */
147:
148: { 3263, 12 }, /* 21: (7,-1) 110010111111 */
149: { 3261, 12 }, /* 22: (7, 0) 110010111101 */
150: { 3262, 12 }, /* 23: (7, 1) 110010111110 */
151: };
152:
153: /* code_length = 1.3189 bits/tuple (676 bits) */
154:
155: bliss_huffman_code_t bliss_huffman_code_1 = {
156: .n_z1 = 8,
157: .n_z2 = 2,
158: .tuples = tuples,
159: .nodes = nodes
160: };
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>