File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / src / libstrongswan / plugins / bliss / bliss_huffman_code_1.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 09:46:44 2020 UTC (4 years, 1 month ago) by misho
Branches: strongswan, MAIN
CVS tags: v5_9_2p0, v5_8_4p7, HEAD
Strongswan

/*
 * Copyright (C) 2014 Andreas Steffen
 * HSR Hochschule fuer Technik Rapperswil
 *
 * Optimum Huffman code for BLISS-X signatures
 *
 * This file has been automatically generated by the bliss_huffman utility
 * Do not edit manually!
 */

/*
 * Design: sigma = 215
 *
 *   i  p_z1[i]
 *   0  0.7662277087816564         0 ..  256
 *   1  0.2165251006508514       256 ..  512
 *   2  0.0168930510015114       512 ..  768
 *   3  0.0003522302274478       768 .. 1024
 *   4  0.0000019067136680      1024 .. 1280
 *   5  0.0000000026239598      1280 .. 1536
 *   6  0.0000000000009052      1536 .. 1792
 *   7  0.0000000000000001      1792 .. 2047
 *
 *   k  p_z2[k]  dx = 1024
 *  -1  0.0086781953089156   -1535.5 .. -511.5
 *   0  0.9826436093821688    -511.5 ..  511.5
 *   1  0.0086781953089156     511.5 .. 1535.5
 *
 *  (i, k)  p
 *  (0,-1)  0.0066494737079101
 *  (0, 0)  0.7529287613658361
 *  (0, 1)  0.0066494737079101
 *
 *  (1,-1)  0.0018790471127307
 *  (1, 0)  0.2127670064253900
 *  (1, 1)  0.0018790471127307
 *
 *  (2,-1)  0.0001466011959546
 *  (2, 0)  0.0165998486096022
 *  (2, 1)  0.0001466011959546
 *
 *  (3,-1)  0.0000030567227075
 *  (3, 0)  0.0003461167820328
 *  (3, 1)  0.0000030567227075
 *
 *  (4,-1)  0.0000000165468336
 *  (4, 0)  0.0000018736200007
 *  (4, 1)  0.0000000165468336
 *
 *  (5,-1)  0.0000000000227712
 *  (5, 0)  0.0000000025784174
 *  (5, 1)  0.0000000000227712
 *
 *  (6,-1)  0.0000000000000079
 *  (6, 0)  0.0000000000008895
 *  (6, 1)  0.0000000000000079
 *
 *  (7,-1)  0.0000000000000000
 *  (7, 0)  0.0000000000000001
 *  (7, 1)  0.0000000000000000
 *
 *  p_sum   0.9999999999999998
 *
 * entropy = 1.0195 bits/tuple (521 bits)
 */

#include "bliss_huffman_code.h"

