36#include "params/BloomFilterH3.hh"
45 { 33268410, 395488709, 311024285, 456111753,
46 181495008, 119997521, 220697869, 433891432,
47 755927921, 515226970, 719448198, 349842774,
48 269183649, 463275672, 429800228, 521598937, },
50 { 628677802, 820947732, 809435975, 1024657192,
51 887631270, 412050215, 391365090, 324227279,
52 318338329, 1038393087, 489807930, 387366128,
53 518096428, 324184340, 429376066, 447109279, },
55 { 599747653, 404960623, 103933604, 946416030,
56 656460913, 925957005, 1047665689, 163552053,
57 88359290, 841315415, 899833584, 1067336680,
58 348549994, 464045876, 270252128, 829897652, },
60 { 215495230, 966696438, 82589012, 750102795,
61 909780866, 920285789, 769759214, 331966823,
62 939936006, 439950703, 883794828, 1009277508,
63 61634610, 741444350, 98689608, 524144422, },
65 { 93868534, 196958667, 774076619, 327921978,
66 122538783, 879785030, 690748527, 3498564,
67 83163077, 1027963025, 582088444, 466152216,
68 312424878, 550064499, 646612667, 561099434, },
70 { 1002047931, 395477707, 821317480, 890482112,
71 697094476, 263813044, 840275189, 469664185,
72 795625845, 211504898, 99204277, 1004491153,
73 725930417, 1064479221, 893834767, 839719181, },
75 { 278507126, 985111995, 706462983, 1042178726,
76 123281719, 963778122, 500881056, 726291104,
77 134293026, 568379664, 317050609, 533470307,
78 1022365922, 197645211, 315125721, 634827678, },
80 { 219227366, 553960647, 870169525, 322232839,
81 508322497, 648672696, 249405795, 883596102,
82 476433133, 541372919, 646647793, 1042679515,
83 43242483, 600187508, 499866821, 135713210, },
85 { 52837162, 96966684, 401840460, 1071661176,
86 733560065, 150035417, 341319946, 811582750,
87 636173904, 519054065, 196321433, 1028294565,
88 882204070, 522965093, 48884074, 117810166, },
90 { 650860353, 789534698, 328813544, 473250022,
91 143128306, 173196006, 846958825, 174632187,
92 683273509, 405459497, 787235556, 773873501,
93 240110267, 426797736, 92043842, 711789240, },
95 { 586637493, 5059646, 398035664, 6686087,
96 498300175, 948278148, 681227731, 592751744,
97 572019677, 558044722, 589368271, 695745538,
98 1073416749, 529192035, 550984939, 1070620580, },
100 { 102904663, 647598516, 758863940, 313426443,
101 76504114, 1050747783, 708436441, 563815069,
102 224107668, 875925186, 167675944, 926209739,
103 279737287, 1040288182, 768184312, 371708956, },
105 { 683968868, 1027427757, 180781926, 742898864,
106 624078545, 645659833, 577225838, 987150210,
107 723410002, 224013421, 993286634, 33188488,
108 247264323, 888018697, 38048664, 189037096, },
110 { 475612146, 426739285, 873726278, 529192871,
111 607715202, 388486246, 987001312, 474493980,
112 259747270, 417465536, 217062395, 392858482,
113 563810075, 137852805, 1051814153, 72895217, },
115 { 71277086, 785496675, 500608842, 89633426,
116 274085706, 248467935, 838061983, 48106147,
117 773662506, 49545328, 9071573, 100739031,
118 602018002, 904371654, 534132064, 332211304, },
120 { 401893602, 735125342, 775548339, 210224843,
121 256081130, 482894412, 350801633, 1035713633,
122 429458128, 327281409, 739927752, 359327650,
123 886942880, 847691759, 752417993, 359445596, },
125 { 267472014, 1050659620, 1068232362, 1049684368,
126 17130239, 690524969, 793224378, 14455158,
127 423092885, 873853424, 430535778, 7867877,
128 309731959, 370260786, 862353083, 403906850, },
130 { 993077283, 218812656, 389234651, 393202875,
131 413116501, 263300295, 470013158, 592730725,
132 441847172, 732392823, 407574059, 875664777,
133 271347307, 792954404, 554774761, 1022424300, },
135 { 675919719, 637054073, 784720745, 149714381,
136 813144874, 502525801, 635436670, 1003196587,
137 160786091, 947509775, 969788637, 26854073,
138 257964369, 63898568, 539767732, 772364518, },
140 { 943076868, 1021732472, 697575075, 15843624,
141 617573396, 534113303, 122953324, 964873912,
142 942995378, 87830944, 1012914818, 455484661,
143 592160054, 599844284, 810394353, 836812568, },
145 { 688992674, 279465370, 731582262, 687883235,
146 438178468, 80493001, 342701501, 663561405,
147 23360106, 531315007, 508931618, 36294623,
148 231216223, 840438413, 255665680, 663205938, },
150 { 857265418, 552630887, 8173237, 792122963,
151 210140052, 823124938, 667709953, 751538219,
152 991957789, 462064153, 19070176, 726604748,
153 714567823, 151147895, 1012619677, 697114353, },
155 { 467105652, 683256174, 702387467, 28730434,
156 549942998, 48712701, 960519696, 1008345587,
157 679267717, 370932249, 880419471, 352141567,
158 331640403, 598772468, 95160685, 812053015, },
160 { 1053491323, 430526562, 1014938507, 109685515,
161 765949103, 177288303, 1034642653, 485421658,
162 71850281, 981034542, 61620389, 601367920,
163 504420930, 220599168, 583051998, 158735752, },
165 { 103033901, 522494916, 658494760, 959206022,
166 931348143, 834510661, 21542994, 189699884,
167 679327018, 171983002, 96774168, 456133168,
168 543103352, 923945936, 970074188, 643658485, },
170 { 566379913, 805798263, 840662512, 820206124,
171 796507494, 223712542, 118811519, 662246595,
172 809326534, 416471323, 748027186, 161169753,
173 739149488, 276330378, 924837051, 964873733, },
175 { 585882743, 135502711, 3386031, 625631285,
176 1068193307, 270342640, 432739484, 556606453,
177 826419155, 1038540977, 158000202, 69109538,
178 207087256, 298111218, 678046259, 184611498, },
180 { 305310710, 46237988, 855726974, 735975153,
181 930663798, 425764232, 104362407, 391371443,
182 867622101, 71645091, 61824734, 661902640,
183 293738633, 309416189, 281710675, 879317360, },
185 { 398146324, 398293087, 689145387, 1038451703,
186 521637478, 516134620, 314658937, 830334981,
187 583400300, 340083705, 68029852, 675389876,
188 994635780, 788959180, 406967042, 74403607, },
190 { 69463153, 744427484, 191639960, 590927798,
191 969916795, 546846769, 728756758, 889355646,
192 520855076, 136068426, 776132410, 189663815,
193 252051082, 533662856, 362198652, 1026161384, },
195 { 584984279, 1004834381, 568439705, 834508761,
196 21812513, 670870173, 1052043300, 341868768,
197 473755574, 124339439, 36193947, 437997647,
198 137419489, 58705193, 337793711, 340738909, },
200 { 898051466, 512792906, 234874060, 655358775,
201 683745319, 671676404, 428888546, 639928192,
202 672697722, 176477579, 747020991, 758211282,
203 443045009, 205395173, 1016944273, 5584717, },
205 { 156038300, 138620174, 588466825, 1061494056,
206 1013672100, 1064257198, 881417791, 839470738,
207 83519030, 100875683, 237486447, 461483733,
208 681527127, 777996147, 574635362, 815974538, },
210 { 184168473, 519509808, 62531892, 51821173,
211 43787358, 385711644, 141325169, 36069511,
212 584183031, 571372909, 671503175, 226486781,
213 194932686, 1045460970, 753718579, 331442433, },
215 { 73065106, 1015327221, 630916840, 1058053470,
216 306737587, 296343219, 907194989, 920172546,
217 224516225, 818625553, 551143849, 634570650,
218 432966225, 756438259, 939564853, 767999933, },
220 { 884775648, 394862257, 446787794, 219833788,
221 727195727, 728122304, 249888353, 732947974,
222 289908868, 448282580, 618161877, 898939716,
223 739554163, 860631799, 1058977530, 86916736, },
225 { 143850006, 352708694, 200194048, 979764914,
226 629404175, 546279766, 72106714, 860980514,
227 313190585, 897143111, 308425797, 953791785,
228 349924906, 221457005, 950588925, 908254505, },
230 { 950032043, 829868728, 68623614, 714624605,
231 69760597, 297275854, 355894016, 985369737,
232 882852618, 864071289, 958512902, 950910111,
233 991368991, 829645051, 434698210, 771350575, },
235 { 552695074, 319195551, 80297396, 496413831,
236 944046531, 621525571, 617653363, 416729825,
237 441842808, 9847464, 99420657, 1033914550,
238 812966458, 937053011, 673390195, 934577365, },
240 { 1034695843, 190969665, 332900185, 51897434,
241 523888639, 883512843, 146908572, 506785674,
242 565814307, 692255649, 314052926, 826386588,
243 430691325, 866927620, 413880214, 936474339, },
245 { 129380164, 741739952, 1013703462, 494392795,
246 957214600, 1010879043, 931790677, 94551922,
247 988065869, 120637871, 882506912, 395075379,
248 210570485, 812422692, 910383687, 817722285, },
250 { 51850866, 283408630, 1053047202, 858940389,
251 818507731, 477082181, 353546901, 993324368,
252 407093779, 231608253, 1067319867, 73159811,
253 429792535, 971320614, 565699344, 718823399, },
255 { 408185106, 491493570, 596050720, 310776444,
256 703628192, 454438809, 523988035, 728512200,
257 686012353, 976339656, 72816924, 116926720,
258 165866591, 452043792, 866943072, 968545481, },
260 { 443231195, 905907843, 1061421320, 746360489,
261 1043120338, 1069659155, 463359031, 688303227,
262 186550710, 155347339, 1044842421, 1005904570,
263 69332909, 706951903, 422513657, 882038450, },
265 { 430990623, 946501980, 742556791, 278398643,
266 183759217, 659404315, 279754382, 1069347846,
267 843746517, 222777670, 990835599, 548741637,
268 129220580, 1392170, 1032654091, 894058935, },
270 { 452042227, 751640705, 259481376, 765824585,
271 145991469, 1013683228, 1055491225, 536379588,
272 392593350, 913368594, 1029429776, 226857786,
273 31505342, 1054416381, 32341741, 687106649, },
275 { 404750944, 811417027, 869530820, 773491060,
276 810901282, 979340397, 1036910290, 461764404,
277 834235095, 765695033, 604692390, 452158120,
278 928988098, 442719218, 1024059719, 167723114, },
280 { 974245177, 1046377300, 1003424287, 787349855,
281 336314155, 875074696, 1018462718, 890313003,
282 367376809, 86355556, 1020618772, 890710345,
283 444741481, 373230261, 767064947, 840920177, },
285 { 719581124, 431808156, 138301690, 668222575,
286 497413494, 740492013, 485033226, 125301442,
287 831265111, 879071459, 341690480, 152975256,
288 850330086, 717444507, 694225877, 785340566, },
290 { 1032766252, 140959364, 737474726, 1062767538,
291 364464647, 331414723, 356152634, 642832379,
292 158733632, 374691640, 285504811, 345349905,
293 876599880, 476392727, 479589210, 606376325, },
295 { 174997730, 778177086, 319164313, 163614456,
296 10331364, 599358958, 8331663, 237538058,
297 159173957, 174533880, 65588684, 878222844,
298 424467599, 901803515, 187504218, 776690353, },
300 { 803856182, 965850321, 694948067, 218315960,
301 358416571, 683713254, 178069303, 428076035,
302 686176454, 579553217, 357306738, 315018080,
303 886852373, 568563910, 896839725, 257416821, },
305 { 401650013, 183289141, 497957228, 879734476,
306 265024455, 825794561, 889237440, 323359863,
307 100258491, 991414783, 313986632, 85847250,
308 362520248, 276103512, 1041630342, 525981595, },
310 { 487732740, 46201705, 990837834, 62744493,
311 1067364756, 58015363, 690846283, 680262648,
312 997278956, 469357861, 432164624, 996763915,
313 211907847, 167824295, 144928194, 454839915, },
315 { 41404232, 514493300, 259546924, 578217256,
316 972345130, 123299213, 346040332, 1014668104,
317 520910639, 579955198, 36627803, 179072921,
318 547684341, 598950511, 269497394, 854352266, },
320 { 603906768, 100863318, 708837659, 204175569,
321 375560904, 908375384, 28314106, 6303733,
322 175283124, 749851198, 308667367, 415293931,
323 225365403, 1032188331, 977112710, 819705229, },
325 { 399767123, 697985692, 356790426, 643687584,
326 298624218, 185095167, 381653926, 876816342,
327 296720023, 2205879, 235816616, 521850105,
328 622753786, 1021421218, 726349744, 256504902, },
330 { 851245024, 1022500222, 511909628, 313809625,
331 99776025, 39710175, 798739932, 741832408,
332 140631966, 898295927, 607660421, 870669312,
333 1051422478, 789055529, 669113756, 681943450, },
335 { 853872755, 491465269, 503341472, 98019440,
336 258267420, 335602837, 320687824, 1053324395,
337 24932389, 955011453, 934255131, 435625663,
338 501568768, 238967025, 549987406, 248619780, },
340 { 411151284, 576471205, 757985419, 544137226,
341 968135693, 877548443, 194586894, 74882373,
342 248353663, 21207540, 273789651, 853653916,
343 861267970, 533253322, 3739570, 661358586, },
345 { 271430986, 71390029, 257643671, 949329860,
346 348156406, 251939238, 445808698, 48269799,
347 907589462, 105677619, 635451508, 20805932,
348 464874661, 7542147, 243619464, 288304568, },
350 { 368215982, 530288964, 770090421, 660961164,
351 614935537, 630760399, 931299233, 794519275,
352 779918979, 401746493, 561237006, 1027202224,
353 258968003, 339508073, 1050610516, 1064307013, },
355 { 1039172162, 448331205, 928997884, 49813151,
356 198712120, 992335354, 671024050, 879525220,
357 745915336, 1038822580, 138669665, 917958819,
358 681422342, 792868818, 924762727, 816386174, },
360 { 515190336, 313808618, 441296783, 1022120897,
361 792325033, 354387581, 59273006, 280075434,
362 411357221, 665274694, 4054464, 1059046246,
363 394261773, 848616745, 15446017, 517723271, },
383 for (
int i = 0; (i < 64) && val; i++, val >>= 1) {
392 return result %
filter.size();
std::vector< SatCounter8 > filter
The filter itself.
const unsigned offsetBits
Number of LSB bits to ignore from the the addresses.
int hash(Addr addr, int hash_number) const override
Apply the selected the hash functions to an address.
H3(const BloomFilterH3Params &p)
The MultiBitSel Bloom Filter associates an address to multiple entries through the use of multiple ha...
const bool isParallel
Whether hashing should be performed in parallel.
const int parFilterSize
Size of the filter when doing parallel hashing.
const int numHashes
Number of hashes.
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
static int H3Matrix[64][16]
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.