#include "uintseqhash.hh"
/*
Copyright ( c ) 2003 - 2015 Tommi Junttila
Released under the GNU Lesser General Public License version 3 .
This file is part of bliss .
bliss is free software : you can redistribute it and / or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation , version 3 of the License .
bliss is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
GNU Lesser General Public License for more details .
You should have received a copy of the GNU Lesser General Public License
along with bliss . If not , see < http : //www.gnu.org/licenses/>.
*/
namespace bliss_digraphs {
/*
* Random bits generated by
* http : //www.fourmilab.ch/hotbits/
*/
static unsigned int rtab[256 ] = {
0 xAEAA35B8, 0 x65632E16, 0 x155EDBA9, 0 x01349B39,
0 x8EB8BD97, 0 x8E4C5367, 0 x8EA78B35, 0 x2B1B4072,
0 xC1163893, 0 x269A8642, 0 xC79D7F6D, 0 x6A32DEA0,
0 xD4D2DA56, 0 xD96D4F47, 0 x47B5F48A, 0 x2587C6BF,
0 x642B71D8, 0 x5DBBAF58, 0 x5C178169, 0 xA16D9279,
0 x75CDA063, 0 x291BC48B, 0 x01AC2F47, 0 x5416DF7C,
0 x45307514, 0 xB3E1317B, 0 xE1C7A8DE, 0 x3ACDAC96,
0 x11B96831, 0 x32DE22DD, 0 x6A1DA93B, 0 x58B62381,
0 x283810E2, 0 xBC30E6A6, 0 x8EE51705, 0 xB06E8DFB,
0 x729AB12A, 0 xA9634922, 0 x1A6E8525, 0 x49DD4E19,
0 xE5DB3D44, 0 x8C5B3A02, 0 xEBDE2864, 0 xA9146D9F,
0 x736D2CB4, 0 xF5229F42, 0 x712BA846, 0 x20631593,
0 x89C02603, 0 xD5A5BF6A, 0 x823F4E18, 0 x5BE5DEFF,
0 x1C4EBBFA, 0 x5FAB8490, 0 x6E559B0C, 0 x1FE528D6,
0 xB3198066, 0 x4A965EB5, 0 xFE8BB3D5, 0 x4D2F6234,
0 x5F125AA4, 0 xBCC640FA, 0 x4F8BC191, 0 xA447E537,
0 xAC474D3C, 0 x703BFA2C, 0 x617DC0E7, 0 xF26299D7,
0 xC90FD835, 0 x33B71C7B, 0 x6D83E138, 0 xCBB1BB14,
0 x029CF5FF, 0 x7CBD093D, 0 x4C9825EF, 0 x845C4D6D,
0 x124349A5, 0 x53942D21, 0 x800E60DA, 0 x2BA6EB7F,
0 xCEBF30D3, 0 xEB18D449, 0 xE281F724, 0 x58B1CB09,
0 xD469A13D, 0 x9C7495C3, 0 xE53A7810, 0 xA866C08E,
0 x832A038B, 0 xDDDCA484, 0 xD5FE0DDE, 0 x0756002B,
0 x2FF51342, 0 x60FEC9C8, 0 x061A53E3, 0 x47B1884E,
0 xDC17E461, 0 xA17A6A37, 0 x3158E7E2, 0 xA40D873B,
0 x45AE2140, 0 xC8F36149, 0 x63A4EE2D, 0 xD7107447,
0 x6F90994F, 0 x5006770F, 0 xC1F3CA9A, 0 x91B317B2,
0 xF61B4406, 0 xA8C9EE8F, 0 xC6939B75, 0 xB28BBC3B,
0 x36BF4AEF, 0 x3B12118D, 0 x4D536ECF, 0 x9CF4B46B,
0 xE8AB1E03, 0 x8225A360, 0 x7AE4A130, 0 xC4EE8B50,
0 x50651797, 0 x5BB4C59F, 0 xD120EE47, 0 x24F3A386,
0 xBE579B45, 0 x3A378EFC, 0 xC5AB007B, 0 x3668942B,
0 x2DBDCC3A, 0 x6F37F64C, 0 xC24F862A, 0 xB6F97FCF,
0 x9E4FA23D, 0 x551AE769, 0 x46A8A5A6, 0 xDC1BCFDD,
0 x8F684CF9, 0 x501D811B, 0 x84279F80, 0 x2614E0AC,
0 x86445276, 0 xAEA0CE71, 0 x0812250F, 0 xB586D18A,
0 xC68D721B, 0 x44514E1D, 0 x37CDB99A, 0 x24731F89,
0 xFA72E589, 0 x81E6EBA2, 0 x15452965, 0 x55523D9D,
0 x2DC47E14, 0 x2E7FA107, 0 xA7790F23, 0 x40EBFDBB,
0 x77E7906B, 0 x6C1DB960, 0 x1A8B9898, 0 x65FA0D90,
0 xED28B4D8, 0 x34C3ED75, 0 x768FD2EC, 0 xFAB60BCB,
0 x962C75F4, 0 x304F0498, 0 x0A41A36B, 0 xF7DE2A4A,
0 xF4770FE2, 0 x73C93BBB, 0 xD21C82C5, 0 x6C387447,
0 x8CDB4CB9, 0 x2CC243E8, 0 x41859E3D, 0 xB667B9CB,
0 x89681E8A, 0 x61A0526C, 0 x883EDDDC, 0 x539DE9A4,
0 xC29E1DEC, 0 x97C71EC5, 0 x4A560A66, 0 xBD7ECACF,
0 x576AE998, 0 x31CE5616, 0 x97172A6C, 0 x83D047C4,
0 x274EA9A8, 0 xEB31A9DA, 0 x327209B5, 0 x14D1F2CB,
0 x00FE1D96, 0 x817DBE08, 0 xD3E55AED, 0 xF2D30AFC,
0 xFB072660, 0 x866687D6, 0 x92552EB9, 0 xEA8219CD,
0 xF7927269, 0 xF1948483, 0 x694C1DF5, 0 xB7D8B7BF,
0 xFFBC5D2F, 0 x2E88B849, 0 x883FD32B, 0 xA0331192,
0 x8CB244DF, 0 x41FAF895, 0 x16902220, 0 x97FB512A,
0 x2BEA3CC4, 0 xAF9CAE61, 0 x41ACD0D5, 0 xFD2F28FF,
0 xE780ADFA, 0 xB3A3A76E, 0 x7112AD87, 0 x7C3D6058,
0 x69E64FFF, 0 xE5F8617C, 0 x8580727C, 0 x41F54F04,
0 xD72BE498, 0 x653D1795, 0 x1275A327, 0 x14B499D4,
0 x4E34D553, 0 x4687AA39, 0 x68B64292, 0 x5C18ABC3,
0 x41EABFCC, 0 x92A85616, 0 x82684CF8, 0 x5B9F8A4E,
0 x35382FFE, 0 xFB936318, 0 x52C08E15, 0 x80918B2E,
0 x199EDEE0, 0 xA9470163, 0 xEC44ACDD, 0 x612D6735,
0 x8F88EA7D, 0 x759F5EA4, 0 xE5CC7240, 0 x68CFEB8B,
0 x04725601, 0 x0C22C23E, 0 x5BC97174, 0 x89965841,
0 x5D939479, 0 x690F338A, 0 x3C2D4380, 0 xDAE97F2B
};
void UintSeqHash::update(unsigned int i)
{
i++;
while (i > 0 )
{
h ^= rtab[i & 0 xff];
#if 1
const unsigned int b = (h & 0 x80000000) >> 31 ;
i = i >> 8 ;
h = (h << 1 ) | b;
#else
const unsigned int b = h & 0 x80000000;
h = h << 1 ;
if (b != 0 )
h++;
i = i >> 8 ;
#endif
}
}
} // namespace bliss_digraphs
Messung V0.5 in Prozent C=96 H=87 G=91
¤ Dauer der Verarbeitung: 0.1 Sekunden
(vorverarbeitet am 2026-09-10)
¤
*© Formatika GbR, Deutschland