static bliss_huffman_code_node_t nodes[] = {
	{   1,   2,  -1 },  /*   0: */
	{  -1,  -1,   1 },  /*   1: (0, 0)  1 bit  */
	{   3,   4,  -1 },  /*   2: */
	{  -1,  -1,   4 },  /*   3: (1, 0)  2 bits */
	{   5,  46,  -1 },  /*   4: */
	{   6,  45,  -1 },  /*   5: */
	{   7,   8,  -1 },  /*   6: */
	{  -1,  -1,   0 },  /*   7: (0,-1)  5 bits */
	{   9,  44,  -1 },  /*   8: */
	{  10,  11,  -1 },  /*   9: */
	{  -1,  -1,   3 },  /*  10: (1,-1)  7 bits */
	{  12,  13,  -1 },  /*  11: */
	{  -1,  -1,  10 },  /*  12: (3, 0)  8 bits */
	{  14,  29,  -1 },  /*  13: */
	{  15,  22,  -1 },  /*  14: */
	{  16,  19,  -1 },  /*  15: */
	{  17,  18,  -1 },  /*  16: */
	{  -1,  -1,   8 },  /*  17: (2, 1) 12 bits */
	{  -1,  -1,   6 },  /*  18: (2,-1) 12 bits */
	{  20,  21,  -1 },  /*  19: */
	{  -1,  -1,  11 },  /*  20: (3, 1) 12 bits */
	{  -1,  -1,   9 },  /*  21: (3,-1) 12 bits */
	{  23,  26,  -1 },  /*  22: */
	{  24,  25,  -1 },  /*  23: */
	{  -1,  -1,  13 },  /*  24: (4, 0) 12 bits */
	{  -1,  -1,  14 },  /*  25: (4, 1) 12 bits */
	{  27,  28,  -1 },  /*  26: */
	{  -1,  -1,  12 },  /*  27: (4,-1) 12 bits */
	{  -1,  -1,  16 },  /*  28: (5, 0) 12 bits */
	{  30,  37,  -1 },  /*  29: */
	{  31,  34,  -1 },  /*  30: */
	{  32,  33,  -1 },  /*  31: */
	{  -1,  -1,  17 },  /*  32: (5, 1) 12 bits */
	{  -1,  -1,  15 },  /*  33: (5,-1) 12 bits */
	{  35,  36,  -1 },  /*  34: */
	{  -1,  -1,  19 },  /*  35: (6, 0) 12 bits */
	{  -1,  -1,  20 },  /*  36: (6, 1) 12 bits */
	{  38,  41,  -1 },  /*  37: */
	{  39,  40,  -1 },  /*  38: */
	{  -1,  -1,  18 },  /*  39: (6,-1) 12 bits */
	{  -1,  -1,  22 },  /*  40: (7, 0) 12 bits */
	{  42,  43,  -1 },  /*  41: */
	{  -1,  -1,  23 },  /*  42: (7, 1) 12 bits */
	{  -1,  -1,  21 },  /*  43: (7,-1) 12 bits */
	{  -1,  -1,   5 },  /*  44: (1, 1)  6 bits */
	{  -1,  -1,   2 },  /*  45: (0, 1)  4 bits */
	{  -1,  -1,   7 },  /*  46: (2, 0)  3 bits */
};

static bliss_huffman_code_tuple_t tuples[] = {
	{    24,  5 },  /*   0: (0,-1) 11000 */
	{     0,  1 },  /*   1: (0, 0) 0 */
	{    13,  4 },  /*   2: (0, 1) 1101 */

	{   100,  7 },  /*   3: (1,-1) 1100100 */
	{     2,  2 },  /*   4: (1, 0) 10 */
	{    51,  6 },  /*   5: (1, 1) 110011 */

	{  3249, 12 },  /*   6: (2,-1) 110010110001 */
	{     7,  3 },  /*   7: (2, 0) 111 */
	{  3248, 12 },  /*   8: (2, 1) 110010110000 */

	{  3251, 12 },  /*   9: (3,-1) 110010110011 */
	{   202,  8 },  /*  10: (3, 0) 11001010 */
	{  3250, 12 },  /*  11: (3, 1) 110010110010 */

	{  3254, 12 },  /*  12: (4,-1) 110010110110 */
	{  3252, 12 },  /*  13: (4, 0) 110010110100 */
	{  3253, 12 },  /*  14: (4, 1) 110010110101 */

	{  3257, 12 },  /*  15: (5,-1) 110010111001 */
	{  3255, 12 },  /*  16: (5, 0) 110010110111 */
	{  3256, 12 },  /*  17: (5, 1) 110010111000 */

	{  3260, 12 },  /*  18: (6,-1) 110010111100 */
	{  3258, 12 },  /*  19: (6, 0) 110010111010 */
	{  3259, 12 },  /*  20: (6, 1) 110010111011 */

	{  3263, 12 },  /*  21: (7,-1) 110010111111 */
	{  3261, 12 },  /*  22: (7, 0) 110010111101 */
	{  3262, 12 },  /*  23: (7, 1) 110010111110 */
};

/* code_length = 1.3189 bits/tuple (676 bits) */

bliss_huffman_code_t bliss_huffman_code_1 = {
	.n_z1 = 8,
	.n_z2 = 2,
	.tuples = tuples,
	.nodes  = nodes
};

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>