File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / strongswan / src / libstrongswan / plugins / bliss / bliss_huffman_code_3.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 = 250
 *
 *   i  p_z1[i]
 *   0  0.6941647250930416         0 ..  256
 *   1  0.2652752755116807       256 ..  512
 *   2  0.0384337021454129       512 ..  768
 *   3  0.0020842622589255       768 .. 1024
 *   4  0.0000417294572050      1024 .. 1280
 *   5  0.0000003047309681      1280 .. 1536
 *   6  0.0000000008027661      1536 .. 1760
 *
 *   k  p_z2[k]  dx = 512
 *  -3  0.0000001543959154   -1791.5 ..-1279.5
 *  -2  0.0010701394583782   -1279.5 .. -767.5
 *  -1  0.1523201563502276    -767.5 .. -255.5
 *   0  0.6932190995909575    -255.5 ..  255.5
 *   1  0.1523201563502276     255.5 ..  767.5
 *   2  0.0010701394583782     767.5 .. 1279.5
 *   3  0.0000001543959154    1279.5 .. 1791.5
 *
 *  (i, k)  p
 *  (0,-3)  0.0000001071761982
 *  (0,-2)  0.0007428530629363
 *  (0,-1)  0.1057352794589848
 *  (0, 0)  0.4812082456968029
 *  (0, 1)  0.1057352794589848
 *  (0, 2)  0.0007428530629363
 *  (0, 3)  0.0000001071761982
 *
 *  (1,-3)  0.0000000409574190
 *  (1,-2)  0.0002838815396572
 *  (1,-1)  0.0404067714417889
 *  (1, 0)  0.1838938876339505
 *  (1, 1)  0.0404067714417889
 *  (1, 2)  0.0002838815396572
 *  (1, 3)  0.0000000409574190
 *
 *  (2,-3)  0.0000000059340066
 *  (2,-2)  0.0000411294211974
 *  (2,-1)  0.0058542275199074
 *  (2, 0)  0.0266429763951902
 *  (2, 1)  0.0058542275199074
 *  (2, 2)  0.0000411294211974
 *  (2, 3)  0.0000000059340066
 *
 *  (3,-3)  0.0000000003218016
 *  (3,-2)  0.0000022304512849
 *  (3,-1)  0.0003174751531544
 *  (3, 0)  0.0014448504064437
 *  (3, 1)  0.0003174751531544
 *  (3, 2)  0.0000022304512849
 *  (3, 3)  0.0000000003218016
 *
 *  (4,-3)  0.0000000000064429
 *  (4,-2)  0.0000000446563387
 *  (4,-1)  0.0000063562374459
 *  (4, 0)  0.0000289276567501
 *  (4, 1)  0.0000063562374459
 *  (4, 2)  0.0000000446563387
 *  (4, 3)  0.0000000000064429
 *
 *  (5,-3)  0.0000000000000470
 *  (5,-2)  0.0000000003261046
 *  (5,-1)  0.0000000464166687
 *  (5, 0)  0.0000002112453273
 *  (5, 1)  0.0000000464166687
 *  (5, 2)  0.0000000003261046
 *  (5, 3)  0.0000000000000470
 *
 *  (6,-3)  0.0000000000000001
 *  (6,-2)  0.0000000000008591
 *  (6,-1)  0.0000000001222775
 *  (6, 0)  0.0000000005564928
 *  (6, 1)  0.0000000001222775
 *  (6, 2)  0.0000000000008591
 *  (6, 3)  0.0000000000000001
 *
 *  p_sum   0.9999999999999999
 *
 * entropy = 2.2879 bits/tuple (1171 bits)
 */

#include "bliss_huffman_code.h"

