153dc9fa0SGreg Tucker /********************************************************************** 253dc9fa0SGreg Tucker Copyright(c) 2011-2017 Intel Corporation All rights reserved. 353dc9fa0SGreg Tucker 453dc9fa0SGreg Tucker Redistribution and use in source and binary forms, with or without 553dc9fa0SGreg Tucker modification, are permitted provided that the following conditions 653dc9fa0SGreg Tucker are met: 753dc9fa0SGreg Tucker * Redistributions of source code must retain the above copyright 853dc9fa0SGreg Tucker notice, this list of conditions and the following disclaimer. 953dc9fa0SGreg Tucker * Redistributions in binary form must reproduce the above copyright 1053dc9fa0SGreg Tucker notice, this list of conditions and the following disclaimer in 1153dc9fa0SGreg Tucker the documentation and/or other materials provided with the 1253dc9fa0SGreg Tucker distribution. 1353dc9fa0SGreg Tucker * Neither the name of Intel Corporation nor the names of its 1453dc9fa0SGreg Tucker contributors may be used to endorse or promote products derived 1553dc9fa0SGreg Tucker from this software without specific prior written permission. 1653dc9fa0SGreg Tucker 1753dc9fa0SGreg Tucker THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1853dc9fa0SGreg Tucker "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1953dc9fa0SGreg Tucker LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2053dc9fa0SGreg Tucker A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2153dc9fa0SGreg Tucker OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2253dc9fa0SGreg Tucker SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2353dc9fa0SGreg Tucker LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2453dc9fa0SGreg Tucker DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2553dc9fa0SGreg Tucker THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2653dc9fa0SGreg Tucker (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2753dc9fa0SGreg Tucker OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2853dc9fa0SGreg Tucker **********************************************************************/ 2953dc9fa0SGreg Tucker 3053dc9fa0SGreg Tucker #ifndef _ROLLING_HASH2_TABLE_H_ 3153dc9fa0SGreg Tucker #define _ROLLING_HASH2_TABLE_H_ 3253dc9fa0SGreg Tucker 3353dc9fa0SGreg Tucker // values are fractional part of pi 3453dc9fa0SGreg Tucker // taken from: 3553dc9fa0SGreg Tucker // http://www.herongyang.com/Cryptography/Blowfish-First-8366-Hex-Digits-of-PI.html 3653dc9fa0SGreg Tucker // taken from source code of BlowfishJ 3753dc9fa0SGreg Tucker 3853dc9fa0SGreg Tucker uint64_t rolling_hash2_table1[256] = { 39*59ca9063SMarcel Cornu 0x243F6A8885A308D3, 0x13198A2E03707344, 0xA4093822299F31D0, 0x082EFA98EC4E6C89, 40*59ca9063SMarcel Cornu 0x452821E638D01377, 0xBE5466CF34E90C6C, 0xC0AC29B7C97C50DD, 0x3F84D5B5B5470917, 41*59ca9063SMarcel Cornu 0x9216D5D98979FB1B, 0xD1310BA698DFB5AC, 0x2FFD72DBD01ADFB7, 0xB8E1AFED6A267E96, 42*59ca9063SMarcel Cornu 0xBA7C9045F12C7F99, 0x24A19947B3916CF7, 0x0801F2E2858EFC16, 0x636920D871574E69, 43*59ca9063SMarcel Cornu 0xA458FEA3F4933D7E, 0x0D95748F728EB658, 0x718BCD5882154AEE, 0x7B54A41DC25A59B5, 44*59ca9063SMarcel Cornu 0x9C30D5392AF26013, 0xC5D1B023286085F0, 0xCA417918B8DB38EF, 0x8E79DCB0603A180E, 45*59ca9063SMarcel Cornu 0x6C9E0E8BB01E8A3E, 0xD71577C1BD314B27, 0x78AF2FDA55605C60, 0xE65525F3AA55AB94, 46*59ca9063SMarcel Cornu 0x5748986263E81440, 0x55CA396A2AAB10B6, 0xB4CC5C341141E8CE, 0xA15486AF7C72E993, 47*59ca9063SMarcel Cornu 0xB3EE1411636FBC2A, 0x2BA9C55D741831F6, 0xCE5C3E169B87931E, 0xAFD6BA336C24CF5C, 48*59ca9063SMarcel Cornu 0x7A32538128958677, 0x3B8F48986B4BB9AF, 0xC4BFE81B66282193, 0x61D809CCFB21A991, 49*59ca9063SMarcel Cornu 0x487CAC605DEC8032, 0xEF845D5DE98575B1, 0xDC262302EB651B88, 0x23893E81D396ACC5, 50*59ca9063SMarcel Cornu 0x0F6D6FF383F44239, 0x2E0B4482A4842004, 0x69C8F04A9E1F9B5E, 0x21C66842F6E96C9A, 51*59ca9063SMarcel Cornu 0x670C9C61ABD388F0, 0x6A51A0D2D8542F68, 0x960FA728AB5133A3, 0x6EEF0B6C137A3BE4, 52*59ca9063SMarcel Cornu 0xBA3BF0507EFB2A98, 0xA1F1651D39AF0176, 0x66CA593E82430E88, 0x8CEE8619456F9FB4, 53*59ca9063SMarcel Cornu 0x7D84A5C33B8B5EBE, 0xE06F75D885C12073, 0x401A449F56C16AA6, 0x4ED3AA62363F7706, 54*59ca9063SMarcel Cornu 0x1BFEDF72429B023D, 0x37D0D724D00A1248, 0xDB0FEAD349F1C09B, 0x075372C980991B7B, 55*59ca9063SMarcel Cornu 0x25D479D8F6E8DEF7, 0xE3FE501AB6794C3B, 0x976CE0BD04C006BA, 0xC1A94FB6409F60C4, 56*59ca9063SMarcel Cornu 0x5E5C9EC2196A2463, 0x68FB6FAF3E6C53B5, 0x1339B2EB3B52EC6F, 0x6DFC511F9B30952C, 57*59ca9063SMarcel Cornu 0xCC814544AF5EBD09, 0xBEE3D004DE334AFD, 0x660F2807192E4BB3, 0xC0CBA85745C8740F, 58*59ca9063SMarcel Cornu 0xD20B5F39B9D3FBDB, 0x5579C0BD1A60320A, 0xD6A100C6402C7279, 0x679F25FEFB1FA3CC, 59*59ca9063SMarcel Cornu 0x8EA5E9F8DB3222F8, 0x3C7516DFFD616B15, 0x2F501EC8AD0552AB, 0x323DB5FAFD238760, 60*59ca9063SMarcel Cornu 0x53317B483E00DF82, 0x9E5C57BBCA6F8CA0, 0x1A87562EDF1769DB, 0xD542A8F6287EFFC3, 61*59ca9063SMarcel Cornu 0xAC6732C68C4F5573, 0x695B27B0BBCA58C8, 0xE1FFA35DB8F011A0, 0x10FA3D98FD2183B8, 62*59ca9063SMarcel Cornu 0x4AFCB56C2DD1D35B, 0x9A53E479B6F84565, 0xD28E49BC4BFB9790, 0xE1DDF2DAA4CB7E33, 63*59ca9063SMarcel Cornu 0x62FB1341CEE4C6E8, 0xEF20CADA36774C01, 0xD07E9EFE2BF11FB4, 0x95DBDA4DAE909198, 64*59ca9063SMarcel Cornu 0xEAAD8E716B93D5A0, 0xD08ED1D0AFC725E0, 0x8E3C5B2F8E7594B7, 0x8FF6E2FBF2122B64, 65*59ca9063SMarcel Cornu 0x8888B812900DF01C, 0x4FAD5EA0688FC31C, 0xD1CFF191B3A8C1AD, 0x2F2F2218BE0E1777, 66*59ca9063SMarcel Cornu 0xEA752DFE8B021FA1, 0xE5A0CC0FB56F74E8, 0x18ACF3D6CE89E299, 0xB4A84FE0FD13E0B7, 67*59ca9063SMarcel Cornu 0x7CC43B81D2ADA8D9, 0x165FA26680957705, 0x93CC7314211A1477, 0xE6AD206577B5FA86, 68*59ca9063SMarcel Cornu 0xC75442F5FB9D35CF, 0xEBCDAF0C7B3E89A0, 0xD6411BD3AE1E7E49, 0x00250E2D2071B35E, 69*59ca9063SMarcel Cornu 0x226800BB57B8E0AF, 0x2464369BF009B91E, 0x5563911D59DFA6AA, 0x78C14389D95A537F, 70*59ca9063SMarcel Cornu 0x207D5BA202E5B9C5, 0x832603766295CFA9, 0x11C819684E734A41, 0xB3472DCA7B14A94A, 71*59ca9063SMarcel Cornu 0x1B5100529A532915, 0xD60F573FBC9BC6E4, 0x2B60A47681E67400, 0x08BA6FB5571BE91F, 72*59ca9063SMarcel Cornu 0xF296EC6B2A0DD915, 0xB6636521E7B9F9B6, 0xFF34052EC5855664, 0x53B02D5DA99F8FA1, 73*59ca9063SMarcel Cornu 0x08BA47996E85076A, 0x4B7A70E9B5B32944, 0xDB75092EC4192623, 0xAD6EA6B049A7DF7D, 74*59ca9063SMarcel Cornu 0x9CEE60B88FEDB266, 0xECAA8C71699A17FF, 0x5664526CC2B19EE1, 0x193602A575094C29, 75*59ca9063SMarcel Cornu 0xA0591340E4183A3E, 0x3F54989A5B429D65, 0x6B8FE4D699F73FD6, 0xA1D29C07EFE830F5, 76*59ca9063SMarcel Cornu 0x4D2D38E6F0255DC1, 0x4CDD20868470EB26, 0x6382E9C6021ECC5E, 0x09686B3F3EBAEFC9, 77*59ca9063SMarcel Cornu 0x3C9718146B6A70A1, 0x687F358452A0E286, 0xB79C5305AA500737, 0x3E07841C7FDEAE5C, 78*59ca9063SMarcel Cornu 0x8E7D44EC5716F2B8, 0xB03ADA37F0500C0D, 0xF01C1F040200B3FF, 0xAE0CF51A3CB574B2, 79*59ca9063SMarcel Cornu 0x25837A58DC0921BD, 0xD19113F97CA92FF6, 0x9432477322F54701, 0x3AE5E58137C2DADC, 80*59ca9063SMarcel Cornu 0xC8B576349AF3DDA7, 0xA94461460FD0030E, 0xECC8C73EA4751E41, 0xE238CD993BEA0E2F, 81*59ca9063SMarcel Cornu 0x3280BBA1183EB331, 0x4E548B384F6DB908, 0x6F420D03F60A04BF, 0x2CB8129024977C79, 82*59ca9063SMarcel Cornu 0x5679B072BCAF89AF, 0xDE9A771FD9930810, 0xB38BAE12DCCF3F2E, 0x5512721F2E6B7124, 83*59ca9063SMarcel Cornu 0x501ADDE69F84CD87, 0x7A5847187408DA17, 0xBC9F9ABCE94B7D8C, 0xEC7AEC3ADB851DFA, 84*59ca9063SMarcel Cornu 0x63094366C464C3D2, 0xEF1C18473215D908, 0xDD433B3724C2BA16, 0x12A14D432A65C451, 85*59ca9063SMarcel Cornu 0x50940002133AE4DD, 0x71DFF89E10314E55, 0x81AC77D65F11199B, 0x043556F1D7A3C76B, 86*59ca9063SMarcel Cornu 0x3C11183B5924A509, 0xF28FE6ED97F1FBFA, 0x9EBABF2C1E153C6E, 0x86E34570EAE96FB1, 87*59ca9063SMarcel Cornu 0x860E5E0A5A3E2AB3, 0x771FE71C4E3D06FA, 0x2965DCB999E71D0F, 0x803E89D65266C825, 88*59ca9063SMarcel Cornu 0x2E4CC9789C10B36A, 0xC6150EBA94E2EA78, 0xA5FC3C531E0A2DF4, 0xF2F74EA7361D2B3D, 89*59ca9063SMarcel Cornu 0x1939260F19C27960, 0x5223A708F71312B6, 0xEBADFE6EEAC31F66, 0xE3BC4595A67BC883, 90*59ca9063SMarcel Cornu 0xB17F37D1018CFF28, 0xC332DDEFBE6C5AA5, 0x6558218568AB9802, 0xEECEA50FDB2F953B, 91*59ca9063SMarcel Cornu 0x2AEF7DAD5B6E2F84, 0x1521B62829076170, 0xECDD4775619F1510, 0x13CCA830EB61BD96, 92*59ca9063SMarcel Cornu 0x0334FE1EAA0363CF, 0xB5735C904C70A239, 0xD59E9E0BCBAADE14, 0xEECC86BC60622CA7, 93*59ca9063SMarcel Cornu 0x9CAB5CABB2F3846E, 0x648B1EAF19BDF0CA, 0xA02369B9655ABB50, 0x40685A323C2AB4B3, 94*59ca9063SMarcel Cornu 0x319EE9D5C021B8F7, 0x9B540B19875FA099, 0x95F7997E623D7DA8, 0xF837889A97E32D77, 95*59ca9063SMarcel Cornu 0x11ED935F16681281, 0x0E358829C7E61FD6, 0x96DEDFA17858BA99, 0x57F584A51B227263, 96*59ca9063SMarcel Cornu 0x9B83C3FF1AC24696, 0xCDB30AEB532E3054, 0x8FD948E46DBC3128, 0x58EBF2EF34C6FFEA, 97*59ca9063SMarcel Cornu 0xFE28ED61EE7C3C73, 0x5D4A14D9E864B7E3, 0x42105D14203E13E0, 0x45EEE2B6A3AAABEA, 98*59ca9063SMarcel Cornu 0xDB6C4F15FACB4FD0, 0xC742F442EF6ABBB5, 0x654F3B1D41CD2105, 0xD81E799E86854DC7, 99*59ca9063SMarcel Cornu 0xE44B476A3D816250, 0xCF62A1F25B8D2646, 0xFC8883A0C1C7B6A3, 0x7F1524C369CB7492, 100*59ca9063SMarcel Cornu 0x47848A0B5692B285, 0x095BBF00AD19489D, 0x1462B17423820E00, 0x58428D2A0C55F5EA, 101*59ca9063SMarcel Cornu 0x1DADF43E233F7061, 0x3372F0928D937E41, 0xD65FECF16C223BDB, 0x7CDE3759CBEE7460, 102*59ca9063SMarcel Cornu 0x4085F2A7CE77326E, 0xA607808419F8509E, 0xE8EFD85561D99735, 0xA969A7AAC50C06C2, 10353dc9fa0SGreg Tucker }; 10453dc9fa0SGreg Tucker #endif // _ROLLING_HASH2_TABLE_H_ 105