1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.hipparchus.random;
23
24 import org.junit.Assert;
25 import org.junit.Test;
26
27 public class Well1024aTest extends RandomGeneratorAbstractTest {
28
29 @Override
30 protected RandomGenerator makeGenerator() {
31 return new Well1024a(1001);
32 }
33
34 @Test
35 public void testReferenceCode() {
36 Well1024a mt = new Well1024a(new int[] {
37 740849862, 1202665156, -199039369, -259008301, -291878969, -1164428990, -1565918811, 491009864,
38 -1883086670, 1383450241, 1244617256, 689006653, -1576746370, -1307940314, 1421489086, 1742094000,
39 -595495729, 1047766204, 1875773301, -1637793284, 1379017098, 262792705, 191880010, -251000180,
40 -1753047622, -972355720, 90626881, 1644693418, 1503365577, 439653419, 1806361562, 1268823869
41 });
42 int[] refInt = {
43 -1478749726, -1645579484, -2075363835, -2063444174, -1834148336, -1769045872, -40711346, 1717441026,
44 2130656771, 783441285, 570433609, 1560023451, 653233971, 1368672434, -72036215, 1071111800,
45 933776492, 26114960, 49888778, 1808107515, 1092989296, 754848337, 1336994364, -1987450448,
46 -691190146, -1803870839, 1110716866, 1173269113, -391000050, 2014216908, 180756301, -382891013,
47 -1908154585, 1580737629, 1080267957, -125532248, 2094530239, 2132964485, -438596348, -760299445,
48 1058181869, 2050816800, -1534429037, -62552782, 824524142, -818590371, -1857695907, -684762866,
49 -156556543, -902759995, -880795194, -1387351132, -1263017515, 448006597, 201038266, 1929826313,
50 -455367306, 672963027, 2000073013, -1546842042, 446341090, 1001696686, -779919012, -347722602,
51 -1342821677, 1639571150, -835315755, 1505585376, 367004975, -2035864404, -1786623553, 1249724913,
52 182435312, 1444514513, 1815333708, 1333772382, 299664001, -284691169, 2034403374, 1423310887,
53 -1319051884, 1557286441, -445198266, -251809030, 1602786123, 944036382, -1020529634, 258344235,
54 685254367, 1838964943, -156674528, -979736602, -538312836, 234643178, 211152102, -635498640,
55 -1036733933, -1347589147, -565609042, -1358714165, 508618483, -786364693, 2071450261, 1206956772,
56 -678931458, 167690617, 144698821, 1719720781, 1575869280, -1343221123, -1766469944, 284991647,
57 -717305514, 892653651, -1368347075, -615701972, -730369849, 1360396003, -1869287623, 1778269052,
58 -586061545, -699517114, 61530249, -1860611767, -519660852, 1841085925, 1555610093, -399979337,
59 -790345742, 422355947, 2007965433, 2044952550, -1712164595, -102915702, -693865324, -1894042487,
60 -1285020072, -215883074, 95833252, 1625818040, -1055951680, 513067085, 1825246558, -553461652,
61 -1923361799, -1869480206, 567232636, -1751727150, -1832301399, -108136455, -1312244126, 14006795,
62 850221366, -382389732, -1741556188, -1317464467, 1948314870, 753994471, 1028235947, 342494132,
63 -1862256693, 723808794, -234257642, 1609928369, -802733456, 1315831915, 1436072885, 1224767136,
64 2144557791, -1839965886, 224821018, -1461697757, -1080386760, 1638573498, -1188173812, -325181523,
65 -1750676219, -1780415850, 698793362, -908352052, 299746482, -161660934, 1938166833, 800297005,
66 56640033, -1214932666, -1248124842, 1822796868, 1777615881, -718517774, 1908159957, 1733053281,
67 1851844331, 1283519375, -1771494956, 2060179999, 1666129209, 1919453531, -498145770, 697567008,
68 1855487148, -1587163491, 565216434, -1477877933, -925662919, -806492585, -1201439047, -1424534232,
69 1788616523, 69414717, 655893636, -1175978556, 24787512, -861550001, 439525754, -190433174,
70 -383811606, -508589783, 1441608687, 608181366, 1539467064, 925903122, 697209654, 1878283393,
71 -1967567432, -1659677763, -249658183, 847096354, 397741956, -125334541, -1286840731, 1016461908,
72 -997968592, 1795331475, 1856856501, -1716726445, -582181331, -887091847, 426964855, -609219941,
73 -1456232632, -483467616, 1069260754, 972242064, -1406786247, 1954194029, 52627891, 1212755081,
74 2117436668, 281073392, 741537353, -483063506, 1850906286, -244876135, -270818140, 1817568823
75 };
76
77 for (int i = 0; i < refInt.length; ++i) {
78 Assert.assertEquals(refInt[i], mt.nextInt());
79 }
80
81 }
82
83 }