static bliss_huffman_code_node_t nodes[] = {
	{   1,  96,  -1 },  /*   0: */
	{   2,  93,  -1 },  /*   1: */
	{   3,   4,  -1 },  /*   2: */
	{  -1,  -1,  10 },  /*   3: (1, 0)  3 bits */
	{   5,   8,  -1 },  /*   4: */
	{   6,   7,  -1 },  /*   5: */
	{  -1,  -1,  11 },  /*   6: (1, 1)  5 bits */
	{  -1,  -1,   9 },  /*   7: (1,-1)  5 bits */
	{   9,  10,  -1 },  /*   8: */
	{  -1,  -1,  17 },  /*   9: (2, 0)  5 bits */
	{  11,  92,  -1 },  /*  10: */
	{  12,  13,  -1 },  /*  11: */
	{  -1,  -1,  16 },  /*  12: (2,-1)  7 bits */
	{  14,  89,  -1 },  /*  13: */
	{  15,  16,  -1 },  /*  14: */
	{  -1,  -1,  24 },  /*  15: (3, 0)  9 bits */
	{  17,  86,  -1 },  /*  16: */
	{  18,  85,  -1 },  /*  17: */
	{  19,  20,  -1 },  /*  18: */
	{  -1,  -1,   8 },  /*  19: (1,-2) 12 bits */
	{  21,  84,  -1 },  /*  20: */
	{  22,  53,  -1 },  /*  21: */
	{  23,  38,  -1 },  /*  22: */
	{  24,  31,  -1 },  /*  23: */
	{  25,  28,  -1 },  /*  24: */
	{  26,  27,  -1 },  /*  25: */
	{  -1,  -1,  15 },  /*  26: (2,-2) 18 bits */
	{  -1,  -1,  31 },  /*  27: (4, 0) 18 bits */
	{  29,  30,  -1 },  /*  28: */
	{  -1,  -1,  32 },  /*  29: (4, 1) 18 bits */
	{  -1,  -1,  30 },  /*  30: (4,-1) 18 bits */
	{  32,  35,  -1 },  /*  31: */
	{  33,  34,  -1 },  /*  32: */
	{  -1,  -1,  26 },  /*  33: (3, 2) 18 bits */
	{  -1,  -1,  22 },  /*  34: (3,-2) 18 bits */
	{  36,  37,  -1 },  /*  35: */
	{  -1,  -1,  38 },  /*  36: (5, 0) 18 bits */
	{  -1,  -1,   6 },  /*  37: (0, 3) 18 bits */
	{  39,  46,  -1 },  /*  38: */
	{  40,  43,  -1 },  /*  39: */
	{  41,  42,  -1 },  /*  40: */
	{  -1,  -1,   0 },  /*  41: (0,-3) 18 bits */
	{  -1,  -1,  39 },  /*  42: (5, 1) 18 bits */
	{  44,  45,  -1 },  /*  43: */
	{  -1,  -1,  37 },  /*  44: (5,-1) 18 bits */
	{  -1,  -1,  33 },  /*  45: (4, 2) 18 bits */
	{  47,  50,  -1 },  /*  46: */
	{  48,  49,  -1 },  /*  47: */
	{  -1,  -1,  29 },  /*  48: (4,-2) 18 bits */
	{  -1,  -1,  13 },  /*  49: (1, 3) 18 bits */
	{  51,  52,  -1 },  /*  50: */
	{  -1,  -1,   7 },  /*  51: (1,-3) 18 bits */
	{  -1,  -1,  20 },  /*  52: (2, 3) 18 bits */
	{  54,  69,  -1 },  /*  53: */
	{  55,  62,  -1 },  /*  54: */
	{  56,  59,  -1 },  /*  55: */
	{  57,  58,  -1 },  /*  56: */
	{  -1,  -1,  14 },  /*  57: (2,-3) 18 bits */
	{  -1,  -1,  45 },  /*  58: (6, 0) 18 bits */
	{  60,  61,  -1 },  /*  59: */
	{  -1,  -1,  40 },  /*  60: (5, 2) 18 bits */
	{  -1,  -1,  36 },  /*  61: (5,-2) 18 bits */
	{  63,  66,  -1 },  /*  62: */
	{  64,  65,  -1 },  /*  63: */
	{  -1,  -1,  27 },  /*  64: (3, 3) 18 bits */
	{  -1,  -1,  21 },  /*  65: (3,-3) 18 bits */
	{  67,  68,  -1 },  /*  66: */
	{  -1,  -1,  46 },  /*  67: (6, 1) 18 bits */
	{  -1,  -1,  44 },  /*  68: (6,-1) 18 bits */
	{  70,  77,  -1 },  /*  69: */
	{  71,  74,  -1 },  /*  70: */
	{  72,  73,  -1 },  /*  71: */
	{  -1,  -1,  34 },  /*  72: (4, 3) 18 bits */
	{  -1,  -1,  28 },  /*  73: (4,-3) 18 bits */
	{  75,  76,  -1 },  /*  74: */
	{  -1,  -1,  47 },  /*  75: (6, 2) 18 bits */
	{  -1,  -1,  43 },  /*  76: (6,-2) 18 bits */
	{  78,  81,  -1 },  /*  77: */
	{  79,  80,  -1 },  /*  78: */
	{  -1,  -1,  41 },  /*  79: (5, 3) 18 bits */
	{  -1,  -1,  35 },  /*  80: (5,-3) 18 bits */
	{  82,  83,  -1 },  /*  81: */
	{  -1,  -1,  48 },  /*  82: (6, 3) 18 bits */
	{  -1,  -1,  42 },  /*  83: (6,-3) 18 bits */
	{  -1,  -1,  19 },  /*  84: (2, 2) 13 bits */
	{  -1,  -1,  25 },  /*  85: (3, 1) 11 bits */
	{  87,  88,  -1 },  /*  86: */
	{  -1,  -1,  23 },  /*  87: (3,-1) 11 bits */
	{  -1,  -1,  12 },  /*  88: (1, 2) 11 bits */
	{  90,  91,  -1 },  /*  89: */
	{  -1,  -1,   5 },  /*  90: (0, 2)  9 bits */
	{  -1,  -1,   1 },  /*  91: (0,-2)  9 bits */
	{  -1,  -1,  18 },  /*  92: (2, 1)  6 bits */
	{  94,  95,  -1 },  /*  93: */
	{  -1,  -1,   4 },  /*  94: (0, 1)  3 bits */
	{  -1,  -1,   2 },  /*  95: (0,-1)  3 bits */
	{  -1,  -1,   3 },  /*  96: (0, 0)  1 bit  */
};

