CRC32函數接受給定類型的項,并在給定範圍内生成整數哈希值。輸入項可以是任何東西:字元串,編譯的着色器程式,檔案,甚至目錄。相同的輸入始終生成相同的散列值,并且當給定不同的輸入時,良好的散列函數傾向于生成不同的散列值。
CRC32函數不知道輸入集中的“其他”項。它隻對傳遞給它的輸入項執行一些算術和/或位魔術操作。是以,兩個不同的輸入總是有可能生成相同的哈希值。
以衆所周知的哈希函數CRC32為例。如果你給這個函數提供兩個字元串“plumless”和“buckeroo”,它會生成相同的值。這稱為哈希沖突。
哈希沖突的機率是多少?這個問題隻是數學生日問題的一般形式。答案并不總是直覺,是以很難正确猜測。讓我們推導出數學并嘗試更好地了解這些機率。
計算哈希碰撞的機率
散列函數有很多種選擇,而良好的散列函數的建立仍然是一個活躍的研究領域。一些哈希函數很快; 其他人很慢。有些會在可用範圍内均勻配置設定哈希值; 别人不這樣做。如果您對一些已知散列函數的真實性能感興趣,Charles Bloom和strchr.com會提供一些比較。出于我們的目的,我們假設散列函數非常好 - 它在可用範圍内均勻分布散列值。
在這種情況下,為輸入集合生成散列值很像生成随機數集合。那麼,我們的問題轉化為以下内容:
給定(k)随機生成的值,其中每個值都是小于\(N \)的非負整數,它們中至少有兩個相等的機率是多少?ķkñN
事實證明,從反向問題開始實際上有點簡單:它們都是唯一的機率是多少?無論相反問題的答案是什麼,我們都可以從中減去它,我們将得到原始問題的答案。
給定一個\(N \)可能的哈希值空間,假設您已經選擇了一個值。之後,有剩餘的\(N-1 \)值(可能的\(N \))與第一個值不同。是以,随機生成彼此唯一的兩個整數的機率是\(\ frac {N-1} {N} \)。ñNñ- 1N−1ñNñ- 1ñN−1N
之後,還有\(N-2 \)剩餘值(在可能的\(N \)中)與前兩個值不同,這意味着随機生成三個全部唯一的整數的機率是\( \ frac {N-1} {N} \ times \ frac {N-2} {N} \)。(我們可以将機率相乘,因為每個随機數生成都是一個獨立的事件。)ñ- 2N−2ñNñ- 1ñ× N- 2ñN−1N×N−2N
通常,随機生成唯一的\(k \)整數的機率是:ķk
ñ- 1ñ× N- 2ñ× ⋯ × N- (k - 2 )ñ× N- (k - 1 )ñN−1N×N−2N×⋯×N−(k−2)N×N−(k−1)N
在計算機上,這對于評估大k來說可能非常慢。幸運的是,上面的表達式大緻相當于:
Ë- k (k - 1 )2 N.e−k(k−1)2N
這要快得多。我們怎麼知道這是一個很好的近似值?嗯,它可以用\(e ^ x \)的泰勒展開和ε-delta證明進行分析顯示,随着\(N \)的增加,逼近誤差趨向于零。或者,您可以隻計算兩個值并進行比較。使用不同的\(N \)運作以下Python腳本,您将感覺到近似的精确度:ËXexñNñN
進口 數學
N = 百萬
probUnique = 1.0
為 ķ 在 x範圍(1,2000):
probUnique = probUnique *(N - (k - 1))/ N
print k,1 - probUnique,1 - math.exp( - 0.5 * k *(k - 1)/ N)
太棒了,是以這個神奇的表達作為我們所有值都是唯一的機率。從一個減去它,你有哈希沖突的機率:
1 - e- k (k - 1 )2 N.1- Ë- ķ(ķ- 1)2ñ
這是\(N = 2 ^ {32} \)的圖表。這說明了使用32位散列值時的沖突機率。值得注意的是,當哈希值為77163時,會發生50%的碰撞幾率。另請注意,對于任何值的\(N \),圖形采用相同的S形曲線形狀。ñ= 232ñ=232ññ
簡化的近似值
有趣的是,我們的近似采用了形式\(1 - e ^ { - X} \),因為恰好對于任何非常小的\(X \)來說,比如說\(\ frac {1} {10} \) 或更少:1 - e- X.1- Ë- XXX110110
1 - e- X.≈ X1- Ë- X≈X
換句話說,指數本身就是一個很好的近似值!事實上,\(X \)越小,它就越準确。是以,對于小碰撞機率,我們可以使用簡化表達式:XX
k (k - 1 )2 N.ķ(ķ- 1)2ñ
這實際上是一個友善的表示,因為它避免了原始表達式中的一些數值精度問題。浮點數不是很好地表示非常接近1的值。
此外,如果你談論的不僅僅是少數\(k \),那麼\(k(k-1)\)和\(k ^ 2 \)之間就沒有太大的差別。是以絕對最簡單的近似就是:ķķk (k - 1 )ķ(ķ- 1)ķ2ķ2
ķ22 N.ķ22ñ
小碰撞機率
在某些應用程式中 - 例如将哈希值用作ID時 - 避免沖突非常重要。這就是為什麼最有趣的機率是小機率。
假設您的哈希值是32位,64位或160位,下表包含一系列小機率。如果您知道哈希值的數量,隻需找到最近的比對行。為了幫助我們正确看待這些數字,我已經從網上汲取了一些現實世界的機率,比如赢得彩票的幾率。
轉載:https://preshing.com/20110504/hash-collision-probabilities/
CRC16 - CRC64測試結果在18.2M資料集上,帶有程式源
由Matt Dillon執行的程式和測試
由Joe Greco提供的18.2M message-id資料集
我要感謝所有提供曆史檔案和/或消息ID日志的人來運作此測試。在建構CRC測試程式期間,我使用了大部分用于較小的運作,并使用了由Joe Greco提供的1820萬個消息ID資料集,用于下面顯示的最終測試運作。
使用我之前釋出的程式,其中一個小錯誤在++總校正位置校正,我運作了1820萬個消息ID資料集,CRC的範圍從16到64位。碰撞次數如下所示。該計劃包含在底部。
在一定數量的樣本之後,編号較低的CRC傾向于接近100%的碰撞率,這與預期一緻。一旦測試超出了本底噪聲,每增加一個CRC就會将沖突次數減少約一半。一旦超出CRC48,就沒有與1820萬個消息ID資料集發生沖突,但是可以使用經驗資料中的CRC64推斷出每2.3萬億消息id的一個消息ID的沖突率。CRC64和1820萬mesage-id的理論沖突率是每2萬億個消息id的一次沖突,是以我們與理論有很好的對應關系。
我應該在很久以前使用過真正的CRC,而不是嘗試用素數做一些奇特的東西。1.14暗黑破壞神版本将使用最後包含的CRC64算法(實際上,CRC63,因為我想保留一位以備将來使用)。此外,它比舊的prime-mod算法更快,因為它隻需要shift和xor ops來實作。
-Matt([email protected])
總結,1820萬個樣本測試資料集,碰撞次數。
output.16 Count 18134464/18200000
output.17 Count 18068928/18200000
output.18 Count 17937856/18200000
output.19 Count 17675712/18200000
output.20 Count 17151424/18200000
output.21 Count 16103198/18200000
output.22 Count 14061250/18200000
output.23 Count 10770169/18200000
output.24 Count 7092360/18200000
output.25 Count 4153742/18200000
output.26 Count 2259269/18200000
output.27 Count 1179721/18200000
output.28 Count 603421/18200000
output.29 Count 305089/18200000
output.30 Count 153722/18200000
output.31 Count 77254/18200000
output.32 Count 38638/18200000
output.33 Count 19232/18200000
output.34 Count 9652/18200000
output.35 Count 4914/18200000
output.36 Count 2343/18200000
output.37 Count 1204/18200000
output.38 Count 637/18200000
output.39 Count 302/18200000
output.40 Count 152/18200000
output.41 Count 75/18200000
output.42 Count 52/18200000
output.43 Count 21/18200000
output.44 Count 13/18200000
output.45 Count 7/18200000
output.46 Count 1/18200000 (below noise floor)
output.47 Count 1/18200000 (below noise floor)
output.48 Count 1/18200000 (below noise floor)
output.49 Count 0/18200000 (below noise floor)
output.50 Count 0/18200000 (... all remaining entries below noise
output.51 Count 0/18200000 floor)
output.52 Count 0/18200000
output.53 Count 0/18200000
output.54 Count 0/18200000
output.55 Count 0/18200000
output.56 Count 0/18200000
output.57 Count 0/18200000
output.58 Count 0/18200000
output.59 Count 0/18200000
output.60 Count 0/18200000
output.61 Count 0/18200000
output.62 Count 0/18200000
output.63 Count 0/18200000
output.64 Count 0/18200000
原始資料,1820萬個樣本資料的沖突,以CRC16到CRC64的100,000個樣本為增量。注意,接近結束時,CRC16到CRC20接近100%的沖突率。CRC-48之外的測試資料集不會發生碰撞。
SAMPLES CRC16 CRC17 CRC18 CRC19 CRC20 CRC21 CRC22
0.1M 48694 29762 17032 9070 4519 2274 1212
0.2M 137655 97436 60243 34119 17834 9211 4809
0.3M 235174 182198 121457 71883 39173 20303 10626
0.4M 334630 275232 194897 120208 67433 35624 18672
0.5M 434497 371788 277068 177992 102379 55094 28973
0.6M 534472 470260 364505 242833 143019 78184 41394
0.7M 634464 569530 456066 314036 189198 105006 55646
0.8M 734464 669213 550297 389973 240256 135019 72156
0.9M 834464 769050 646412 470339 295794 168415 91007
1.0M 934464 868987 743717 554420 356011 205050 111280
1.1M 1034464 968955 841834 640870 419364 244383 133311
1.2M 1134464 1068940 940621 729741 486134 286809 157443
1.3M 1234464 1168934 1039769 820321 555780 331720 183461
1.4M 1334464 1268929 1139183 912533 628092 379218 210872
1.5M 1434464 1368928 1238758 1006000 702876 429273 239867
1.6M 1534464 1468928 1338453 1100821 779956 481688 270883
1.7M 1634464 1568928 1438273 1196438 859240 536198 303568
1.8M 1734464 1668928 1538141 1292873 940251 592525 337916
1.9M 1834464 1768928 1638059 1389909 1023041 651033 373656
2.0M 1934464 1868928 1737994 1487422 1107333 711244 410826
2.1M 2034464 1968928 1837950 1585341 1193293 773717 449497
2.2M 2134464 2068928 1937912 1683661 1280182 837874 489659
2.3M 2234464 2168928 2037896 1782338 1368569 903329 531092
2.4M 2334464 2268928 2137886 1881219 1457974 970943 574008
2.5M 2434464 2368928 2237876 1980254 1548323 1040150 618300
2.6M 2534464 2468928 2337871 2079431 1639565 1110486 663715
2.7M 2634464 2568928 2437865 2178796 1731494 1182295 710659
2.8M 2734464 2668928 2537864 2278265 1824318 1255416 758787
2.9M 2834464 2768928 2637862 2377821 1917637 1329614 808881
3.0M 2934464 2868928 2737860 2477444 2011671 1404983 859560
3.1M 3034464 2968928 2837860 2577106 2106181 1481548 911427
3.2M 3134464 3068928 2937858 2676871 2201256 1559161 964548
3.3M 3234464 3168928 3037857 2776663 2296730 1637708 1018633
3.4M 3334464 3268928 3137857 2876501 2392603 1717381 1073688
3.5M 3434464 3368928 3237856 2976378 2488787 1797956 1129971
3.6M 3534464 3468928 3337856 3076253 2585461 1879781 1187477
3.7M 3634464 3568928 3437856 3176153 2682289 1962055 1245443
3.8M 3734464 3668928 3537856 3276069 2779522 2045323 1304322
3.9M 3834464 3768928 3637856 3375998 2876899 2129150 1364051
4.0M 3934464 3868928 3737856 3475954 2974533 2213928 1425122
4.1M 4034464 3968928 3837856 3575923 3072335 2299534 1486908
4.2M 4134464 4068928 3937856 3675886 3170396 2385735 1549452
4.3M 4234464 4168928 4037856 3775858 3268655 2472571 1613325
4.4M 4334464 4268928 4137856 3875842 3367088 2559869 1677674
4.5M 4434464 4368928 4237856 3975821 3465615 2648049 1742853
4.6M 4534464 4468928 4337856 4075795 3564349 2736602 1809114
4.7M 4634464 4568928 4437856 4175777 3663217 2825783 1876105
4.8M 4734464 4668928 4537856 4275764 3762136 2915383 1943892
4.9M 4834464 4768928 4637856 4375759 3861176 3005392 2012783
5.0M 4934464 4868928 4737856 4475750 3960320 3095984 2081668
5.1M 5034464 4968928 4837856 4575741 4059520 3187080 2151865
5.2M 5134464 5068928 4937856 4675736 4158805 3278589 2222601
5.3M 5234464 5168928 5037856 4775732 4258124 3370362 2294052
5.4M 5334464 5268928 5137856 4875729 4357467 3462417 2366046
5.5M 5434464 5368928 5237856 4975724 4456955 3555133 2439316
5.6M 5534464 5468928 5337856 5075718 4556432 3647988 2512981
5.7M 5634464 5568928 5437856 5175717 4655960 3741135 2586722
5.8M 5734464 5668928 5537856 5275716 4755527 3834632 2661206
5.9M 5834464 5768928 5637856 5375716 4855124 3928457 2736335
6.0M 5934464 5868928 5737856 5475716 4954791 4022609 2812198
6.1M 6034464 5968928 5837856 5575716 5054480 4116952 2888493
6.2M 6134464 6068928 5937856 5675715 5154207 4211638 2965405
6.3M 6234464 6168928 6037856 5775713 5253974 4306725 3042750
6.4M 6334464 6268928 6137856 5875713 5353726 4401850 3120827
6.5M 6434464 6368928 6237856 5975713 5453499 4497092 3199416
6.6M 6534464 6468928 6337856 6075713 5553283 4592770 3278557
6.7M 6634464 6568928 6437856 6175712 5653122 4688523 3357916
6.8M 6734464 6668928 6537856 6275712 5752959 4784520 3437768
6.9M 6834464 6768928 6637856 6375712 5852821 4880693 3518173
7.0M 6934464 6868928 6737856 6475712 5952687 4977178 3599520
7.1M 7034464 6968928 6837856 6575712 6052594 5073701 3680754
7.2M 7134464 7068928 6937856 6675712 6152491 5170430 3762707
7.3M 7234464 7168928 7037856 6775712 6252398 5267324 3844797
7.4M 7334464 7268928 7137856 6875712 6352304 5364342 3927360
7.5M 7434464 7368928 7237856 6975712 6452219 5461484 4010446
7.6M 7534464 7468928 7337856 7075712 6552148 5558762 4093846
7.7M 7634464 7568928 7437856 7175712 6652078 5656120 4177539
7.8M 7734464 7668928 7537856 7275712 6752016 5753645 4261754
7.9M 7834464 7768928 7637856 7375712 6851972 5851322 4346179
8.0M 7934464 7868928 7737856 7475712 6951923 5949090 4431051
8.1M 8034464 7968928 7837856 7575712 7051873 6047013 4516301
8.2M 8134464 8068928 7937856 7675712 7151834 6145045 4602179
8.3M 8234464 8168928 8037856 7775712 7251795 6243049 4688051
8.4M 8334464 8268928 8137856 7875712 7351768 6341112 4774326
8.5M 8434464 8368928 8237856 7975712 7451730 6439315 4860966
8.6M 8534464 8468928 8337856 8075712 7551700 6537656 4947710
8.7M 8634464 8568928 8437856 8175712 7651675 6636098 5035000
8.8M 8734464 8668928 8537856 8275712 7751661 6734537 5122377
8.9M 8834464 8768928 8637856 8375712 7851639 6833018 5210463
9.0M 8934464 8868928 8737856 8475712 7951624 6931591 5298611
9.1M 9034464 8968928 8837856 8575712 8051609 7030228 5387026
9.2M 9134464 9068928 8937856 8675712 8151591 7128959 5475625
9.3M 9234464 9168928 9037856 8775712 8251571 7227687 5564631
9.4M 9334464 9268928 9137856 8875712 8351554 7326511 5653851
9.5M 9434464 9368928 9237856 8975712 8451536 7425413 5743199
9.6M 9534464 9468928 9337856 9075712 8551525 7524363 5832806
9.7M 9634464 9568928 9437856 9175712 8651512 7623334 5922809
9.8M 9734464 9668928 9537856 9275712 8751506 7722378 6012870
9.9M 9834464 9768928 9637856 9375712 8851498 7821467 6103347
10.0M 9934464 9868928 9737856 9475712 8951490 7920572 6193916
10.1M 10034464 9968928 9837856 9575712 9051482 8019780 6284966
10.2M 10134464 10068928 9937856 9675712 9151477 8118999 6376112
10.3M 10234464 10168928 10037856 9775712 9251476 8218282 6467503
10.4M 10334464 10268928 10137856 9875712 9351467 8317547 6558992
10.5M 10434464 10368928 10237856 9975712 9451464 8416839 6650539
10.6M 10534464 10468928 10337856 10075712 9551457 8516198 6742411
10.7M 10634464 10568928 10437856 10175712 9651456 8615549 6834358
10.8M 10734464 10668928 10537856 10275712 9751453 8714980 6926671
10.9M 10834464 10768928 10637856 10375712 9851450 8814399 7019247
11.0M 10934464 10868928 10737856 10475712 9951450 8913863 7111788
11.1M 11034464 10968928 10837856 10575712 10051446 9013352 7204576
11.2M 11134464 11068928 10937856 10675712 10151441 9112830 7297627
11.3M 11234464 11168928 11037856 10775712 10251439 9212377 7390677
11.4M 11334464 11268928 11137856 10875712 10351438 9311932 7484095
11.5M 11434464 11368928 11237856 10975712 10451438 9411486 7577501
11.6M 11534464 11468928 11337856 11075712 10551437 9511091 7671099
11.7M 11634464 11568928 11437856 11175712 10651437 9610721 7764779
11.8M 11734464 11668928 11537856 11275712 10751437 9710338 7858777
11.9M 11834464 11768928 11637856 11375712 10851437 9809986 7952825
12.0M 11934464 11868928 11737856 11475712 10951437 9909670 8046961
12.1M 12034464 11968928 11837856 11575712 11051435 10009330 8141240
12.2M 12134464 12068928 11937856 11675712 11151435 10109004 8235736
12.3M 12234464 12168928 12037856 11775712 11251434 10208737 8330319
12.4M 12334464 12268928 12137856 11875712 11351433 10308453 8425059
12.5M 12434464 12368928 12237856 11975712 11451433 10408196 8519955
12.6M 12534464 12468928 12337856 12075712 11551432 10507935 8614938
12.7M 12634464 12568928 12437856 12175712 11651432 10607685 8709879
12.8M 12734464 12668928 12537856 12275712 11751430 10707493 8804977
12.9M 12834464 12768928 12637856 12375712 11851429 10807250 8900269
13.0M 12934464 12868928 12737856 12475712 11951427 10907058 8995654
13.1M 13034464 12968928 12837856 12575712 12051427 11006869 9091102
13.2M 13134464 13068928 12937856 12675712 12151427 11106665 9186622
13.3M 13234464 13168928 13037856 12775712 12251426 11206488 9282381
13.4M 13334464 13268928 13137856 12875712 12351426 11306298 9378266
13.5M 13434464 13368928 13237856 12975712 12451426 11406124 9474206
13.6M 13534464 13468928 13337856 13075712 12551426 11505980 9570249
13.7M 13634464 13568928 13437856 13175712 12651425 11605825 9666364
13.8M 13734464 13668928 13537856 13275712 12751425 11705689 9762618
13.9M 13834464 13768928 13637856 13375712 12851425 11805548 9858964
14.0M 13934464 13868928 13737856 13475712 12951425 11905437 9955306
14.1M 14034464 13968928 13837856 13575712 13051425 12005318 10051762
14.2M 14134464 14068928 13937856 13675712 13151425 12105187 10148339
14.3M 14234464 14168928 14037856 13775712 13251425 12205080 10245025
14.4M 14334464 14268928 14137856 13875712 13351425 12304974 10341792
14.5M 14434464 14368928 14237856 13975712 13451425 12404875 10438678
14.6M 14534464 14468928 14337856 14075712 13551425 12504772 10535607
14.7M 14634464 14568928 14437856 14175712 13651425 12604690 10632601
14.8M 14734464 14668928 14537856 14275712 13751425 12704618 10729595
14.9M 14834464 14768928 14637856 14375712 13851425 12804530 10826613
15.0M 14934464 14868928 14737856 14475712 13951425 12904462 10923845
15.1M 15034464 14968928 14837856 14575712 14051424 13004397 11021244
15.2M 15134464 15068928 14937856 14675712 14151424 13104310 11118579
15.3M 15234464 15168928 15037856 14775712 14251424 13204247 11215898
15.4M 15334464 15268928 15137856 14875712 14351424 13304182 11313297
15.5M 15434464 15368928 15237856 14975712 14451424 13404110 11410738
15.6M 15534464 15468928 15337856 15075712 14551424 13504040 11508202
15.7M 15634464 15568928 15437856 15175712 14651424 13603999 11605874
15.8M 15734464 15668928 15537856 15275712 14751424 13703953 11703560
15.9M 15834464 15768928 15637856 15375712 14851424 13803901 11801236
16.0M 15934464 15868928 15737856 15475712 14951424 13903861 11899051
16.1M 16034464 15968928 15837856 15575712 15051424 14003807 11996838
16.2M 16134464 16068928 15937856 15675712 15151424 14103752 12094750
16.3M 16234464 16168928 16037856 15775712 15251424 14203708 12192725
16.4M 16334464 16268928 16137856 15875712 15351424 14303666 12290669
16.5M 16434464 16368928 16237856 15975712 15451424 14403623 12388681
16.6M 16534464 16468928 16337856 16075712 15551424 14503585 12486733
16.7M 16634464 16568928 16437856 16175712 15651424 14603553 12584808
16.8M 16734464 16668928 16537856 16275712 15751424 14703524 12682912
16.9M 16834464 16768928 16637856 16375712 15851424 14803488 12781127
17.0M 16934464 16868928 16737856 16475712 15951424 14903456 12879337
17.1M 17034464 16968928 16837856 16575712 16051424 15003425 12977634
17.2M 17134464 17068928 16937856 16675712 16151424 15103396 13076030
17.3M 17234464 17168928 17037856 16775712 16251424 15203379 13174358
17.4M 17334464 17268928 17137856 16875712 16351424 15303355 13272762
17.5M 17434464 17368928 17237856 16975712 16451424 15403335 13371202
17.6M 17534464 17468928 17337856 17075712 16551424 15503319 13469702
17.7M 17634464 17568928 17437856 17175712 16651424 15603292 13568257
17.8M 17734464 17668928 17537856 17275712 16751424 15703269 13666849
17.9M 17834464 17768928 17637856 17375712 16851424 15803253 13765429
18.0M 17934464 17868928 17737856 17475712 16951424 15903234 13863977
18.1M 18034464 17968928 17837856 17575712 17051424 16003219 13962602
18.2M 18134464 18068928 17937856 17675712 17151424 16103198 14061250
SAMPLES CRC23 CRC24 CRC25 CRC26 CRC27 CRC28 CRC29
0.1M 598 306 137 70 33 32 6
0.2M 2335 1234 566 286 148 80 36
0.3M 5306 2735 1297 660 338 185 76
0.4M 9430 4829 2366 1184 593 317 136
0.5M 14681 7449 3695 1874 921 480 212
0.6M 21107 10766 5245 2713 1329 693 298
0.7M 28501 14579 7107 3685 1816 904 418
0.8M 37024 18949 9289 4775 2368 1200 552
0.9M 46627 24062 11747 6030 2999 1535 726
1.0M 57487 29702 14566 7434 3696 1883 900
1.1M 69275 35841 17618 8982 4420 2278 1085
1.2M 82141 42418 20918 10651 5242 2735 1276
1.3M 96156 49607 24643 12528 6177 3183 1499
1.4M 111276 57246 28584 14504 7199 3696 1758
1.5M 127029 65713 32852 16703 8258 4216 2014
1.6M 143865 74504 37372 18965 9457 4783 2301
1.7M 161585 83821 42201 21422 10655 5389 2619
1.8M 180441 93854 47342 24001 11889 6021 2951
1.9M 200263 104260 52762 26616 13185 6772 3319
2.0M 221162 115303 58522 29495 14641 7464 3695
2.1M 242900 126968 64519 32496 16135 8248 4043
2.2M 265379 138820 70649 35669 17693 9107 4425
2.3M 288571 151326 77168 38938 19352 9945 4823
2.4M 313292 164446 83828 42437 21123 10814 5259
2.5M 338649 178029 90793 46129 22904 11731 5707
2.6M 364782 191998 98126 49769 24770 12694 6162
2.7M 391948 206469 105679 53707 26723 13659 6674
2.8M 419944 221809 113607 57564 28802 14709 7193
2.9M 448832 237389 121759 61602 30890 15774 7706
3.0M 478396 253470 130141 65867 33047 16816 8240
3.1M 508687 270291 138637 70316 35271 17905 8812
3.2M 540217 287476 147678 74859 37606 19129 9408
3.3M 572296 305265 156955 79640 39914 20350 10023
3.4M 605420 323515 166486 84549 42430 21573 10604
3.5M 638872 342001 176178 89627 44887 22792 11253
3.6M 673129 361187 186194 94767 47494 24140 11900
3.7M 708473 380771 196431 100218 50156 25444 12592
3.8M 744369 400876 206800 105706 52979 26836 13295
3.9M 780955 421301 217722 111263 55733 28324 14002
4.0M 818390 442216 228815 117014 58573 29743 14807
4.1M 856571 463657 240135 122766 61487 31332 15604
4.2M 895532 485462 252048 128679 64498 32896 16394
4.3M 935469 507851 264139 134772 67682 34453 17218
4.4M 975900 530708 276442 141257 70868 36074 18028
4.5M 1017374 554071 288827 147595 74039 37776 18855
4.6M 1059203 577909 301600 154174 77331 39428 19643
4.7M 1101552 602257 314549 160859 80834 41170 20477
4.8M 1144992 626778 327859 167784 84408 42867 21341
4.9M 1188794 651887 341437 174827 87939 44739 22290
5.0M 1233483 677637 355189 181913 91607 46549 23210
5.1M 1278421 703639 369263 189188 95288 48468 24240
5.2M 1324268 730216 383778 196721 99069 50336 25218
5.3M 1370968 757144 398346 204267 103016 52277 26184
5.4M 1417902 784180 413025 211841 106849 54250 27094
5.5M 1465747 811487 428132 219655 110759 56255 28133
5.6M 1514383 839518 443263 227626 114699 58339 29120
5.7M 1563810 868006 458810 235669 118800 60468 30139
5.8M 1613471 896956 474399 243918 123037 62585 31232
5.9M 1663949 926603 490449 252118 127315 64666 32315
6.0M 1714516 956492 506785 260532 131701 66899 33472
6.1M 1765810 986562 523349 269151 136225 69092 34620
6.2M 1817739 1017192 540065 277971 140628 71259 35762
6.3M 1870430 1048318 557046 286727 145164 73579 36951
6.4M 1923638 1079833 574308 295666 149822 75931 38072
6.5M 1977181 1111621 591828 304971 154424 78272 39252
6.6M 2031459 1144030 609595 314167 159226 80721 40395
6.7M 2085994 1176831 627683 323524 164060 83122 41675
6.8M 2141515 1210039 646090 333102 168887 85585 42911
6.9M 2197223 1243855 664616 342720 173795 88099 44193
7.0M 2253569 1277740 683171 352551 178905 90730 45393
7.1M 2310351 1312201 702035 362443 183878 93317 46719
7.2M 2367654 1346849 721347 372719 189118 95933 48061
7.3M 2425624 1382084 740728 383077 194279 98579 49507
7.4M 2483970 1417656 760522 393410 199683 101318 50878
7.5M 2542727 1453590 780226 403876 204928 104062 52287
7.6M 2602062 1489780 800270 414469 210419 106871 53734
7.7M 2661912 1526505 820536 425143 215961 109711 55135
7.8M 2722210 1563733 841047 436063 221645 112607 56571
7.9M 2782962 1601126 861733 447190 227269 115499 58002
8.0M 2844204 1638734 882940 458253 233187 118369 59377
8.1M 2905933 1676572 904301 469550 238933 121290 60813
8.2M 2968083 1715260 925998 480909 244884 124155 62297
8.3M 3030784 1754147 947997 492632 250902 127264 63749
8.4M 3093943 1793254 970024 504392 256839 130274 65237
8.5M 3157444 1832970 992239 516154 263022 133460 66790
8.6M 3221068 1872706 1014848 528065 269138 136573 68376
8.7M 3285260 1912830 1037537 540147 275389 139855 70009
8.8M 3349847 1953431 1060607 552455 281775 143027 71640
8.9M 3414900 1994427 1083885 564788 288229 146179 73270
9.0M 3480488 2036025 1107439 577146 294617 149512 74914
9.1M 3546460 2077748 1131341 589682 300996 152798 76575
9.2M 3612868 2119929 1155187 602578 307633 156161 78284
9.3M 3679701 2162297 1179455 615511 314329 159465 79963
9.4M 3747010 2204984 1203731 628627 321069 162887 81649
9.5M 3814413 2248449 1228279 641663 327926 166447 83343
9.6M 3882334 2291530 1253011 654731 334816 169884 85126
9.7M 3950743 2335211 1278081 668064 341818 173394 86907
9.8M 4018912 2379492 1303287 681715 348896 176927 88708
9.9M 4088083 2424026 1328878 695455 356134 180502 90526
10.0M 4157313 2468796 1354647 709235 363253 184126 92350
10.1M 4227398 2513755 1380688 723112 370404 187748 94204
10.2M 4297481 2558656 1406727 737107 377737 191364 96045
10.3M 4368102 2604129 1433107 751260 385239 195041 98009
10.4M 4438798 2650293 1459641 765752 392742 198809 99969
10.5M 4510042 2696494 1486393 780126 400293 202587 101951
10.6M 4581494 2743142 1513628 794526 407826 206438 103843
10.7M 4653451 2790066 1540729 809317 415499 210375 105818
10.8M 4725616 2837553 1567949 824385 423295 214123 107759
10.9M 4798109 2885065 1595824 839558 431065 217998 109799
11.0M 4870833 2933014 1623715 854401 438894 221970 111864
11.1M 4944023 2981195 1651667 869529 446739 225993 113931
11.2M 5017662 3029551 1680099 884896 454551 229991 115921
11.3M 5091586 3078432 1708619 900291 462611 234149 117973
11.4M 5165891 3127402 1737305 915864 470699 238213 120022
11.5M 5240274 3177024 1766263 931547 478811 242494 122187
11.6M 5315253 3226697 1795435 947538 487157 246682 124342
11.7M 5390388 3276789 1824857 963453 495528 250924 126400
11.8M 5465773 3327075 1854324 979526 503966 255168 128558
11.9M 5541510 3377708 1884039 995634 512374 259459 130703
12.0M 5617513 3428716 1913872 1011852 520970 263895 132913
12.1M 5693926 3480028 1944058 1028277 529569 268349 135123
12.2M 5770390 3531628 1974367 1044907 538294 272762 137362
12.3M 5847300 3583160 2004936 1061755 547087 277165 139608
12.4M 5924285 3635217 2035678 1078559 555885 281660 141920
12.5M 6001710 3687514 2066558 1095554 564778 286246 144185
12.6M 6079098 3740241 2097803 1112416 573656 290780 146435
12.7M 6156852 3793168 2129166 1129462 582679 295409 148752
12.8M 6234991 3846455 2160857 1146942 591699 300053 151066
12.9M 6313305 3899816 2192755 1164452 600923 304684 153359
13.0M 6391805 3953652 2224742 1181916 610099 309438 155758
13.1M 6470670 4007729 2257006 1199917 619350 314208 158135
13.2M 6549585 4061961 2289450 1217667 628682 318966 160595
13.3M 6629008 4116612 2322142 1235564 637862 323755 163051
13.4M 6708690 4171491 2354916 1253641 647345 328605 165509
13.5M 6788670 4226641 2387936 1271963 656969 333473 168030
13.6M 6868611 4282035 2421130 1290288 666538 338347 170481
13.7M 6948959 4337624 2454599 1308817 676284 343233 173033
13.8M 7029578 4393669 2488210 1327388 686199 348272 175610
13.9M 7110350 4449972 2522082 1345862 696013 353394 178152
14.0M 7191282 4506534 2556145 1364605 705930 358453 180769
14.1M 7272330 4563570 2590291 1383542 715940 363658 183344
14.2M 7353898 4620464 2624855 1402482 725903 368824 185983
14.3M 7435652 4677820 2659181 1421719 735908 374015 188678
14.4M 7517384 4735237 2693761 1441152 745999 379321 191295
14.5M 7599508 4792978 2728745 1460592 756190 384647 193903
14.6M 7682109 4850729 2763886 1480268 766496 389859 196492
14.7M 7764740 4909089 2799205 1499695 776823 395380 199242
14.8M 7847673 4967248 2834418 1519422 787405 400734 201999
14.9M 7930708 5026034 2869953 1539365 797882 406243 204736
15.0M 8014101 5084718 2906005 1559431 808712 411700 207448
15.1M 8098470 5143511 2941725 1579422 819426 417066 210173
15.2M 8182415 5202876 2977903 1599562 830197 422610 212874
15.3M 8266184 5262744 3014356 1619957 840902 428061 215697
15.4M 8350008 5322434 3051127 1640445 851750 433659 218539
15.5M 8433990 5382231 3088288 1660993 862623 439354 221429
15.6M 8518595 5442684 3125526 1681579 873448 445058 224222
15.7M 8603030 5503319 3162868 1702220 884636 450645 227145
15.8M 8687708 5564179 3200416 1723095 895735 456224 230029
15.9M 8772689 5625449 3237976 1744179 906845 461952 232930
16.0M 8857973 5686672 3275817 1765436 918138 467618 235861
16.1M 8943288 5748209 3313973 1786788 929331 473402 238842
16.2M 9028668 5810109 3351938 1808177 940389 479146 241816
16.3M 9114163 5872118 3390118 1829751 951696 485017 244776
16.4M 9200121 5934331 3428694 1851395 963180 490947 247822
16.5M 9286007 5996612 3467221 1872875 974620 496944 250882
16.6M 9372012 6059317 3506292 1894849 986234 502734 253973
16.7M 9458202 6122215 3545563 1917044 997824 508770 257098
16.8M 9544827 6185514 3585185 1939007 1009459 514758 260095
16.9M 9631424 6248792 3624656 1961210 1021186 520766 263145
17.0M 9717886 6312228 3664147 1983486 1033057 526828 266255
17.1M 9804653 6376231 3704077 2005842 1045006 533034 269413
17.2M 9891451 6440246 3744092 2028282 1056942 539151 272609
17.3M 9978615 6504484 3784090 2050970 1068949 545393 275829
17.4M 10066095 6568897 3824279 2073908 1080972 551746 279052
17.5M 10153638 6633419 3864988 2096617 1093007 558241 282168
17.6M 10241316 6698409 3905771 2119439 1105345 564643 285307
17.7M 10329060 6763735 3946805 2142721 1117568 571041 288589
17.8M 10416956 6829189 3987814 2165682 1129935 577460 291925
17.9M 10505125 6894783 4028719 2188977 1142181 583945 295143
18.0M 10593200 6960451 4070229 2212196 1154546 590442 298462
18.1M 10681658 7026271 4111702 2235718 1167082 596914 301830
18.2M 10770169 7092360 4153742 2259269 1179721 603421 305089
SAMPLES CRC30 CRC31 CRC32 CRC33 CRC34 CRC35 CRC36
0.1M 5 1 3 0 0 0 0
0.2M 14 12 5 3 0 1 0
0.3M 40 24 7 8 6 3 1
0.4M 73 37 20 10 9 3 3
0.5M 110 65 29 16 12 4 4
0.6M 161 86 44 22 14 6 5
0.7M 219 121 66 33 14 8 5
0.8M 292 151 84 41 19 9 5
0.9M 370 195 104 53 26 11 5
1.0M 455 238 124 68 29 12 6
1.1M 557 281 149 78 32 15 8
1.2M 669 350 178 88 38 17 12
1.3M 786 401 213 93 42 19 14
1.4M 924 472 240 105 43 24 14
1.5M 1055 533 265 120 50 29 16
1.6M 1222 592 302 133 58 37 19
1.7M 1364 662 345 152 61 42 24
1.8M 1520 744 378 171 74 47 25
1.9M 1700 825 413 192 90 54 28
2.0M 1905 910 465 219 108 60 30
2.1M 2125 1004 528 239 116 68 33
2.2M 2335 1121 587 270 124 78 37
2.3M 2537 1210 632 288 136 86 43
2.4M 2742 1328 680 314 151 95 48
2.5M 2974 1446 747 348 167 99 51
2.6M 3198 1533 808 375 180 110 56
2.7M 3455 1655 882 417 194 117 58
2.8M 3705 1772 954 447 212 125 63
2.9M 3959 1895 1010 482 231 143 65
3.0M 4220 2023 1085 509 250 157 69
3.1M 4492 2181 1153 547 268 162 70
3.2M 4759 2326 1238 582 292 171 73
3.3M 5075 2469 1339 623 311 182 76
3.4M 5401 2633 1427 673 333 191 80
3.5M 5677 2779 1506 708 357 205 93
3.6M 6026 2951 1581 758 384 218 97
3.7M 6364 3121 1669 804 413 232 100
3.8M 6708 3283 1757 835 430 244 103
3.9M 7076 3471 1834 880 452 255 106
4.0M 7439 3661 1927 919 473 266 113
4.1M 7833 3841 2027 962 499 270 117
4.2M 8246 4053 2112 1007 533 278 120
4.3M 8627 4254 2205 1047 554 291 124
4.4M 9033 4448 2290 1100 573 302 125
4.5M 9468 4661 2403 1153 604 313 130
4.6M 9914 4853 2497 1195 625 327 138
4.7M 10357 5078 2584 1253 646 340 143
4.8M 10802 5290 2696 1300 679 349 148
4.9M 11251 5503 2812 1350 704 364 154
5.0M 11717 5751 2936 1400 737 375 160
5.1M 12162 5962 3049 1458 770 391 165
5.2M 12657 6200 3175 1526 789 406 172
5.3M 13148 6434 3293 1591 822 417 178
5.4M 13633 6667 3436 1654 864 430 188
5.5M 14097 6921 3553 1723 910 448 199
5.6M 14572 7158 3667 1777 944 459 210
5.7M 15059 7425 3799 1832 971 478 218
5.8M 15564 7700 3935 1895 1004 495 223
5.9M 16091 7976 4067 1950 1037 509 229
6.0M 16659 8246 4215 2026 1073 534 236
6.1M 17254 8532 4362 2095 1112 555 244
6.2M 17798 8790 4510 2157 1148 570 248
6.3M 18420 9085 4651 2245 1187 590 258
6.4M 19001 9380 4825 2300 1225 601 268
6.5M 19592 9678 4964 2365 1248 615 276
6.6M 20205 9987 5119 2441 1287 637 284
6.7M 20808 10297 5259 2531 1331 650 294
6.8M 21472 10625 5412 2600 1361 676 302
6.9M 22096 10941 5548 2675 1406 701 313
7.0M 22729 11258 5715 2748 1448 721 321
7.1M 23342 11558 5879 2836 1486 746 332
7.2M 24041 11916 6019 2924 1532 763 342
7.3M 24704 12273 6168 3009 1567 782 350
7.4M 25330 12603 6336 3112 1605 799 360
7.5M 26026 12970 6498 3198 1652 824 376
7.6M 26735 13314 6696 3274 1709 839 380
7.7M 27454 13674 6875 3371 1757 861 392
7.8M 28206 14045 7054 3481 1802 887 399
7.9M 28985 14434 7249 3573 1842 913 410
8.0M 29710 14794 7438 3687 1883 938 416
8.1M 30449 15167 7621 3779 1917 958 428
8.2M 31227 15563 7825 3868 1976 988 440
8.3M 31961 15903 8007 3963 2018 1013 454
8.4M 32797 16276 8198 4057 2069 1040 467
8.5M 33583 16681 8425 4150 2125 1059 476
8.6M 34361 17108 8654 4256 2172 1082 483
8.7M 35178 17523 8852 4373 2223 1111 498
8.8M 36012 17952 9038 4470 2270 1133 506
8.9M 36815 18365 9245 4563 2325 1163 516
9.0M 37651 18780 9479 4665 2368 1186 529
9.1M 38487 19235 9680 4778 2424 1213 546
9.2M 39342 19662 9904 4908 2463 1236 558
9.3M 40204 20111 10096 5015 2512 1264 568
9.4M 41091 20551 10331 5124 2560 1293 580
9.5M 41938 21011 10555 5214 2601 1332 597
9.6M 42800 21427 10769 5332 2662 1367 611
9.7M 43735 21870 10981 5447 2711 1388 625
9.8M 44634 22288 11210 5573 2773 1426 644
9.9M 45530 22731 11436 5686 2835 1449 652
10.0M 46438 23254 11632 5806 2895 1468 673
10.1M 47382 23687 11873 5923 2940 1493 686
10.2M 48408 24141 12107 6042 2996 1518 703
10.3M 49328 24617 12346 6165 3070 1544 710
10.4M 50264 25093 12593 6302 3138 1570 728
10.5M 51204 25574 12855 6426 3194 1608 741
10.6M 52219 26095 13111 6542 3263 1639 758
10.7M 53182 26614 13358 6659 3333 1666 772
10.8M 54136 27110 13599 6774 3404 1694 787
10.9M 55135 27646 13864 6895 3464 1723 805
11.0M 56179 28181 14130 7037 3513 1766 827
11.1M 57241 28667 14358 7151 3581 1795 838
11.2M 58307 29175 14617 7287 3644 1832 852
11.3M 59374 29686 14885 7417 3710 1870 872
11.4M 60438 30202 15161 7563 3786 1897 890
11.5M 61468 30806 15414 7693 3861 1934 909
11.6M 62586 31353 15707 7843 3913 1971 925
11.7M 63662 31921 15995 7975 3980 2007 939
11.8M 64767 32464 16272 8121 4049 2039 953
11.9M 65897 32981 16545 8269 4108 2076 967
12.0M 66985 33509 16845 8415 4172 2124 985
12.1M 68102 34069 17123 8547 4237 2156 1005
12.2M 69190 34659 17398 8677 4303 2185 1018
12.3M 70382 35204 17669 8825 4386 2242 1038
12.4M 71516 35825 17955 8962 4458 2280 1061
12.5M 72756 36455 18259 9090 4542 2310 1071
12.6M 73997 37059 18549 9209 4629 2342 1080
12.7M 75137 37678 18854 9351 4708 2363 1103
12.8M 76299 38247 19150 9491 4785 2408 1124
12.9M 77493 38850 19471 9662 4866 2442 1141
13.0M 78651 39403 19777 9796 4936 2481 1160
13.1M 79844 40002 20081 9967 4999 2513 1174
13.2M 81058 40633 20368 10107 5081 2543 1194
13.3M 82236 41261 20669 10240 5151 2585 1215
13.4M 83469 41874 20970 10393 5233 2622 1234
13.5M 84700 42521 21304 10573 5326 2662 1254
13.6M 85951 43170 21652 10747 5399 2709 1277
13.7M 87223 43782 21981 10896 5501 2754 1300
13.8M 88494 44437 22300 11024 5571 2795 1318
13.9M 89791 45049 22605 11176 5662 2832 1340
14.0M 91070 45680 22967 11342 5743 2874 1358
14.1M 92347 46305 23306 11497 5834 2933 1383
14.2M 93635 46972 23656 11701 5917 2976 1401
14.3M 95019 47648 23981 11870 5985 3035 1426
14.4M 96365 48364 24299 12019 6057 3068 1446
14.5M 97729 49043 24620 12203 6130 3120 1471
14.6M 99114 49774 24949 12355 6207 3156 1488
14.7M 100474 50460 25291 12531 6282 3199 1513
14.8M 101838 51157 25664 12678 6348 3238 1546
14.9M 103199 51886 26018 12852 6447 3279 1578
15.0M 104561 52562 26337 13045 6544 3317 1604
15.1M 105950 53225 26686 13225 6656 3366 1622
15.2M 107447 53905 27040 13395 6746 3411 1644
15.3M 108912 54637 27370 13572 6837 3448 1667
15.4M 110277 55329 27727 13724 6933 3501 1687
15.5M 111673 56046 28109 13911 7025 3535 1714
15.6M 113141 56768 28469 14101 7094 3580 1733
15.7M 114587 57501 28818 14277 7174 3630 1760
15.8M 116054 58230 29180 14451 7258 3686 1786
15.9M 117459 58962 29544 14622 7354 3742 1807
16.0M 118907 59704 29923 14827 7466 3791 1830
16.1M 120412 60447 30307 15029 7563 3847 1847
16.2M 121895 61164 30692 15190 7664 3894 1866
16.3M 123428 61928 31046 15393 7752 3939 1891
16.4M 124961 62691 31444 15576 7839 3991 1920
16.5M 126444 63473 31815 15776 7948 4043 1938
16.6M 127945 64235 32207 16004 8046 4097 1962
16.7M 129517 64984 32588 16230 8148 4144 1984
16.8M 131019 65739 32974 16438 8244 4194 2010
16.9M 132553 66529 33358 16632 8351 4248 2036
17.0M 134113 67326 33756 16835 8444 4290 2060
17.1M 135661 68138 34135 17032 8553 4344 2086
17.2M 137279 68952 34510 17234 8665 4387 2114
17.3M 138840 69781 34891 17448 8765 4436 2136
17.4M 140575 70594 35276 17629 8858 4483 2161
17.5M 142290 71396 35726 17807 8955 4521 2189
17.6M 143864 72236 36174 17994 9072 4561 2214
17.7M 145485 73014 36600 18204 9167 4637 2241
17.8M 147093 73825 36971 18396 9261 4682 2260
17.9M 148720 74638 37388 18586 9357 4735 2289
18.0M 150358 75498 37804 18802 9452 4801 2305
18.1M 152014 76347 38195 19014 9551 4861 2324
18.2M 153722 77254 38638 19232 9652 4914 2343
SAMPLES CRC37 CRC38 CRC39 CRC40 CRC41 CRC42 CRC43
0.1M 0 0 0 0 0 0 0
0.2M 0 0 0 0 0 0 0
0.3M 1 0 0 0 0 0 0
0.4M 1 0 0 0 0 0 0
0.5M 2 0 0 0 0 0 0
0.6M 2 0 0 0 0 0 0
0.7M 2 0 0 0 0 0 0
0.8M 3 0 1 0 0 0 0
0.9M 4 0 1 0 0 0 0
1.0M 6 0 1 0 0 0 0
1.1M 6 0 1 0 0 0 0
1.2M 6 1 1 0 0 0 0
1.3M 8 1 2 0 0 0 0
1.4M 9 1 3 0 0 0 1
1.5M 11 1 3 2 1 0 1
1.6M 12 1 3 3 1 0 1
1.7M 14 3 4 3 1 0 1
1.8M 16 3 4 3 1 0 1
1.9M 17 3 4 3 1 0 1
2.0M 19 4 4 3 1 0 1
2.1M 20 4 4 3 2 0 1
2.2M 24 5 6 3 2 0 1
2.3M 24 5 6 3 2 0 1
2.4M 25 5 6 3 2 0 1
2.5M 27 6 7 3 2 0 1
2.6M 29 7 7 3 2 0 1
2.7M 30 8 7 3 2 0 1
2.8M 32 8 7 3 2 0 1
2.9M 34 10 7 3 2 0 1
3.0M 35 12 7 3 2 0 1
3.1M 36 14 8 5 2 0 1
3.2M 37 16 8 5 2 0 1
3.3M 41 22 9 5 2 0 1
3.4M 43 23 11 5 2 0 1
3.5M 49 24 12 5 2 0 1
3.6M 52 27 12 5 3 0 1
3.7M 54 29 13 8 3 0 1
3.8M 59 31 15 8 3 0 1
3.9M 60 34 16 10 3 0 1
4.0M 64 36 16 11 4 0 1
4.1M 67 36 18 11 4 0 1
4.2M 72 36 18 11 4 0 1
4.3M 77 36 19 11 4 0 1
4.4M 85 40 19 12 5 0 1
4.5M 86 42 20 12 5 0 1
4.6M 91 44 20 12 5 0 1
4.7M 94 46 22 12 5 0 1
4.8M 96 47 22 13 5 0 1
4.9M 99 49 23 13 5 0 1
5.0M 102 50 25 14 6 0 1
5.1M 106 52 27 15 7 0 2
5.2M 110 55 27 16 7 0 2
5.3M 114 57 27 16 7 0 2
5.4M 114 57 28 16 8 0 2
5.5M 115 58 28 16 9 1 2
5.6M 120 62 29 16 9 1 2
5.7M 125 65 30 17 9 1 2
5.8M 129 67 30 18 9 1 2
5.9M 130 68 30 18 9 1 2
6.0M 131 70 31 18 9 1 2
6.1M 133 72 33 19 9 1 2
6.2M 140 76 34 19 9 1 2
6.3M 146 78 34 19 10 1 2
6.4M 148 81 36 20 10 1 2
6.5M 149 82 42 21 10 1 2
6.6M 151 84 42 23 11 1 3
6.7M 158 86 43 23 12 1 3
6.8M 162 89 46 24 12 1 3
6.9M 165 93 46 25 12 1 3
7.0M 167 98 46 25 12 1 3
7.1M 172 100 47 25 12 1 3
7.2M 178 107 48 26 13 2 3
7.3M 185 108 50 27 13 2 3
7.4M 194 110 51 29 13 2 3
7.5M 206 111 51 29 14 2 3
7.6M 213 113 53 30 14 4 3
7.7M 219 117 54 32 14 4 3
7.8M 225 121 54 32 14 4 3
7.9M 234 125 55 32 14 4 3
8.0M 238 129 56 32 15 5 3
8.1M 247 133 58 33 15 5 3
8.2M 255 136 60 33 15 5 3
8.3M 259 139 64 33 15 5 3
8.4M 264 145 64 34 15 5 3
8.5M 270 151 67 37 15 5 3
8.6M 277 154 70 37 15 5 3
8.7M 288 156 70 39 15 7 3
8.8M 292 158 71 39 15 7 3
8.9M 297 167 72 40 15 7 3
9.0M 307 169 74 42 16 8 3
9.1M 312 172 74 42 17 8 3
9.2M 316 180 76 43 17 8 4
9.3M 320 181 79 44 17 9 5
9.4M 326 184 82 45 17 9 5
9.5M 335 187 83 46 17 10 5
9.6M 340 190 85 49 17 10 5
9.7M 346 190 87 50 17 10 5
9.8M 351 195 89 51 17 10 5
9.9M 361 199 89 54 17 11 5
10.0M 370 204 90 54 17 12 5
10.1M 376 206 91 54 18 13 5
10.2M 382 208 94 57 18 13 5
10.3M 388 212 98 57 18 13 5
10.4M 394 214 99 58 19 13 5
10.5M 398 220 101 60 19 13 5
10.6M 405 225 102 60 19 13 6
10.7M 415 231 103 62 20 13 6
10.8M 418 236 103 63 20 13 6
10.9M 428 244 103 63 21 13 6
11.0M 435 247 107 64 21 13 6
11.1M 444 251 111 65 21 13 6
11.2M 450 251 113 65 21 14 6
11.3M 459 259 113 68 24 14 6
11.4M 464 264 115 68 25 14 6
11.5M 466 267 116 69 26 14 6
11.6M 474 271 120 69 27 14 6
11.7M 481 274 122 69 27 14 6
11.8M 490 279 125 69 28 15 6
11.9M 498 287 126 72 28 15 7
12.0M 505 293 129 72 28 16 7
12.1M 512 298 132 72 29 17 7
12.2M 518 302 137 72 29 17 7
12.3M 523 310 138 74 29 18 7
12.4M 542 315 145 75 30 20 7
12.5M 555 320 147 77 30 20 7
12.6M 564 324 148 78 31 21 7
12.7M 573 326 150 79 33 21 7
12.8M 587 328 151 80 33 21 7
12.9M 599 332 155 82 35 21 7
13.0M 603 338 157 85 37 22 7
13.1M 615 341 162 86 38 22 8
13.2M 629 345 166 86 39 23 8
13.3M 639 349 169 86 39 23 8
13.4M 654 354 171 87 40 24 9
13.5M 661 360 173 89 40 24 9
13.6M 673 367 174 91 41 24 9
13.7M 682 369 178 91 41 25 9
13.8M 697 374 181 93 42 25 9
13.9M 713 377 183 98 43 25 10
14.0M 719 384 183 99 44 25 10
14.1M 728 393 186 101 45 26 10
14.2M 737 398 190 101 47 27 11
14.3M 748 401 196 101 47 27 12
14.4M 757 403 200 101 48 27 12
14.5M 764 408 200 101 48 27 12
14.6M 774 415 203 101 48 27 12
14.7M 783 417 205 102 49 28 12
14.8M 793 418 207 102 50 28 12
14.9M 802 425 208 102 51 29 13
15.0M 822 430 210 102 52 29 14
15.1M 827 434 212 102 53 29 14
15.2M 833 437 215 103 53 29 14
15.3M 847 442 218 104 54 29 14
15.4M 855 446 221 105 56 29 14
15.5M 867 452 225 106 56 29 14
15.6M 880 458 227 106 57 30 14
15.7M 891 467 228 109 57 32 14
15.8M 906 477 231 110 59 33 14
15.9M 915 482 234 111 59 33 14
16.0M 923 489 234 114 61 34 15
16.1M 943 496 240 114 61 35 15
16.2M 961 505 243 117 62 35 15
16.3M 975 511 245 118 63 35 16
16.4M 989 515 247 122 65 36 17
16.5M 998 521 248 122 65 37 17
16.6M 1012 531 249 123 65 38 17
16.7M 1020 533 250 123 66 40 17
16.8M 1033 539 253 128 66 40 17
16.9M 1043 546 254 129 67 41 17
17.0M 1054 550 257 129 69 42 17
17.1M 1067 555 260 130 70 42 18
17.2M 1083 561 263 133 70 44 19
17.3M 1090 573 266 135 70 46 20
17.4M 1096 586 271 137 71 46 20
17.5M 1108 594 275 139 72 46 20
17.6M 1120 597 280 140 72 48 21
17.7M 1134 603 287 142 72 48 21
17.8M 1146 608 287 146 73 48 21
17.9M 1162 614 291 147 73 50 21
18.0M 1176 621 293 149 73 50 21
18.1M 1185 626 298 150 75 51 21
18.2M 1204 637 302 152 75 52 21
SAMPLES CRC44 CRC45 CRC46 CRC47 CRC48 CRC49 CRC50
0.1M 0 0 0 0 0 0 0
0.2M 0 0 0 0 0 0 0
0.3M 0 0 0 0 0 0 0
0.4M 0 0 0 0 0 0 0
0.5M 0 0 0 0 0 0 0
0.6M 0 0 0 0 0 0 0
0.7M 0 0 0 0 0 0 0
0.8M 0 0 0 0 0 0 0
0.9M 0 0 0 0 0 0 0
1.0M 0 0 0 0 0 0 0
1.1M 0 0 0 0 0 0 0
1.2M 0 0 0 0 0 0 0
1.3M 0 0 0 0 0 0 0
1.4M 0 0 0 0 0 0 0
1.5M 0 0 0 0 0 0 0
1.6M 0 0 0 0 0 0 0
1.7M 0 0 0 0 0 0 0
1.8M 0 0 0 0 0 0 0
1.9M 0 0 0 0 0 0 0
2.0M 0 0 0 0 0 0 0
2.1M 0 0 0 0 0 0 0
2.2M 0 0 0 0 0 0 0
2.3M 0 0 0 0 0 0 0
2.4M 0 0 0 0 0 0 0
2.5M 0 0 0 0 0 0 0
2.6M 0 0 0 0 0 0 0
2.7M 0 0 0 0 0 0 0
2.8M 0 0 0 0 0 0 0
2.9M 0 0 0 0 0 0 0
3.0M 1 0 0 0 0 0 0
3.1M 1 0 0 0 0 0 0
3.2M 1 0 0 0 0 0 0
3.3M 1 0 0 0 0 0 0
3.4M 1 0 0 0 0 0 0
3.5M 1 0 0 0 0 0 0
3.6M 2 0 0 0 0 0 0
3.7M 3 0 0 0 0 0 0
3.8M 3 0 0 0 0 0 0
3.9M 3 0 0 0 0 0 0
4.0M 3 0 0 0 0 0 0
4.1M 3 0 0 0 0 0 0
4.2M 3 0 0 0 0 0 0
4.3M 3 0 0 0 0 0 0
4.4M 3 0 0 0 0 0 0
4.5M 3 0 0 0 0 0 0
4.6M 3 0 0 0 0 0 0
4.7M 3 0 0 0 0 0 0
4.8M 3 0 0 0 0 0 0
4.9M 3 0 0 0 0 0 0
5.0M 4 0 0 0 0 0 0
5.1M 4 0 0 0 0 0 0
5.2M 4 0 0 0 0 0 0
5.3M 4 0 0 0 0 0 0
5.4M 4 0 0 0 0 0 0
5.5M 4 0 0 0 0 0 0
5.6M 5 0 0 0 0 0 0
5.7M 5 0 0 0 0 0 0
5.8M 5 0 0 0 0 0 0
5.9M 5 0 0 0 0 0 0
6.0M 5 0 0 0 0 0 0
6.1M 5 0 0 0 0 0 0
6.2M 5 0 0 0 0 0 0
6.3M 5 0 0 0 0 0 0
6.4M 5 0 0 0 0 0 0
6.5M 5 0 0 0 0 0 0
6.6M 5 0 0 0 0 0 0
6.7M 5 0 0 0 0 0 0
6.8M 5 0 0 0 0 0 0
6.9M 5 0 0 0 0 0 0
7.0M 5 0 0 0 0 0 0
7.1M 5 0 0 0 0 0 0
7.2M 5 0 0 0 0 0 0
7.3M 5 0 0 0 0 0 0
7.4M 5 0 0 0 0 0 0
7.5M 5 0 0 0 0 0 0
7.6M 5 0 0 0 0 0 0
7.7M 5 0 0 0 0 0 0
7.8M 5 0 0 0 0 0 0
7.9M 5 1 0 0 0 0 0
8.0M 5 1 0 0 0 0 0
8.1M 5 1 0 0 0 0 0
8.2M 5 1 0 0 0 0 0
8.3M 5 1 0 0 0 0 0
8.4M 5 1 0 0 0 0 0
8.5M 5 1 0 0 0 0 0
8.6M 5 1 0 0 0 0 0
8.7M 5 1 0 0 0 0 0
8.8M 5 1 0 0 0 0 0
8.9M 5 2 0 0 0 0 0
9.0M 5 2 0 0 0 0 0
9.1M 5 2 0 0 0 0 0
9.2M 5 2 0 0 0 0 0
9.3M 5 2 0 0 0 0 0
9.4M 5 2 0 0 0 0 0
9.5M 5 2 1 0 0 0 0
9.6M 5 2 1 0 0 0 0
9.7M 5 2 1 0 0 0 0
9.8M 5 2 1 0 0 0 0
9.9M 5 2 1 0 0 0 0
10.0M 5 2 1 0 0 0 0
10.1M 6 2 1 0 0 0 0
10.2M 6 2 1 0 0 0 0
10.3M 6 2 1 0 0 0 0
10.4M 6 2 1 0 0 0 0
10.5M 6 2 1 0 0 0 0
10.6M 6 2 1 0 0 0 0
10.7M 6 2 1 0 0 0 0
10.8M 6 2 1 0 0 0 0
10.9M 6 2 1 0 0 0 0
11.0M 6 2 1 0 0 0 0
11.1M 6 2 1 0 0 0 0
11.2M 6 2 1 0 0 0 0
11.3M 6 2 1 0 0 0 0
11.4M 6 2 1 0 0 0 0
11.5M 6 2 1 0 0 0 0
11.6M 6 2 1 0 0 0 0
11.7M 6 2 1 0 0 0 0
11.8M 6 2 1 0 0 0 0
11.9M 6 2 1 0 0 0 0
12.0M 6 2 1 0 0 0 0
12.1M 6 2 1 0 0 0 0
12.2M 6 2 1 0 0 0 0
12.3M 6 2 1 0 0 0 0
12.4M 6 3 1 0 0 0 0
12.5M 6 4 1 0 0 0 0
12.6M 7 4 1 0 0 0 0
12.7M 7 4 1 0 0 0 0
12.8M 7 4 1 0 0 0 0
12.9M 7 4 1 0 0 0 0
13.0M 7 4 1 0 0 0 0
13.1M 7 4 1 0 0 0 0
13.2M 7 4 1 0 0 0 0
13.3M 7 4 1 0 0 0 0
13.4M 7 4 1 0 0 0 0
13.5M 7 4 1 0 0 0 0
13.6M 7 4 1 0 0 0 0
13.7M 7 4 1 0 0 0 0
13.8M 7 4 1 0 0 0 0
13.9M 7 4 1 0 0 0 0
14.0M 7 4 1 0 0 0 0
14.1M 7 4 1 0 0 0 0
14.2M 7 4 1 0 0 0 0
14.3M 7 4 1 0 0 0 0
14.4M 7 4 1 0 0 0 0
14.5M 7 4 1 0 0 0 0
14.6M 7 4 1 0 0 0 0
14.7M 7 4 1 0 0 0 0
14.8M 7 4 1 0 0 0 0
14.9M 7 4 1 0 0 0 0
15.0M 7 4 1 0 0 0 0
15.1M 8 4 1 0 0 0 0
15.2M 8 4 1 0 0 0 0
15.3M 8 4 1 0 0 0 0
15.4M 8 4 1 0 0 0 0
15.5M 9 4 1 1 0 0 0
15.6M 9 4 1 1 0 0 0
15.7M 11 4 1 1 0 0 0
15.8M 11 4 1 1 0 0 0
15.9M 11 4 1 1 0 0 0
16.0M 11 4 1 1 0 0 0
16.1M 11 4 1 1 0 0 0
16.2M 12 5 1 1 0 0 0
16.3M 12 5 1 1 0 0 0
16.4M 12 5 1 1 0 0 0
16.5M 12 5 1 1 0 0 0
16.6M 12 5 1 1 0 0 0
16.7M 13 5 1 1 0 0 0
16.8M 13 5 1 1 0 0 0
16.9M 13 5 1 1 0 0 0
17.0M 13 5 1 1 0 0 0
17.1M 13 5 1 1 0 0 0
17.2M 13 5 1 1 0 0 0
17.3M 13 6 1 1 0 0 0
17.4M 13 6 1 1 0 0 0
17.5M 13 6 1 1 0 0 0
17.6M 13 6 1 1 0 0 0
17.7M 13 6 1 1 0 0 0
17.8M 13 6 1 1 0 0 0
17.9M 13 6 1 1 0 0 0
18.0M 13 6 1 1 0 0 0
18.1M 13 6 1 1 0 0 0
18.2M 13 7 1 1 1 0 0
SAMPLES CRC51 CRC52 CRC53 CRC54 CRC55 CRC56 CRC57
0.1M 0 0 0 0 0 0 0
0.2M 0 0 0 0 0 0 0
0.3M 0 0 0 0 0 0 0
0.4M 0 0 0 0 0 0 0
0.5M 0 0 0 0 0 0 0
0.6M 0 0 0 0 0 0 0
0.7M 0 0 0 0 0 0 0
0.8M 0 0 0 0 0 0 0
0.9M 0 0 0 0 0 0 0
1.0M 0 0 0 0 0 0 0
1.1M 0 0 0 0 0 0 0
1.2M 0 0 0 0 0 0 0
1.3M 0 0 0 0 0 0 0
1.4M 0 0 0 0 0 0 0
1.5M 0 0 0 0 0 0 0
1.6M 0 0 0 0 0 0 0
1.7M 0 0 0 0 0 0 0
1.8M 0 0 0 0 0 0 0
1.9M 0 0 0 0 0 0 0
2.0M 0 0 0 0 0 0 0
2.1M 0 0 0 0 0 0 0
2.2M 0 0 0 0 0 0 0
2.3M 0 0 0 0 0 0 0
2.4M 0 0 0 0 0 0 0
2.5M 0 0 0 0 0 0 0
2.6M 0 0 0 0 0 0 0
2.7M 0 0 0 0 0 0 0
2.8M 0 0 0 0 0 0 0
2.9M 0 0 0 0 0 0 0
3.0M 0 0 0 0 0 0 0
3.1M 0 0 0 0 0 0 0
3.2M 0 0 0 0 0 0 0
3.3M 0 0 0 0 0 0 0
3.4M 0 0 0 0 0 0 0
3.5M 0 0 0 0 0 0 0
3.6M 0 0 0 0 0 0 0
3.7M 0 0 0 0 0 0 0
3.8M 0 0 0 0 0 0 0
3.9M 0 0 0 0 0 0 0
4.0M 0 0 0 0 0 0 0
4.1M 0 0 0 0 0 0 0
4.2M 0 0 0 0 0 0 0
4.3M 0 0 0 0 0 0 0
4.4M 0 0 0 0 0 0 0
4.5M 0 0 0 0 0 0 0
4.6M 0 0 0 0 0 0 0
4.7M 0 0 0 0 0 0 0
4.8M 0 0 0 0 0 0 0
4.9M 0 0 0 0 0 0 0
5.0M 0 0 0 0 0 0 0
5.1M 0 0 0 0 0 0 0
5.2M 0 0 0 0 0 0 0
5.3M 0 0 0 0 0 0 0
5.4M 0 0 0 0 0 0 0
5.5M 0 0 0 0 0 0 0
5.6M 0 0 0 0 0 0 0
5.7M 0 0 0 0 0 0 0
5.8M 0 0 0 0 0 0 0
5.9M 0 0 0 0 0 0 0
6.0M 0 0 0 0 0 0 0
6.1M 0 0 0 0 0 0 0
6.2M 0 0 0 0 0 0 0
6.3M 0 0 0 0 0 0 0
6.4M 0 0 0 0 0 0 0
6.5M 0 0 0 0 0 0 0
6.6M 0 0 0 0 0 0 0
6.7M 0 0 0 0 0 0 0
6.8M 0 0 0 0 0 0 0
6.9M 0 0 0 0 0 0 0
7.0M 0 0 0 0 0 0 0
7.1M 0 0 0 0 0 0 0
7.2M 0 0 0 0 0 0 0
7.3M 0 0 0 0 0 0 0
7.4M 0 0 0 0 0 0 0
7.5M 0 0 0 0 0 0 0
7.6M 0 0 0 0 0 0 0
7.7M 0 0 0 0 0 0 0
7.8M 0 0 0 0 0 0 0
7.9M 0 0 0 0 0 0 0
8.0M 0 0 0 0 0 0 0
8.1M 0 0 0 0 0 0 0
8.2M 0 0 0 0 0 0 0
8.3M 0 0 0 0 0 0 0
8.4M 0 0 0 0 0 0 0
8.5M 0 0 0 0 0 0 0
8.6M 0 0 0 0 0 0 0
8.7M 0 0 0 0 0 0 0
8.8M 0 0 0 0 0 0 0
8.9M 0 0 0 0 0 0 0
9.0M 0 0 0 0 0 0 0
9.1M 0 0 0 0 0 0 0
9.2M 0 0 0 0 0 0 0
9.3M 0 0 0 0 0 0 0
9.4M 0 0 0 0 0 0 0
9.5M 0 0 0 0 0 0 0
9.6M 0 0 0 0 0 0 0
9.7M 0 0 0 0 0 0 0
9.8M 0 0 0 0 0 0 0
9.9M 0 0 0 0 0 0 0
10.0M 0 0 0 0 0 0 0
10.1M 0 0 0 0 0 0 0
10.2M 0 0 0 0 0 0 0
10.3M 0 0 0 0 0 0 0
10.4M 0 0 0 0 0 0 0
10.5M 0 0 0 0 0 0 0
10.6M 0 0 0 0 0 0 0
10.7M 0 0 0 0 0 0 0
10.8M 0 0 0 0 0 0 0
10.9M 0 0 0 0 0 0 0
11.0M 0 0 0 0 0 0 0
11.1M 0 0 0 0 0 0 0
11.2M 0 0 0 0 0 0 0
11.3M 0 0 0 0 0 0 0
11.4M 0 0 0 0 0 0 0
11.5M 0 0 0 0 0 0 0
11.6M 0 0 0 0 0 0 0
11.7M 0 0 0 0 0 0 0
11.8M 0 0 0 0 0 0 0
11.9M 0 0 0 0 0 0 0
12.0M 0 0 0 0 0 0 0
12.1M 0 0 0 0 0 0 0
12.2M 0 0 0 0 0 0 0
12.3M 0 0 0 0 0 0 0
12.4M 0 0 0 0 0 0 0
12.5M 0 0 0 0 0 0 0
12.6M 0 0 0 0 0 0 0
12.7M 0 0 0 0 0 0 0
12.8M 0 0 0 0 0 0 0
12.9M 0 0 0 0 0 0 0
13.0M 0 0 0 0 0 0 0
13.1M 0 0 0 0 0 0 0
13.2M 0 0 0 0 0 0 0
13.3M 0 0 0 0 0 0 0
13.4M 0 0 0 0 0 0 0
13.5M 0 0 0 0 0 0 0
13.6M 0 0 0 0 0 0 0
13.7M 0 0 0 0 0 0 0
13.8M 0 0 0 0 0 0 0
13.9M 0 0 0 0 0 0 0
14.0M 0 0 0 0 0 0 0
14.1M 0 0 0 0 0 0 0
14.2M 0 0 0 0 0 0 0
14.3M 0 0 0 0 0 0 0
14.4M 0 0 0 0 0 0 0
14.5M 0 0 0 0 0 0 0
14.6M 0 0 0 0 0 0 0
14.7M 0 0 0 0 0 0 0
14.8M 0 0 0 0 0 0 0
14.9M 0 0 0 0 0 0 0
15.0M 0 0 0 0 0 0 0
15.1M 0 0 0 0 0 0 0
15.2M 0 0 0 0 0 0 0
15.3M 0 0 0 0 0 0 0
15.4M 0 0 0 0 0 0 0
15.5M 0 0 0 0 0 0 0
15.6M 0 0 0 0 0 0 0
15.7M 0 0 0 0 0 0 0
15.8M 0 0 0 0 0 0 0
15.9M 0 0 0 0 0 0 0
16.0M 0 0 0 0 0 0 0
16.1M 0 0 0 0 0 0 0
16.2M 0 0 0 0 0 0 0
16.3M 0 0 0 0 0 0 0
16.4M 0 0 0 0 0 0 0
16.5M 0 0 0 0 0 0 0
16.6M 0 0 0 0 0 0 0
16.7M 0 0 0 0 0 0 0
16.8M 0 0 0 0 0 0 0
16.9M 0 0 0 0 0 0 0
17.0M 0 0 0 0 0 0 0
17.1M 0 0 0 0 0 0 0
17.2M 0 0 0 0 0 0 0
17.3M 0 0 0 0 0 0 0
17.4M 0 0 0 0 0 0 0
17.5M 0 0 0 0 0 0 0
17.6M 0 0 0 0 0 0 0
17.7M 0 0 0 0 0 0 0
17.8M 0 0 0 0 0 0 0
17.9M 0 0 0 0 0 0 0
18.0M 0 0 0 0 0 0 0
18.1M 0 0 0 0 0 0 0
18.2M 0 0 0 0 0 0 0
SAMPLES CRC58 CRC59 CRC60 CRC61 CRC62 CRC63 CRC64
0.1M 0 0 0 0 0 0 0
0.2M 0 0 0 0 0 0 0
0.3M 0 0 0 0 0 0 0
0.4M 0 0 0 0 0 0 0
0.5M 0 0 0 0 0 0 0
0.6M 0 0 0 0 0 0 0
0.7M 0 0 0 0 0 0 0
0.8M 0 0 0 0 0 0 0
0.9M 0 0 0 0 0 0 0
1.0M 0 0 0 0 0 0 0
1.1M 0 0 0 0 0 0 0
1.2M 0 0 0 0 0 0 0
1.3M 0 0 0 0 0 0 0
1.4M 0 0 0 0 0 0 0
1.5M 0 0 0 0 0 0 0
1.6M 0 0 0 0 0 0 0
1.7M 0 0 0 0 0 0 0
1.8M 0 0 0 0 0 0 0
1.9M 0 0 0 0 0 0 0
2.0M 0 0 0 0 0 0 0
2.1M 0 0 0 0 0 0 0
2.2M 0 0 0 0 0 0 0
2.3M 0 0 0 0 0 0 0
2.4M 0 0 0 0 0 0 0
2.5M 0 0 0 0 0 0 0
2.6M 0 0 0 0 0 0 0
2.7M 0 0 0 0 0 0 0
2.8M 0 0 0 0 0 0 0
2.9M 0 0 0 0 0 0 0
3.0M 0 0 0 0 0 0 0
3.1M 0 0 0 0 0 0 0
3.2M 0 0 0 0 0 0 0
3.3M 0 0 0 0 0 0 0
3.4M 0 0 0 0 0 0 0
3.5M 0 0 0 0 0 0 0
3.6M 0 0 0 0 0 0 0
3.7M 0 0 0 0 0 0 0
3.8M 0 0 0 0 0 0 0
3.9M 0 0 0 0 0 0 0
4.0M 0 0 0 0 0 0 0
4.1M 0 0 0 0 0 0 0
4.2M 0 0 0 0 0 0 0
4.3M 0 0 0 0 0 0 0
4.4M 0 0 0 0 0 0 0
4.5M 0 0 0 0 0 0 0
4.6M 0 0 0 0 0 0 0
4.7M 0 0 0 0 0 0 0
4.8M 0 0 0 0 0 0 0
4.9M 0 0 0 0 0 0 0
5.0M 0 0 0 0 0 0 0
5.1M 0 0 0 0 0 0 0
5.2M 0 0 0 0 0 0 0
5.3M 0 0 0 0 0 0 0
5.4M 0 0 0 0 0 0 0
5.5M 0 0 0 0 0 0 0
5.6M 0 0 0 0 0 0 0
5.7M 0 0 0 0 0 0 0
5.8M 0 0 0 0 0 0 0
5.9M 0 0 0 0 0 0 0
6.0M 0 0 0 0 0 0 0
6.1M 0 0 0 0 0 0 0
6.2M 0 0 0 0 0 0 0
6.3M 0 0 0 0 0 0 0
6.4M 0 0 0 0 0 0 0
6.5M 0 0 0 0 0 0 0
6.6M 0 0 0 0 0 0 0
6.7M 0 0 0 0 0 0 0
6.8M 0 0 0 0 0 0 0
6.9M 0 0 0 0 0 0 0
7.0M 0 0 0 0 0 0 0
7.1M 0 0 0 0 0 0 0
7.2M 0 0 0 0 0 0 0
7.3M 0 0 0 0 0 0 0
7.4M 0 0 0 0 0 0 0
7.5M 0 0 0 0 0 0 0
7.6M 0 0 0 0 0 0 0
7.7M 0 0 0 0 0 0 0
7.8M 0 0 0 0 0 0 0
7.9M 0 0 0 0 0 0 0
8.0M 0 0 0 0 0 0 0
8.1M 0 0 0 0 0 0 0
8.2M 0 0 0 0 0 0 0
8.3M 0 0 0 0 0 0 0
8.4M 0 0 0 0 0 0 0
8.5M 0 0 0 0 0 0 0
8.6M 0 0 0 0 0 0 0
8.7M 0 0 0 0 0 0 0
8.8M 0 0 0 0 0 0 0
8.9M 0 0 0 0 0 0 0
9.0M 0 0 0 0 0 0 0
9.1M 0 0 0 0 0 0 0
9.2M 0 0 0 0 0 0 0
9.3M 0 0 0 0 0 0 0
9.4M 0 0 0 0 0 0 0
9.5M 0 0 0 0 0 0 0
9.6M 0 0 0 0 0 0 0
9.7M 0 0 0 0 0 0 0
9.8M 0 0 0 0 0 0 0
9.9M 0 0 0 0 0 0 0
10.0M 0 0 0 0 0 0 0
10.1M 0 0 0 0 0 0 0
10.2M 0 0 0 0 0 0 0
10.3M 0 0 0 0 0 0 0
10.4M 0 0 0 0 0 0 0
10.5M 0 0 0 0 0 0 0
10.6M 0 0 0 0 0 0 0
10.7M 0 0 0 0 0 0 0
10.8M 0 0 0 0 0 0 0
10.9M 0 0 0 0 0 0 0
11.0M 0 0 0 0 0 0 0
11.1M 0 0 0 0 0 0 0
11.2M 0 0 0 0 0 0 0
11.3M 0 0 0 0 0 0 0
11.4M 0 0 0 0 0 0 0
11.5M 0 0 0 0 0 0 0
11.6M 0 0 0 0 0 0 0
11.7M 0 0 0 0 0 0 0
11.8M 0 0 0 0 0 0 0
11.9M 0 0 0 0 0 0 0
12.0M 0 0 0 0 0 0 0
12.1M 0 0 0 0 0 0 0
12.2M 0 0 0 0 0 0 0
12.3M 0 0 0 0 0 0 0
12.4M 0 0 0 0 0 0 0
12.5M 0 0 0 0 0 0 0
12.6M 0 0 0 0 0 0 0
12.7M 0 0 0 0 0 0 0
12.8M 0 0 0 0 0 0 0
12.9M 0 0 0 0 0 0 0
13.0M 0 0 0 0 0 0 0
13.1M 0 0 0 0 0 0 0
13.2M 0 0 0 0 0 0 0
13.3M 0 0 0 0 0 0 0
13.4M 0 0 0 0 0 0 0
13.5M 0 0 0 0 0 0 0
13.6M 0 0 0 0 0 0 0
13.7M 0 0 0 0 0 0 0
13.8M 0 0 0 0 0 0 0
13.9M 0 0 0 0 0 0 0
14.0M 0 0 0 0 0 0 0
14.1M 0 0 0 0 0 0 0
14.2M 0 0 0 0 0 0 0
14.3M 0 0 0 0 0 0 0
14.4M 0 0 0 0 0 0 0
14.5M 0 0 0 0 0 0 0
14.6M 0 0 0 0 0 0 0
14.7M 0 0 0 0 0 0 0
14.8M 0 0 0 0 0 0 0
14.9M 0 0 0 0 0 0 0
15.0M 0 0 0 0 0 0 0
15.1M 0 0 0 0 0 0 0
15.2M 0 0 0 0 0 0 0
15.3M 0 0 0 0 0 0 0
15.4M 0 0 0 0 0 0 0
15.5M 0 0 0 0 0 0 0
15.6M 0 0 0 0 0 0 0
15.7M 0 0 0 0 0 0 0
15.8M 0 0 0 0 0 0 0
15.9M 0 0 0 0 0 0 0
16.0M 0 0 0 0 0 0 0
16.1M 0 0 0 0 0 0 0
16.2M 0 0 0 0 0 0 0
16.3M 0 0 0 0 0 0 0
16.4M 0 0 0 0 0 0 0
16.5M 0 0 0 0 0 0 0
16.6M 0 0 0 0 0 0 0
16.7M 0 0 0 0 0 0 0
16.8M 0 0 0 0 0 0 0
16.9M 0 0 0 0 0 0 0
17.0M 0 0 0 0 0 0 0
17.1M 0 0 0 0 0 0 0
17.2M 0 0 0 0 0 0 0
17.3M 0 0 0 0 0 0 0
17.4M 0 0 0 0 0 0 0
17.5M 0 0 0 0 0 0 0
17.6M 0 0 0 0 0 0 0
17.7M 0 0 0 0 0 0 0
17.8M 0 0 0 0 0 0 0
17.9M 0 0 0 0 0 0 0
18.0M 0 0 0 0 0 0 0
18.1M 0 0 0 0 0 0 0
18.2M 0 0 0 0 0 0 0
#include
#include
#include
#include
typedef unsigned int hint_t;
typedef struct hash_t {
hint_t h1;
hint_t h2;
} hash_t;
typedef struct Hash {
struct Hash *ha_Next;
hash_t ha_Hv;
} Hash;
#define TESTHSIZE (4 * 1024 * 1024)
#define TESTHMASK (TESTHSIZE - 1)
void inithash(void);
hash_t testhash(const char *p);
Hash *HashAry[TESTHSIZE];
int UniqueOpt;
int HashLimit = 64;
int VerboseOpt = 0;
int QuietOpt = 0;
void *rmalloc(int bytes);
int
main(int ac, char **av)
{
char buf[256];
int count = 0;
int total = 0;
int skip = 100000;
int i;
for (i = 1; i < ac; ++i) {
char *p = av[i];
if (*p == '-') {
p += 2;
switch(p[-1]) {
case 'u':
UniqueOpt = 1;
break;
case 'h':
HashLimit = strtol(p, NULL, 0);
if (HashLimit > 64 || HashLimit < 16) {
printf("valid values for -h between 16 & 64 inclusive\n");
exit(1);
}
break;
case 'q':
QuietOpt = 1;
break;
case 'v':
VerboseOpt = 1;
break;
default:
fprintf(stderr, "Unknown option: %s\n", p - 2);
exit(1);
}
}
}
inithash();
while (fgets(buf, sizeof(buf), stdin) != NULL) {
int i;
hash_t hv;
Hash *h;
char *s;
for (s = strtok(buf, " ,\t\r\n"); s; s = strtok(NULL, " ,\t\r\n")) {
hv = testhash(s);
i = (hv.h1 ^ hv.h2) & TESTHMASK;
for (h = HashAry[i]; h; h = h->ha_Next) {
if (h->ha_Hv.h1 == hv.h1 && h->ha_Hv.h2 == hv.h2) {
if (UniqueOpt || strcmp(s, (char *)(h + 1)) != 0) {
if (VerboseOpt) {
printf("Collision: %s\t%s\n",
s,
((UniqueOpt) ? "?" : (char *)(h + 1))
);
}
++count;
++total;
}
break;
}
}
if (h == NULL) {
h = rmalloc(sizeof(Hash) + ((UniqueOpt) ? 0 : strlen(s) + 1));
h->ha_Next = HashAry[i];
h->ha_Hv = hv;
if (UniqueOpt == 0)
strcpy((char *)(h + 1), s);
HashAry[i] = h;
++total;
}
}
if (total >= skip) {
if (QuietOpt == 0) {
printf("Count %d/%d\n", count, total);
fflush(stdout);
}
skip += 100000;
}
}
printf("Count %d/%d\n", count, total);
return(0);
}
#define HINIT1 0xFAC432B1UL
#define HINIT2 0x0CD5E44AUL
#define POLY1 0x00600340UL
#define POLY2 0x00F0D50BUL
hash_t CrcXor[256];
hash_t Poly[64+1];
void
inithash(void)
{
int i;
Poly[64].h1 = POLY1;
Poly[64].h2 = POLY2;
for (i = 63; i >= 16; --i) {
Poly[i].h1 = Poly[i+1].h1 >> 1;
Poly[i].h2 = (Poly[i+1].h2 >> 1) | ((Poly[i+1].h1 & 1) << 31) | 1;
}
for (i = 0; i < 256; ++i) {
int j;
int v = i;
hash_t hv = { 0, 0 };
for (j = 0; j < 8; ++j, (v <<= 1)) {
hv.h1 <<= 1;
if (hv.h2 & 0x80000000UL)
hv.h1 |= 1;
hv.h2 = (hv.h2 << 1);
if (v & 0x80) {
hv.h1 ^= Poly[HashLimit].h1;
hv.h2 ^= Poly[HashLimit].h2;
}
}
CrcXor[i] = hv;
}
}
hash_t
testhash(const char *p)
{
hash_t hv = { HINIT1, HINIT2 };
if (HashLimit <= 32) {
int s = HashLimit - 8;
hint_t m = (hint_t)-1 >> (32 - HashLimit);
hv.h1 = 0;
hv.h2 &= m;
while (*p) {
int i = (hv.h2 >> s) & 255;
hv.h2 = ((hv.h2 << 8) & m) ^ *p ^ CrcXor[i].h2;
++p;
}
} else if (HashLimit < 32+8) {
int s2 = 32 + 8 - HashLimit;
hint_t m = (hint_t)-1 >> (64 - HashLimit);
hv.h1 &= m;
while (*p) {
int i = ((hv.h1 << s2) | (hv.h2 >> (32 - s2))) & 255;
hv.h1 = (((hv.h1 << 8) ^ (int)(hv.h2 >> 24)) & m) ^ CrcXor[i].h1;
hv.h2 = (hv.h2 << 8) ^ *p ^ CrcXor[i].h2;
++p;
}
} else {
int s = HashLimit - 40;
hint_t m = (hint_t)-1 >> (64 - HashLimit);
hv.h1 &= m;
while (*p) {
int i = (hv.h1 >> s) & 255;
hv.h1 = ((hv.h1 << 8) & m) ^ (int)(hv.h2 >> 24) ^ CrcXor[i].h1;
hv.h2 = (hv.h2 << 8) ^ *p ^ CrcXor[i].h2;
++p;
}
}
return(hv);
}
void *
rmalloc(int bytes)
{
static char *RBuf = NULL;
static int RSize = 0;
bytes = (bytes + 3) & ~3;
if (bytes > RSize) {
RBuf = malloc(65536);
RSize = 65536;
}
RBuf += bytes;
RSize -= bytes;
return(RBuf - bytes);
}
轉載: http://www.backplane.com/matt/crc64.html