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