rott/rott/_rt_rand.h

292 lines
14 KiB
C
Executable File

/*
Copyright (C) 1994-1995 Apogee Software, Ltd.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef _rt_rand_private
#define _rt_rand_private
//****************************************************************************
//
// Private header for RT_RAND.C
//
//****************************************************************************
#define SIZE_OF_RANDOM_TABLE 2048
static const unsigned char RandomTable[ SIZE_OF_RANDOM_TABLE ] =
{
107, 65, 179, 81, 212, 1, 34, 230,
167, 142, 82, 27, 62, 88, 140, 119,
222, 252, 254, 160, 26, 33, 30, 234,
162, 216, 126, 42, 20, 108, 245, 150,
167, 145, 215, 226, 153, 184, 251, 141,
116, 225, 201, 114, 111, 92, 223, 185,
199, 160, 244, 190, 113, 77, 217, 239,
15, 239, 129, 243, 21, 242, 202, 183,
49, 151, 38, 38, 147, 179, 234, 130,
138, 110, 228, 118, 93, 81, 253, 98,
246, 44, 75, 161, 189, 86, 85, 204,
169, 95, 199, 178, 186, 123, 200, 250,
118, 242, 86, 48, 7, 205, 71, 132,
185, 214, 192, 68, 191, 236, 175, 197,
199, 177, 163, 57, 220, 139, 133, 182,
91, 196, 246, 29, 177, 82, 184, 226,
209, 151, 206, 250, 195, 119, 193, 235,
144, 146, 58, 61, 245, 83, 204, 214,
249, 164, 212, 172, 90, 199, 242, 182,
228, 159, 127, 37, 209, 165, 89, 122,
87, 254, 222, 43, 148, 205, 155, 230,
74, 127, 238, 181, 154, 170, 232, 47,
105, 31, 96, 166, 208, 5, 201, 73,
244, 67, 55, 168, 84, 221, 251, 85,
44, 198, 8, 35, 229, 122, 229, 80,
137, 28, 202, 135, 211, 69, 100, 250,
224, 156, 75, 128, 176, 53, 207, 157,
241, 216, 210, 124, 163, 248, 223, 174,
241, 235, 97, 120, 25, 3, 218, 102,
143, 187, 202, 116, 209, 253, 227, 151,
203, 254, 223, 65, 146, 255, 231, 237,
162, 187, 194, 90, 198, 81, 219, 94,
70, 158, 106, 175, 81, 239, 181, 79,
62, 184, 21, 30, 98, 245, 233, 8,
57, 54, 133, 95, 43, 125, 161, 109,
167, 130, 32, 46, 72, 3, 42, 34,
147, 139, 19, 122, 49, 23, 253, 192,
231, 116, 165, 8, 15, 16, 223, 140,
29, 136, 2, 114, 248, 219, 214, 168,
36, 241, 210, 63, 230, 42, 197, 100,
134, 159, 179, 149, 17, 96, 152, 45,
93, 151, 26, 202, 35, 58, 189, 220,
74, 173, 250, 76, 57, 52, 55, 14,
205, 80, 213, 190, 14, 108, 60, 89,
236, 41, 53, 59, 249, 237, 88, 217,
129, 252, 169, 123, 87, 23, 91, 79,
36, 164, 89, 24, 102, 111, 104, 115,
116, 221, 212, 82, 166, 16, 244, 18,
68, 73, 64, 194, 82, 115, 121, 216,
133, 47, 85, 124, 242, 144, 1, 65,
0, 75, 91, 83, 137, 183, 132, 15,
66, 227, 67, 98, 186, 100, 208, 150,
74, 61, 69, 130, 120, 56, 39, 21,
44, 166, 180, 145, 97, 101, 68, 19,
243, 162, 222, 228, 9, 160, 185, 10,
168, 64, 109, 198, 113, 75, 48, 52,
119, 163, 176, 201, 12, 246, 20, 92,
31, 175, 33, 4, 70, 169, 218, 86,
240, 127, 7, 38, 102, 94, 112, 90,
114, 63, 139, 119, 45, 5, 183, 224,
155, 13, 141, 90, 93, 177, 118, 67,
211, 117, 58, 158, 135, 83, 236, 194,
72, 59, 131, 40, 196, 232, 247, 132,
18, 73, 37, 207, 50, 187, 32, 174,
13, 34, 135, 39, 46, 192, 51, 203,
216, 3, 188, 99, 245, 112, 61, 206,
127, 118, 136, 186, 153, 148, 140, 106,
55, 201, 19, 9, 27, 97, 84, 24,
48, 227, 108, 202, 5, 190, 6, 235,
160, 146, 123, 222, 212, 147, 27, 28,
50, 226, 200, 221, 180, 244, 34, 146,
41, 104, 37, 217, 10, 238, 52, 198,
4, 29, 126, 16, 45, 124, 64, 25,
40, 20, 138, 225, 71, 247, 128, 62,
62, 178, 31, 251, 197, 215, 226, 193,
28, 25, 82, 15, 21, 43, 30, 86,
50, 99, 199, 191, 80, 171, 250, 4,
149, 61, 163, 128, 143, 95, 76, 56,
14, 109, 54, 84, 137, 43, 77, 255,
204, 151, 129, 8, 20, 26, 193, 38,
205, 125, 203, 22, 78, 47, 101, 37,
121, 113, 141, 36, 33, 23, 131, 55,
78, 96, 123, 228, 69, 213, 51, 147,
195, 195, 85, 54, 225, 65, 143, 13,
152, 60, 110, 29, 146, 179, 164, 17,
96, 67, 156, 7, 3, 92, 26, 104,
157, 220, 211, 154, 103, 2, 174, 136,
83, 229, 18, 116, 66, 87, 0, 74,
98, 58, 75, 162, 254, 177, 89, 173,
169, 107, 12, 90, 71, 193, 53, 255,
138, 2, 233, 163, 11, 138, 183, 209,
119, 210, 249, 112, 113, 30, 185, 180,
11, 171, 164, 77, 5, 99, 35, 218,
11, 159, 221, 148, 170, 137, 129, 188,
231, 172, 191, 135, 176, 33, 189, 68,
190, 152, 7, 220, 246, 203, 181, 63,
199, 91, 251, 208, 217, 39, 170, 111,
182, 209, 216, 247, 240, 165, 153, 118,
238, 233, 204, 12, 126, 105, 168, 234,
38, 184, 132, 110, 145, 227, 165, 92,
241, 24, 251, 231, 213, 126, 240, 214,
31, 11, 223, 46, 0, 35, 218, 242,
211, 191, 48, 110, 253, 94, 161, 139,
42, 148, 198, 246, 239, 107, 57, 5,
117, 252, 9, 12, 73, 77, 58, 167,
6, 142, 32, 34, 72, 31, 243, 170,
0, 93, 182, 56, 254, 158, 250, 23,
77, 81, 45, 69, 142, 237, 225, 44,
232, 142, 209, 115, 61, 38, 224, 70,
53, 82, 10, 229, 214, 224, 101, 42,
100, 121, 133, 85, 67, 150, 116, 91,
79, 79, 235, 22, 1, 244, 16, 101,
88, 25, 43, 242, 53, 106, 128, 40,
18, 2, 196, 22, 47, 96, 130, 249,
49, 117, 178, 171, 132, 189, 95, 66,
153, 200, 71, 71, 215, 113, 102, 131,
172, 235, 192, 204, 107, 127, 60, 52,
254, 84, 20, 27, 107, 44, 72, 149,
230, 87, 64, 144, 140, 186, 154, 49,
76, 156, 162, 219, 9, 146, 41, 80,
59, 142, 147, 184, 115, 158, 103, 140,
8, 234, 157, 17, 112, 22, 163, 187,
47, 178, 207, 63, 125, 202, 156, 30,
97, 193, 171, 173, 204, 28, 4, 195,
109, 211, 105, 103, 179, 221, 203, 138,
139, 172, 14, 44, 119, 150, 185, 180,
205, 255, 152, 94, 205, 173, 40, 134,
13, 65, 194, 196, 68, 124, 26, 134,
85, 228, 50, 216, 159, 254, 237, 206,
103, 69, 90, 187, 182, 183, 2, 114,
3, 201, 1, 129, 212, 232, 81, 33,
56, 182, 133, 176, 19, 6, 144, 84,
145, 24, 243, 234, 35, 25, 89, 150,
54, 143, 207, 104, 248, 102, 41, 253,
46, 44, 197, 208, 200, 52, 219, 238,
223, 241, 60, 230, 196, 42, 88, 51,
170, 25, 40, 114, 39, 45, 57, 29,
186, 54, 36, 167, 51, 249, 194, 108,
250, 199, 67, 212, 123, 151, 92, 32,
46, 12, 248, 165, 223, 24, 143, 189,
120, 57, 38, 222, 169, 17, 188, 27,
209, 176, 215, 108, 177, 96, 50, 154,
41, 15, 32, 181, 99, 120, 73, 225,
49, 200, 43, 177, 72, 202, 97, 92,
240, 110, 252, 21, 28, 192, 70, 128,
85, 60, 127, 63, 235, 100, 155, 65,
241, 119, 34, 80, 75, 117, 148, 102,
15, 90, 121, 206, 104, 164, 132, 98,
36, 108, 214, 0, 84, 94, 107, 154,
14, 26, 23, 93, 195, 224, 162, 171,
245, 76, 125, 158, 120, 66, 80, 130,
183, 120, 179, 118, 31, 176, 106, 184,
164, 111, 59, 253, 118, 62, 114, 215,
156, 161, 127, 210, 112, 122, 204, 86,
29, 69, 187, 218, 233, 47, 188, 91,
105, 153, 236, 116, 135, 19, 83, 175,
88, 166, 156, 238, 245, 227, 248, 161,
10, 180, 22, 230, 157, 205, 6, 37,
3, 234, 155, 49, 239, 229, 122, 223,
234, 206, 82, 135, 190, 77, 130, 197,
144, 226, 123, 181, 143, 208, 169, 8,
1, 174, 97, 177, 232, 201, 210, 193,
192, 62, 211, 28, 252, 19, 189, 229,
191, 246, 7, 202, 35, 20, 28, 30,
70, 221, 55, 159, 237, 10, 15, 134,
124, 103, 73, 172, 26, 201, 13, 117,
35, 131, 136, 66, 33, 245, 159, 207,
225, 147, 18, 248, 126, 131, 33, 153,
101, 60, 186, 216, 250, 11, 30, 50,
57, 58, 151, 178, 181, 227, 128, 253,
10, 5, 224, 48, 160, 34, 7, 111,
124, 27, 160, 75, 137, 17, 53, 39,
243, 236, 39, 81, 217, 122, 79, 32,
13, 115, 191, 167, 137, 87, 228, 91,
86, 78, 18, 22, 40, 76, 94, 129,
119, 87, 63, 197, 203, 21, 218, 185,
166, 49, 161, 213, 38, 111, 209, 154,
43, 152, 134, 132, 4, 133, 108, 83,
145, 41, 97, 74, 251, 173, 42, 213,
46, 118, 73, 68, 21, 244, 106, 158,
11, 90, 252, 140, 44, 157, 194, 66,
229, 58, 215, 251, 144, 125, 146, 172,
165, 136, 105, 102, 173, 95, 150, 169,
78, 230, 111, 160, 196, 112, 120, 231,
168, 152, 149, 174, 128, 232, 194, 122,
3, 74, 231, 105, 12, 239, 180, 239,
89, 235, 95, 157, 149, 187, 6, 203,
188, 71, 110, 8, 126, 242, 188, 249,
71, 123, 162, 93, 59, 65, 16, 222,
192, 24, 27, 142, 168, 114, 89, 220,
226, 182, 207, 94, 195, 207, 174, 228,
142, 130, 115, 175, 154, 106, 206, 48,
185, 147, 155, 224, 239, 64, 88, 83,
54, 247, 113, 248, 137, 96, 5, 110,
240, 51, 1, 208, 166, 200, 233, 167,
230, 14, 20, 198, 36, 13, 0, 220,
165, 104, 85, 122, 1, 255, 212, 161,
190, 37, 86, 226, 195, 105, 78, 244,
236, 168, 48, 211, 121, 216, 25, 144,
16, 237, 7, 75, 12, 99, 56, 109,
218, 87, 35, 204, 155, 61, 191, 41,
61, 57, 121, 236, 62, 22, 187, 95,
92, 69, 210, 163, 205, 214, 34, 84,
73, 184, 109, 124, 231, 103, 217, 241,
77, 175, 183, 232, 198, 164, 14, 125,
103, 197, 249, 241, 176, 59, 48, 50,
25, 222, 134, 199, 252, 196, 23, 19,
78, 0, 59, 120, 91, 121, 117, 228,
52, 68, 113, 127, 141, 67, 65, 130,
132, 243, 160, 138, 138, 116, 10, 98,
170, 70, 246, 206, 219, 28, 94, 226,
29, 58, 255, 31, 141, 82, 134, 152,
251, 84, 52, 23, 154, 139, 74, 55,
47, 198, 167, 162, 4, 16, 220, 53,
37, 158, 135, 136, 190, 86, 151, 178,
238, 161, 88, 171, 148, 169, 137, 212,
181, 146, 189, 70, 49, 79, 142, 131,
195, 126, 149, 156, 93, 55, 164, 174,
87, 243, 66, 92, 207, 9, 126, 123,
40, 51, 133, 143, 9, 55, 193, 173,
56, 64, 210, 159, 6, 178, 145, 153,
115, 215, 185, 238, 101, 210, 98, 157,
95, 171, 235, 217, 240, 232, 107, 53,
54, 211, 111, 236, 100, 37, 147, 64,
60, 215, 174, 136, 128, 98, 79, 234,
145, 76, 197, 165, 191, 141, 114, 109,
148, 214, 93, 12, 163, 125, 222, 96,
71, 220, 8, 225, 200, 14, 139, 166,
155, 9, 237, 9, 172, 6, 229, 179,
247, 76, 24, 213, 26, 248, 56, 247,
106, 221, 63, 20, 206, 231, 168, 196,
208, 36, 31, 175, 178, 255, 124, 156,
129, 186, 45, 201, 7, 112, 189, 68,
225, 64, 150, 74, 2, 218, 62, 159,
4, 11, 213, 40, 23, 15, 67, 52,
182, 203, 246, 194, 72, 33, 89, 104,
16, 131, 60, 150, 243, 21, 59, 175,
219, 149, 56, 224, 32, 105, 153, 99,
80, 148, 107, 99, 108, 43, 106, 41,
32, 244, 4, 186, 253, 27, 233, 104,
245, 5, 2, 252, 170, 2, 101, 39,
17, 166, 221, 11, 227, 129, 103, 45,
144, 79, 17, 139, 70, 237, 176, 6,
76, 134, 54, 30, 69, 13, 100, 149,
141, 227, 255, 22, 179, 61, 88, 97,
121, 29, 24, 77, 170, 190, 242, 109,
152, 47, 81, 140, 45, 46, 249, 78,
180, 143, 102, 19, 208, 177, 72, 72,
247, 51, 115, 3, 141, 117, 39, 188,
180, 171, 83, 1, 0, 51, 100, 112,
172, 18, 219, 136, 155, 125, 200, 131,
157, 217, 78, 63, 213, 238, 193, 173,
145, 46, 101, 158, 42, 140, 110, 66,
183, 181, 233, 188, 10, 133, 36, 135,
17, 254, 138, 233, 117, 240, 184, 80,
113, 18, 99, 219, 240, 50, 192, 247
};
#endif