#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=92 H=97 G=94
¤ Dauer der Verarbeitung: 0.18 Sekunden
(vorverarbeitet am 2026-06-05)
¤
*© Formatika GbR, Deutschland