1
+ /*
2
+ * Licensed to the Apache Software Foundation (ASF) under one or more
3
+ * contributor license agreements. See the NOTICE file distributed with
4
+ * this work for additional information regarding copyright ownership.
5
+ * The ASF licenses this file to You under the Apache License, Version 2.0
6
+ * (the "License"); you may not use this file except in compliance with
7
+ * the License. You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ *
17
+ */
18
+
19
+ /*
20
+ * This package is based on the work done by Keiron Liddle, Aftex Software
21
+ * <[email protected] > to whom the Ant project is very grateful for his
22
+ * great code.
23
+ */
24
+
25
+ using System ;
26
+
27
+ namespace Org . BouncyCastle . Apache . Bzip2
28
+ {
29
+ /**
30
+ * Base class for both the compress and decompress classes.
31
+ * Holds common arrays, and static data.
32
+ *
33
+ * @author <a href="mailto:[email protected] ">Keiron Liddle</a>
34
+ */
35
+ public class BZip2Constants {
36
+
37
+ public const int baseBlockSize = 100000 ;
38
+ public const int MAX_ALPHA_SIZE = 258 ;
39
+ public const int MAX_CODE_LEN = 23 ;
40
+ public const int RUNA = 0 ;
41
+ public const int RUNB = 1 ;
42
+ public const int N_GROUPS = 6 ;
43
+ public const int G_SIZE = 50 ;
44
+ public const int N_ITERS = 4 ;
45
+ public const int MAX_SELECTORS = ( 2 + ( 900000 / G_SIZE ) ) ;
46
+ public const int NUM_OVERSHOOT_BYTES = 20 ;
47
+
48
+ public static readonly int [ ] rNums = {
49
+ 619 , 720 , 127 , 481 , 931 , 816 , 813 , 233 , 566 , 247 ,
50
+ 985 , 724 , 205 , 454 , 863 , 491 , 741 , 242 , 949 , 214 ,
51
+ 733 , 859 , 335 , 708 , 621 , 574 , 73 , 654 , 730 , 472 ,
52
+ 419 , 436 , 278 , 496 , 867 , 210 , 399 , 680 , 480 , 51 ,
53
+ 878 , 465 , 811 , 169 , 869 , 675 , 611 , 697 , 867 , 561 ,
54
+ 862 , 687 , 507 , 283 , 482 , 129 , 807 , 591 , 733 , 623 ,
55
+ 150 , 238 , 59 , 379 , 684 , 877 , 625 , 169 , 643 , 105 ,
56
+ 170 , 607 , 520 , 932 , 727 , 476 , 693 , 425 , 174 , 647 ,
57
+ 73 , 122 , 335 , 530 , 442 , 853 , 695 , 249 , 445 , 515 ,
58
+ 909 , 545 , 703 , 919 , 874 , 474 , 882 , 500 , 594 , 612 ,
59
+ 641 , 801 , 220 , 162 , 819 , 984 , 589 , 513 , 495 , 799 ,
60
+ 161 , 604 , 958 , 533 , 221 , 400 , 386 , 867 , 600 , 782 ,
61
+ 382 , 596 , 414 , 171 , 516 , 375 , 682 , 485 , 911 , 276 ,
62
+ 98 , 553 , 163 , 354 , 666 , 933 , 424 , 341 , 533 , 870 ,
63
+ 227 , 730 , 475 , 186 , 263 , 647 , 537 , 686 , 600 , 224 ,
64
+ 469 , 68 , 770 , 919 , 190 , 373 , 294 , 822 , 808 , 206 ,
65
+ 184 , 943 , 795 , 384 , 383 , 461 , 404 , 758 , 839 , 887 ,
66
+ 715 , 67 , 618 , 276 , 204 , 918 , 873 , 777 , 604 , 560 ,
67
+ 951 , 160 , 578 , 722 , 79 , 804 , 96 , 409 , 713 , 940 ,
68
+ 652 , 934 , 970 , 447 , 318 , 353 , 859 , 672 , 112 , 785 ,
69
+ 645 , 863 , 803 , 350 , 139 , 93 , 354 , 99 , 820 , 908 ,
70
+ 609 , 772 , 154 , 274 , 580 , 184 , 79 , 626 , 630 , 742 ,
71
+ 653 , 282 , 762 , 623 , 680 , 81 , 927 , 626 , 789 , 125 ,
72
+ 411 , 521 , 938 , 300 , 821 , 78 , 343 , 175 , 128 , 250 ,
73
+ 170 , 774 , 972 , 275 , 999 , 639 , 495 , 78 , 352 , 126 ,
74
+ 857 , 956 , 358 , 619 , 580 , 124 , 737 , 594 , 701 , 612 ,
75
+ 669 , 112 , 134 , 694 , 363 , 992 , 809 , 743 , 168 , 974 ,
76
+ 944 , 375 , 748 , 52 , 600 , 747 , 642 , 182 , 862 , 81 ,
77
+ 344 , 805 , 988 , 739 , 511 , 655 , 814 , 334 , 249 , 515 ,
78
+ 897 , 955 , 664 , 981 , 649 , 113 , 974 , 459 , 893 , 228 ,
79
+ 433 , 837 , 553 , 268 , 926 , 240 , 102 , 654 , 459 , 51 ,
80
+ 686 , 754 , 806 , 760 , 493 , 403 , 415 , 394 , 687 , 700 ,
81
+ 946 , 670 , 656 , 610 , 738 , 392 , 760 , 799 , 887 , 653 ,
82
+ 978 , 321 , 576 , 617 , 626 , 502 , 894 , 679 , 243 , 440 ,
83
+ 680 , 879 , 194 , 572 , 640 , 724 , 926 , 56 , 204 , 700 ,
84
+ 707 , 151 , 457 , 449 , 797 , 195 , 791 , 558 , 945 , 679 ,
85
+ 297 , 59 , 87 , 824 , 713 , 663 , 412 , 693 , 342 , 606 ,
86
+ 134 , 108 , 571 , 364 , 631 , 212 , 174 , 643 , 304 , 329 ,
87
+ 343 , 97 , 430 , 751 , 497 , 314 , 983 , 374 , 822 , 928 ,
88
+ 140 , 206 , 73 , 263 , 980 , 736 , 876 , 478 , 430 , 305 ,
89
+ 170 , 514 , 364 , 692 , 829 , 82 , 855 , 953 , 676 , 246 ,
90
+ 369 , 970 , 294 , 750 , 807 , 827 , 150 , 790 , 288 , 923 ,
91
+ 804 , 378 , 215 , 828 , 592 , 281 , 565 , 555 , 710 , 82 ,
92
+ 896 , 831 , 547 , 261 , 524 , 462 , 293 , 465 , 502 , 56 ,
93
+ 661 , 821 , 976 , 991 , 658 , 869 , 905 , 758 , 745 , 193 ,
94
+ 768 , 550 , 608 , 933 , 378 , 286 , 215 , 979 , 792 , 961 ,
95
+ 61 , 688 , 793 , 644 , 986 , 403 , 106 , 366 , 905 , 644 ,
96
+ 372 , 567 , 466 , 434 , 645 , 210 , 389 , 550 , 919 , 135 ,
97
+ 780 , 773 , 635 , 389 , 707 , 100 , 626 , 958 , 165 , 504 ,
98
+ 920 , 176 , 193 , 713 , 857 , 265 , 203 , 50 , 668 , 108 ,
99
+ 645 , 990 , 626 , 197 , 510 , 357 , 358 , 850 , 858 , 364 ,
100
+ 936 , 638
101
+ } ;
102
+ }
103
+ }
0 commit comments