]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/bc/tests/bc/rand.txt
Update to version 3.1.1
[FreeBSD/FreeBSD.git] / contrib / bc / tests / bc / rand.txt
1 print "Gathering array...\n"
2
3 s = seed
4
5 sum = 0
6
7 for (i = 0; i < 100; ++i) {
8         a[i] = rand()
9         sum += a[i]
10         b[i] = irand(sum)
11 }
12
13 print "Testing implementation...\n"
14
15 if (maxrand() >= 2^64 - 1) {
16
17         seed = 54.86785590782347282592869373784717814475564948862907968939359536927733440\
18                   901359008180088183692646452982444316148757934570312500000
19
20         ibase = G
21         obase = G
22
23         for (i = 0; i < 64; ++i) {
24                 rand()
25         }
26
27         seed = 0.2890120
28
29         rand()
30
31         7B47F409
32         BA1D3330
33         83D2F293
34         BFA4784B
35         CBED606E
36         BFC6A3AD
37         812FFF6D
38         E61F305A
39         F9384B90
40         32DB86FE
41         1DC035F9
42         ED786826
43         3822441D
44         2BA113D7
45         1C5B818B
46         A233956A
47         84DA65E3
48         CED67292
49         B2C0FE06
50         91817130
51
52         55FE8917
53         47E92091
54         486AF299
55         B1E882BB
56         C261E845
57         1A9B90F6
58         7964E884
59         5F36D7A4
60         1EE2052D
61         8519F5D5
62         293D4E4F
63         6D8F99FC
64         C3421509
65         A06CD7C6
66         E43064D3
67         E20F9BF0
68         401B50B7
69         8EF1FF3E
70         E357E2B2
71         A4AEEE37
72
73         2AD4426A
74         9D11BE94
75         7290C556
76         6E6F3787
77         050C2EE3
78         4FD73703
79         C6FF478B
80         4B1CA1E1
81         1654EA91
82         CD08B2F2
83         F7FF3DA8
84         78B1B8DA
85         A100602C
86         9588585F
87         DA028873
88         66B4F376
89         0E6B4B9A
90         48167094
91         0D58CDA0
92         8F7238BE
93
94         F79983F3
95         07E5D324
96         AD78DF52
97         1532BA74
98         1E4899E2
99         6C75DF64
100         171DDC36
101         F2D8D74A
102         24E6D907
103         4780FD32
104         9ADF408C
105         A25544CF
106         EFC6A738
107         1AA23A54
108         C5A13EBB
109         F739EDC9
110         C3A015FA
111         3D5E1511
112         AFC4D7FB
113         3F413B5E
114
115         4660CB73
116         88FC773F
117         D6BED59C
118         63B3B54A
119         D67D3DDE
120         23394F8B
121         13384B44
122         DD8B3ABC
123         FF59A21E
124         3BB16D7E
125         6E01CB68
126         EC34790E
127         B26C42AD
128         D723C830
129         DFD10FCA
130         7E362AA1
131         826FF323
132         CB8F63B5
133         9B3227E5
134         9A61E339
135
136         40BDACF
137 }
138 else {
139
140         ibase = G
141         obase = G
142
143         86B1DA1D72062B68
144         1304AA46C9853D39
145         A3670E9E0DD50358
146         F9090E529A7DAE00
147         C85B9FD837996F2C
148         606121F8E3919196
149         7CE1C7FF478354BA
150         CBC4AC70E541310E
151         74BE71999EC37F2C
152         B81F9C99A934F1A7
153         120E9901A900C97F
154         0F983BAD4B19F493
155         5934619363660D96
156         D5A7FE2717A2014E
157         6E437241C9E6676E
158         6A75C9DD6329CD29
159         2D9E477683673437
160         51FB0CF3D4405437
161         217BB90392D08B20
162         47C528A018B07A82
163
164         1B4E474C418C835E
165         BDB2BDA74A119ED6
166         C6DB79D0B9E43493
167         C3CF4834E94A41D1
168         AB8312FC7877C7DC
169         094B108133E8B5EC
170         37CA97AC830113BD
171         EF02D7347F9192BF
172         959517DD9896C53A
173         7A80EB7629EFE9F9
174         AE53C23F2B1CF57C
175         CA605CD189F6D5CD
176         921C2704886A9622
177         B68C9FBF826AF7AA
178         73F8C733124772C3
179         6B57F7E459EFBCDF
180         9DE7696DDB6B8E18
181         02CA67560DC26877
182         A24E353080777DEC
183         4D600156763FD65C
184
185         5CDF9C7E26DD2C38
186         6A32443BBBB16774
187         3D8415FFECFB8B7F
188         3090ED9C475635A3
189         6DBF241361C3E652
190         2CA9EF5A2AD971FC
191         44FBE937A1CF0FFC
192         DB17CF0577CB7853
193         AA3747D98D31B24C
194         5D9A104C5D7F43F7
195         BAE65E3E293B2C7B
196         16A396F0DB4EF984
197         6DD2BACDC4445A05
198         7B7A13D1858E5CA8
199         F73722BCAA52447C
200         31A2C7BBE77CBA00
201         7FC8AF9003BA1ACE
202         5703F11DD3F235EF
203         FA1952267EF836C7
204         BBFA558C9E2D51E2
205
206         3A29661D8145AF36
207         608DEA6358DABD7C
208         9E34E9E53431B447
209         325A05E35EA524EB
210         63A87CCF0C80ABB1
211         8EA183287A46F292
212         E2AA5F119CBF2A08
213         2F3BEB0DE8B730C8
214         4B8006A928CF8F5B
215         57B8BA85069C201C
216         3422D962DDF59474
217         FD744940BA7366A1
218         23D24B06B5DA4F6F
219         AA187C608319D1DC
220         DC60CA6FEA738B8A
221         C9FC61DF96A769FE
222         82E2457708658A20
223         2BECEC9B3E7D93EC
224         1340DAEC04588952
225         F533446AD5C50B1D
226
227         31FD1C7F434A62CE
228         D16DAEDD1F281A39
229         6B5D9648931D7057
230         62FEE3392DBB06D5
231         0358BC87B00DF25A
232         F3C882D22946175D
233         65BA8F11B4516EFE
234         2DA5A96E626DA4FE
235         DCC669F4CD6121F0
236         7A47FAC054319CA2
237         9661CFEE277284C8
238         01E483A14F4EB23A
239         ADDC115507390607
240         5AB47C343BD3B0BD
241         4882FB3A3957B11F
242         615B7C9C3626DD44
243         F79CF49562969219
244         88C32C194EA78D27
245         DA8AFFE1353FF352
246         A7A3C331A64CB146
247
248         A1F53517A7BE0CAA
249
250         ibase = A
251
252         seed = 54.0950779151573258314404657465246373249101452529430389404296875000
253
254         ibase = G
255
256         for (i = 0; i < 64; ++i) {
257                 rand()
258         }
259
260         seed = 0.2890120
261
262         rand()
263 }
264
265 print "Testing array...\n"
266
267 ibase = A
268
269 seed = s
270
271 sum = 0
272
273 for (i = 0; i < 100; ++i) {
274         a[i] == rand()
275         sum += a[i]
276         b[i] == irand(sum)
277 }
278
279 print "Exercising irand()...\n"
280
281 scale = 256
282
283 pow = (maxrand() + 1) ^ 4
284 s = 2^256 + 2^128 + (irand(pow) / pow)
285 seed = s
286 seed < s
287
288 s = -459.125
289 seed = s
290 seed == -s
291
292 irand(0)
293 irand(1)
294 seed == -s
295 irand(maxrand() + 1) <= maxrand()
296
297 for (i = 0; i < 200; ++i) {
298         irand(20) < 20
299 }
300
301 seed = 738
302 seed != 738
303
304 s = 2398@0625
305 seed = s
306 seed != s
307
308 pow = (maxrand() + 1) ^ 4
309 s = 2^2560 + 2^128 + (irand(pow) / pow)
310 seed = s
311 seed < s
312
313 b = 0
314 m = maxrand() + 1
315 n = m + 1
316
317 for (i = 0; !b && i < 100; ++i) {
318         c = irand(n)
319         b = (c != 0 && c != m)
320         if (c >= n) print "irand() result is too large.\n"
321 }
322
323 b