static bliss_huffman_code_tuple_t tuples[] = {
	{ 59976, 18 },  /*   0: (0,-3) 001110101001001000 */
	{   119,  9 },  /*   1: (0,-2) 001110111 */
	{     3,  3 },  /*   2: (0,-1) 011 */
	{     1,  1 },  /*   3: (0, 0) 1 */
	{     2,  3 },  /*   4: (0, 1) 010 */
	{   118,  9 },  /*   5: (0, 2) 001110110 */
	{ 59975, 18 },  /*   6: (0, 3) 001110101001000111 */

	{ 59982, 18 },  /*   7: (1,-3) 001110101001001110 */
	{   936, 12 },  /*   8: (1,-2) 001110101000 */
	{     5,  5 },  /*   9: (1,-1) 00101 */
	{     0,  3 },  /*  10: (1, 0) 000 */
	{     4,  5 },  /*  11: (1, 1) 00100 */
	{   471, 11 },  /*  12: (1, 2) 00111010111 */
	{ 59981, 18 },  /*  13: (1, 3) 001110101001001101 */

	{ 59984, 18 },  /*  14: (2,-3) 001110101001010000 */
	{ 59968, 18 },  /*  15: (2,-2) 001110101001000000 */
	{    28,  7 },  /*  16: (2,-1) 0011100 */
	{     6,  5 },  /*  17: (2, 0) 00110 */
	{    15,  6 },  /*  18: (2, 1) 001111 */
	{  1875, 13 },  /*  19: (2, 2) 0011101010011 */
	{ 59983, 18 },  /*  20: (2, 3) 001110101001001111 */

	{ 59989, 18 },  /*  21: (3,-3) 001110101001010101 */
	{ 59973, 18 },  /*  22: (3,-2) 001110101001000101 */
	{   470, 11 },  /*  23: (3,-1) 00111010110 */
	{   116,  9 },  /*  24: (3, 0) 001110100 */
	{   469, 11 },  /*  25: (3, 1) 00111010101 */
	{ 59972, 18 },  /*  26: (3, 2) 001110101001000100 */
	{ 59988, 18 },  /*  27: (3, 3) 001110101001010100 */

	{ 59993, 18 },  /*  28: (4,-3) 001110101001011001 */
	{ 59980, 18 },  /*  29: (4,-2) 001110101001001100 */
	{ 59971, 18 },  /*  30: (4,-1) 001110101001000011 */
	{ 59969, 18 },  /*  31: (4, 0) 001110101001000001 */
	{ 59970, 18 },  /*  32: (4, 1) 001110101001000010 */
	{ 59979, 18 },  /*  33: (4, 2) 001110101001001011 */
	{ 59992, 18 },  /*  34: (4, 3) 001110101001011000 */

	{ 59997, 18 },  /*  35: (5,-3) 001110101001011101 */
	{ 59987, 18 },  /*  36: (5,-2) 001110101001010011 */
	{ 59978, 18 },  /*  37: (5,-1) 001110101001001010 */
	{ 59974, 18 },  /*  38: (5, 0) 001110101001000110 */
	{ 59977, 18 },  /*  39: (5, 1) 001110101001001001 */
	{ 59986, 18 },  /*  40: (5, 2) 001110101001010010 */
	{ 59996, 18 },  /*  41: (5, 3) 001110101001011100 */

	{ 59999, 18 },  /*  42: (6,-3) 001110101001011111 */
	{ 59995, 18 },  /*  43: (6,-2) 001110101001011011 */
	{ 59991, 18 },  /*  44: (6,-1) 001110101001010111 */
	{ 59985, 18 },  /*  45: (6, 0) 001110101001010001 */
	{ 59990, 18 },  /*  46: (6, 1) 001110101001010110 */
	{ 59994, 18 },  /*  47: (6, 2) 001110101001011010 */
	{ 59998, 18 },  /*  48: (6, 3) 001110101001011110 */
};

/* code_length = 2.3227 bits/tuple (1190 bits) */

bliss_huffman_code_t bliss_huffman_code_3 = {
	.n_z1 = 7,
	.n_z2 = 4,
	.tuples = tuples,
	.nodes  = nodes
};

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