http://git-wip-us.apache.org/repos/asf/commons-math/blob/6ddf4769/src/test/java/org/apache/commons/math4/rng/internal/source32/MersenneTwisterTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/rng/internal/source32/MersenneTwisterTest.java
 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/MersenneTwisterTest.java
new file mode 100644
index 0000000..e806fc7
--- /dev/null
+++ 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/MersenneTwisterTest.java
@@ -0,0 +1,240 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.math4.rng.internal.source32;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class MersenneTwisterTest {
+    @Test
+    public void testMakotoNishimura() {
+        final MersenneTwister rng = new MersenneTwister(new int[] { 0x123, 
0x234, 0x345, 0x456 });
+
+        /*
+         * Data from
+         *   
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.out
+         * converted to hexadecimal.
+         */
+        final int[] refInt = {
+            0x3fa23623, 0x38fa935f, 0x1c72dc38, 0xf4cf2f5f, 0xfc110f5c, 
+            0xc75677aa, 0xc802152f, 0xd9155da, 0x304aacd1, 0x9a73f337, 
+            0x989a7a43, 0xc1483a50, 0x268c922d, 0x582fa6ba, 0xfd0cc411, 
+            0x44267b5e, 0xe64aeede, 0xbffce512, 0x69b7263d, 0x43df2416, 
+            0x54c06fe4, 0x4bb1636f, 0xaa772159, 0x692b9302, 0xe6f6290f, 
+            0xec59faf1, 0x453050b, 0x8e18c8c2, 0x9afc3045, 0xc0f8369c, 
+            0xa6784b64, 0x2b3baca5, 0x241c69b2, 0x102b153e, 0x2aa0204a, 
+            0xc4937ab0, 0x4edada28, 0xfc1a4165, 0x5327669e, 0xdeaa3938, 
+            0x7d45d251, 0xde57ac80, 0xafdc0e1a, 0x630eea2f, 0xac9709be, 
+            0x8d4b2277, 0x3bd93aca, 0x85eff969, 0x7dd7008b, 0xc0f5f7ef, 
+            0xf354dbb7, 0xd19a749, 0x9245ad51, 0xdd1bbe7b, 0x31ce56ca, 
+            0x8fc36f3b, 0xa307eaa6, 0x2d16123c, 0x81a710e8, 0x6fb0ece0, 
+            0xa4a8ed5d, 0xf81025ee, 0xc7bdb7cc, 0xacbd297, 0xc2e69738, 
+            0x2e414667, 0x8436773b, 0xb2eb0184, 0x6f458090, 0x7f2c9350, 
+            0x213f68e, 0x470b7a6d, 0xb8e983ba, 0xadd68783, 0x3c580a4a, 
+            0x8239e155, 0xfdc2c299, 0xacd2d0b2, 0xe39381d6, 0xb4a5ad7e, 
+            0x4c6c3bdd, 0x1908bf3a, 0x8aaa5fe5, 0xa3674b65, 0x4c2d0c3f, 
+            0xdf2ba5a5, 0x1032fcf8, 0x9c8a9da2, 0x989f1b17, 0xb62684e4, 
+            0xfc56810e, 0x4937dc5d, 0xd6502fba, 0x403fad7e, 0x8ecf04fa, 
+            0x6e622af6, 0xb3a12932, 0x7735265b, 0xb3397c02, 0x3e92651e, 
+            0x58bca8af, 0xd02046e6, 0x6394b11, 0x91ed9821, 0xb75225a3, 
+            0xe6cf1b38, 0x35297ffe, 0xeaa2f3af, 0x8740f423, 0x9cf755ec, 
+            0x3e71ab47, 0x9b3f3b19, 0xa17cb981, 0x745c768b, 0xc5fa06c, 
+            0xa9ddfe32, 0x27fb2a2d, 0x83c11cc4, 0x1be0b4bd, 0xfadc6d9, 
+            0xd4c4cf4b, 0x3e2019a7, 0xe6489797, 0x5746fcb5, 0xa468a4c8, 
+            0xe1f303c8, 0x892aba04, 0xb92617d6, 0x79af91, 0xa6719544, 
+            0x2123c124, 0x250f6867, 0x4ed30865, 0x32e1592c, 0x28f2364b, 
+            0x56bb6094, 0x39162749, 0x6b68d894, 0x3ce35fee, 0xcfc8dc4f, 
+            0x71602f12, 0xdc9ae288, 0xf8ef2ed7, 0x6b06d07a, 0x216e06f0, 
+            0xdec994b2, 0xbb3a7736, 0x5c9957e9, 0xc8bca92a, 0x2a6955f6, 
+            0x93876aff, 0xfac9a03, 0xefc4f05, 0xb1a05dc2, 0x6bae0207, 
+            0x39c9d223, 0xd25d4245, 0xa3194800, 0xb20d013e, 0x6249fe2f, 
+            0x837f9243, 0xb5af74d1, 0xda4d5e81, 0xbb17131c, 0x9e8e92bc, 
+            0x631fa28c, 0x6c4862df, 0x188d56e3, 0xe7b5f3c2, 0x8be50cef, 
+            0x3c846d8b, 0x47bd5cf0, 0x816608b6, 0x99263fac, 0x3082b3dd, 
+            0x41e2e09e, 0x554d804b, 0xd25a3b7, 0xfcf0b24b, 0xf91f82af, 
+            0x9b6ad24b, 0xb83703f9, 0x10d431ab, 0x675e6dc2, 0x52f58561, 
+            0x3badef9a, 0x31592d6b, 0x70748fc3, 0xea8cd203, 0x9cdde8aa, 
+            0xe8c41002, 0x696ec53, 0x91e8d6be, 0xdd90041f, 0xc4fb23f3, 
+            0xdee5fd0f, 0xb65694ac, 0x38dba6c3, 0x9a6226c2, 0x4380bf2d, 
+            0xe23c29cf, 0xa62df7dd, 0x3a8a7f47, 0xcef7d974, 0x3341ae98, 
+            0x9fcced1f, 0x89117a75, 0x2697345b, 0xdec75a6, 0x243febfb, 
+            0xdbe6ab5d, 0x6e41602c, 0x5fded1ce, 0xec854a95, 0xa0839470, 
+            0xa9fc1f3c, 0xeb51cb9, 0xd58d7944, 0xc6767655, 0xf096123e, 
+            0x3c60b5b2, 0x38abc388, 0xec0546a8, 0x974f331d, 0xb68e0fe, 
+            0x9e7008a7, 0xc3496c73, 0xae81ba8c, 0x499065db, 0x727d51f3, 
+            0xd2c437c1, 0x5b879655, 0x822f5cf7, 0xc3525dae, 0x198a3598, 
+            0x8dc3afd0, 0xf1fb2ace, 0xe9470165, 0xa2d922ee, 0x3d634c3, 
+            0xdfdafa3a, 0x323cb60d, 0xa8142cc2, 0x8fedaffd, 0x3c344d7e, 
+            0x6da7d412, 0x8faa6de0, 0x91b26b9, 0xcfb90648, 0xf4811a08, 
+            0xaa091e50, 0x3472e158, 0x6a650e2e, 0xa3cf7e2f, 0x50c01ec0, 
+            0xc2c67020, 0x87402425, 0xb2e34cb9, 0xbd87d91b, 0x3563a6d3, 
+            0x339cf74e, 0xffcc2cf9, 0x5537400, 0x57ae171b, 0xf5396a89, 
+            0xbed9b927, 0xaaea3a07, 0x92add60c, 0xd6cec30b, 0x85729ab0, 
+            0xc5326ca8, 0x7b83f953, 0xa43ff0cf, 0xe0eea920, 0x65de4954, 
+            0xff454bcb, 0xa3af3b3a, 0xa8d5900a, 0x19d5c121, 0xbd4a89ac, 
+            0x19084ae, 0x98130311, 0xaeba10a, 0xe80fa57c, 0x72ed83fd, 
+            0x4fb367f3, 0xcc63dc6a, 0xc3372454, 0x6a37e254, 0xfe2da32c, 
+            0x6fda8ee3, 0xffaf02b4, 0xc027d10e, 0x6709f3e9, 0xf27c7cfe, 
+            0xaaefc51f, 0x446a04a8, 0x120d944c, 0x6723ed43, 0x72ab3b17, 
+            0x465e7e94, 0x5d910b0f, 0xbd96427, 0x216d0655, 0x7d9b8ad4, 
+            0xa14a22ac, 0xcd90160a, 0xdb3f890b, 0x2d37dcc3, 0x34b8c67f, 
+            0x1cfd3624, 0x69ca4cc3, 0xe756cff2, 0x9d122b27, 0x46667c33, 
+            0x59ee9c5c, 0xbd7b82d1, 0x5f0576e1, 0x499ef4c9, 0x1370277c, 
+            0x8954bac1, 0x37da5236, 0xa02eb689, 0xbe47fedc, 0x776ea717, 
+            0x6cb476ac, 0xa47b4a6a, 0x999efe, 0x5b639436, 0xf650de88, 
+            0x4e8fd98, 0x191216d2, 0xceaed09b, 0x204794eb, 0xd2c25028, 
+            0x87bd221d, 0xc68852c5, 0xbfaafd1e, 0xf534182b, 0xfaa3297f, 
+            0x80e14a8d, 0xc204c912, 0x84449c0d, 0xb184ee7d, 0xf3f7b53, 
+            0xaa6e3294, 0xb89cbf37, 0x992ad523, 0x6efb1e90, 0xad46858f, 
+            0xa217c69e, 0x3b8123f6, 0x9651ad17, 0x8f4c0a9a, 0xf76fc20, 
+            0x7c62f8c3, 0x6da9dc30, 0x70dd3d5d, 0x96ae2e55, 0x58c655e4, 
+            0xaa853035, 0x48e81ea, 0x87002693, 0x2c667e97, 0x9a2f4d5b, 
+            0x52933a95, 0x3f72a82, 0x6c6d501a, 0x713505ec, 0x7d0f9784, 
+            0x6aebb0b6, 0x107a7e37, 0x15773151, 0xf90a74da, 0x2377363c, 
+            0xa8de6de, 0xa6e5d5a2, 0x5dca95f2, 0x5c53d917, 0x168ec0cf, 
+            0x570dfc18, 0x4288fe6b, 0xb9833a27, 0xdd1e7904, 0x315a4474, 
+            0xd5631e5f, 0x7213cfd6, 0x249938a9, 0xff052817, 0x718eb33c, 
+            0x2b4dec3, 0xc4964842, 0x469f5baa, 0xd941297a, 0xe9dded03, 
+            0x60fac145, 0xdb37f217, 0x39cd8ee4, 0x452c33d1, 0x5abe9be8, 
+            0x1af69e0d, 0x5b0bd6d7, 0x319ecd5f, 0x3bcd235c, 0x3fdbfa77, 
+            0xac550eb4, 0x3a0a346c, 0xf39919d4, 0x6e1f71ee, 0xe832ed0e, 
+            0x84c9d733, 0x60a2537d, 0xabbdd4b3, 0xd598dffd, 0xd13c8592, 
+            0x32a03cc7, 0x336e5faf, 0x2f8e590a, 0xaaeec5d4, 0xa8295b34, 
+            0xc30ce8ca, 0xee4c5501, 0xc77d054, 0x6b982f24, 0x678195, 
+            0xa849138f, 0x2f3dd18e, 0xfe23a88a, 0x2e47871d, 0xe263d69f, 
+            0xaa1419fe, 0xa2b0fa92, 0x3fe37d3d, 0x4f37161e, 0x4cd9b682, 
+            0xc65860f6, 0x77e4edc3, 0x4c71a18, 0x36fb25b8, 0x451411f4, 
+            0x635fecf1, 0x92b03a64, 0x9b7fd167, 0x171906d3, 0xc76604e6, 
+            0x59257d37, 0xf444dead, 0xbc26a68d, 0xd225e427, 0xf675b085, 
+            0x1aa04db0, 0x7f683b77, 0xd79d3278, 0x308425a0, 0x4504d28a, 
+            0xde9ae465, 0x64275e5a, 0xbd910789, 0xd13421f7, 0x84ce54b4, 
+            0x3c166b93, 0x1d040e83, 0x337c6ae7, 0xbe1630aa, 0x3e9a6e14, 
+            0xe125a856, 0xffce8ca5, 0x324f5b19, 0x5050a29f, 0xa878afad, 
+            0x2c6ee4b4, 0x7a891b36, 0xfdeda343, 0x8e420be9, 0xb1a90f55, 
+            0x1aa82dfc, 0x7bd87288, 0x497d36dd, 0xefca266c, 0x536338b5, 
+            0xbb314af9, 0x99c64a66, 0xe230edff, 0x35b07a32, 0xac172bc3, 
+            0x66890dcd, 0xc8b7e513, 0x9f14818d, 0x38f45e55, 0xe39d2420, 
+            0x41e7b802, 0xe7d097d7, 0x87bde5db, 0xa3b40719, 0x6903a4f1, 
+            0x8fe17270, 0xa00bc9ad, 0xfcbd3397, 0x458ad6f3, 0xfb3f1663, 
+            0xb7b4fe23, 0xec0fda7a, 0x6324016b, 0x7c6c5059, 0xf81c1522, 
+            0x957286ba, 0x5e27c862, 0x2dbb10a2, 0x39db5731, 0x1d567daa, 
+            0x55ee48f2, 0x4e5e0742, 0xc27142ca, 0xcbacae9e, 0x5d1a105a, 
+            0xb37e6bbc, 0x4457de32, 0xc2731190, 0x51f2e26b, 0x616f5ec8, 
+            0x4c524088, 0x84eb772e, 0x18fe5f9c, 0xc27be658, 0x25f0b8e, 
+            0x61d91e60, 0x65599112, 0x839a9784, 0x9942f04b, 0x907c8596, 
+            0x2e824b62, 0xa1d696d8, 0xca1de87f, 0x9b97e72, 0x89a8b34e, 
+            0x6edda0f8, 0x21202673, 0x10b55868, 0x5fa7c76b, 0xa1b56faf, 
+            0x670e4131, 0xd8f5502e, 0x25233991, 0xe43445a3, 0xfed6a20a, 
+            0xd19733f7, 0x8bb5db5b, 0x90e132fc, 0x25e17e90, 0xe697ac65, 
+            0x302fda43, 0xb7064f65, 0xff3caaf3, 0x7cc369c7, 0x789d0230, 
+            0x5d7fe246, 0xcbfd430c, 0xf66fcdee, 0xb3d37457, 0xc24547aa, 
+            0xac23da09, 0xbddb1df4, 0xfdd7d1fb, 0x4b8987b3, 0x3cf260e1, 
+            0x30a24d85, 0x375fb86c, 0xb287e74a, 0xc8f1b360, 0xd70e2779, 
+            0x784fa37b, 0x7477485, 0xa787685e, 0x541fbaf2, 0x49d05a21, 
+            0x46bcecac, 0xbc1c4443, 0x85b0917e, 0x693c3ac2, 0x10a30d08, 
+            0xff192733, 0x61d88012, 0xe2474eaf, 0xcbb899, 0x62b8b3a, 
+            0x5ff1fcdb, 0x20dde01f, 0x94a3ef59, 0x4e75b597, 0xea677d68, 
+            0xf9b9c06b, 0x1b9ee46c, 0xaf1a479a, 0x6e9a7611, 0x9c9284f6, 
+            0x348a296, 0xe3e3b5ab, 0x2ce8b80a, 0xf11a7efc, 0x4bf1a59c, 
+            0x4301a8f0, 0x57c6a80, 0x7ebd7550, 0x1963d609, 0x17064918, 
+            0x9a5e486f, 0x767ada6e, 0xf379835d, 0x817d0eed, 0xc8a9fc9f, 
+            0xd6c0e87d, 0x8dc9a94f, 0xacf56951, 0xdd8bd5ee, 0xdd248898, 
+            0x9e286bc3, 0xced01226, 0xb88ffe3c, 0xea662cad, 0x9ab07c59, 
+            0x13032ac1, 0xbb873d74, 0x32e0776e, 0x89b5f90, 0xe09d5b09, 
+            0x2ea60da1, 0x80cfe80b, 0x21fa1ce2, 0x706dc2f1, 0xd96e10, 
+            0x84f75f04, 0x5fa97783, 0xea2b6877, 0xe9c417ed, 0x807f00ac, 
+            0x802442e, 0x19a90570, 0x72ae16ca, 0x107e4fa1, 0xbb6135e, 
+            0xd775a370, 0x5ff6f941, 0x6a707d8a, 0x32be82f8, 0xe02e92e3, 
+            0xadf9e5ba, 0xc88902f1, 0xb38bd032, 0xdeae3543, 0x9d8b53e4, 
+            0xe138fc67, 0x4565a728, 0xc45115d, 0xab6dfd67, 0xd0d19d8a, 
+            0xb77c9c49, 0xcef31821, 0x683e0485, 0xa35e3a23, 0x12d6a276, 
+            0x62f81a9c, 0xa10fe92, 0x38fb7c97, 0xed7c6de5, 0x21c46edb, 
+            0x3babb813, 0x488587af, 0xaff84a55, 0xe48cce39, 0xe5098cad, 
+            0x9310cf58, 0xece52930, 0xc21bcc91, 0x540108c4, 0x4f44bcdb, 
+            0x898a9365, 0xba470a57, 0xd7f15ff8, 0xe473ab14, 0xe76833ff, 
+            0x89997b1b, 0x9e7f7c54, 0x5673fcd9, 0xd289f943, 0xbdeb72e2, 
+            0x490d3961, 0x4302a415, 0xa7aa0c1, 0xb35bde2f, 0xa6b2690f, 
+            0xd9acf25b, 0x9950b7e, 0x71621b83, 0x653f519c, 0x43a66e3d, 
+            0x1da1d26a, 0xc4db0a37, 0xf1d8513e, 0xd6c9840b, 0xf39e866b, 
+            0x197fe72c, 0x11196229, 0x311007b0, 0x61028494, 0xdf40c6a7, 
+            0x9a54746c, 0xfa75ce2e, 0x3bf7309, 0xc33d7966, 0xeda6af60, 
+            0xa6672387, 0x72411b87, 0x9a211f11, 0x51f56dc7, 0x53a684e0, 
+            0x397541a, 0xe33486f2, 0xb4186699, 0x9bbf1cb2, 0x1f86e0f1, 
+            0xa459fea9, 0xc729c354, 0x9c466f44, 0x10479afe, 0xef53e2d2, 
+            0xb8769c4a, 0x60a7fa28, 0x8b551da9, 0x6b17bf70, 0x4b0a4a73, 
+            0xfcd67534, 0x7f77d788, 0xb422f68f, 0xf8ccf23c, 0x1ad3e613, 
+            0xc33054e4, 0x24c8f64a, 0xa135d8b9, 0x5799da51, 0x4ff771cb, 
+            0x15430a3f, 0x46db7ec8, 0x87d4c88f, 0x694bb4c8, 0xa6a5ff3b, 
+            0x37255c0, 0xac77403c, 0x49a7a6d5, 0x61326bcb, 0xea1febca, 
+            0x19905ce4, 0x6c208616, 0x88601b2b, 0xf5ecddc0, 0xec8475d1, 
+            0xd3853b52, 0x3d21610b, 0x53b3a29c, 0x77575565, 0x5825b57, 
+            0x89ebfb88, 0x8f3c2f00, 0xb32ead1a, 0xd44f8744, 0x63a692b2, 
+            0x69697bae, 0x6b7fe1c9, 0x325b5bf1, 0xb32e0e11, 0x54187523, 
+            0x4501dc49, 0x7eb3aed1, 0x6ab0eb88, 0x6b3e94bf, 0x2c2d293b, 
+            0x8f668ba5, 0x2db81bb2, 0x9e43c4ae, 0xda5b5b13, 0x81763a88, 
+            0x95b90733, 0x642b0bca, 0xdd1dd3a, 0x44d79c88, 0x95e327f, 
+            0x56abfd80, 0xd0f75ce3, 0x730607c6, 0x89a6fd0e, 0x7fc09cd8, 
+            0xb078f466, 0x184ba518, 0xaf1ff8e1, 0x99e25f5f, 0x201e00a3, 
+            0x8ba1ae03, 0x19a9942b, 0x2c1e6198, 0x737f2878, 0xc59a2b1c, 
+            0x7c4f8850, 0xf0409a77, 0x2da9101d, 0xd1aaf46f, 0x291c51af, 
+            0x4d234c8a, 0x68810c4a, 0xfa7e9b84, 0x75b5dcb8, 0x1fe8b9f, 
+            0xd4acb1ef, 0xbb6ff83b, 0x64805089, 0xf6763925, 0xb327edc3, 
+            0xd688dbca, 0x196cf19e, 0x2cf2b856, 0xda34c994, 0x7518948f, 
+            0x3170a8d1, 0x30f86e08, 0x681c6bac, 0x3bfddb0c, 0x5f168b17, 
+            0x4ae631b1, 0x3d105d00, 0x7116b018, 0xad06c9a1, 0x293be0e9, 
+            0x3dd73c5b, 0xbd5a98e8, 0x75536a9f, 0x818d1508, 0x40e9aa2e, 
+            0x68367be3, 0xaf51e5f2, 0x39b8ccc2, 0x6c67fb45, 0xb13771e2, 
+            0xe706549e, 0x42b7fc98, 0xedbd44eb, 0x622d9985, 0x85107f0a, 
+            0xcfc9061b, 0xd9e6d66b, 0xe011bb5e, 0x327eb11e, 0x407ecdd9, 
+            0x3afad29e, 0xab283ffb, 0xbe83d61e, 0xea3e7a46, 0x273b2541, 
+            0xda729e01, 0x81a62472, 0x8359eedb, 0xa4457261, 0x926ad13f, 
+            0xe7e0c4fe, 0x4d1da2d8, 0xa8b3aed0, 0xb658ec23, 0xf7e24a58, 
+            0x5d154e58, 0x9a2bf0ba, 0x2eb455b0, 0x50cb61f3, 0x1e095a2, 
+            0xe1de399f, 0xc71cbd35, 0x7cb90a7e, 0x356e4628, 0x280991f0, 
+            0xd26e64a1, 0xd6c9df5a, 0x3ef127a4, 0xcd2d747b, 0x595f8ee8, 
+            0xba946959, 0xd8ee7838, 0x10f24d0, 0x86b0eaec, 0x1d078587, 
+            0xfbf516ea, 0xdc2a79f8, 0x7015e404, 0xe9efdc2c, 0x16bca751, 
+            0xef7b9df7, 0x9227157f, 0xa31e6f81, 0x83b7e291, 0x7ee5c10b, 
+            0x1a196d7c, 0x23829142, 0x263fe2c2, 0x618461ac, 0xe8681ba5, 
+            0x258b3130, 0xd60cf96a, 0x14fadac6, 0x9d48a438, 0x8bfa6a79, 
+            0x8b920d34, 0x7e98a7fc, 0x88cc57d, 0x5af407f0, 0x15bc4713, 
+            0x23b64b00, 0x37f96d03, 0x5ac72f49, 0x65a9a89, 0x16724cac, 
+            0x503ea2fc, 0x4d548e23, 0x2d92d724, 0xdefe753f, 0x37a36c6a, 
+            0x70708d68, 0xbfe7aba8, 0x1f510c48, 0xb3a995e3, 0x1342df6d, 
+            0x7986ddb9, 0xf4630113, 0xa9f9b81d, 0xb1dca7ae, 0x70915ce7, 
+            0x780e2c35, 0xd1859a18, 0xf92e7d5a, 0xce573f6b, 0x9d79a6e9, 
+            0xbd7f3425, 0xacfd81c7, 0x8429a008, 0xf0da82bb, 0x6a5fb409, 
+            0xc567b073, 0x5371eda, 0xa417042a, 0x9d162579, 0xa8c0eb06, 
+            0xdb7a6342, 0xae0c5575, 0xe0e256a8, 0xa7de78a0, 0x12797538, 
+            0x8e154606, 0x93b23bf, 0x16f4562d, 0x47067058, 0x6db6dc93, 
+            0x33fc94d2, 0xae60549d, 0x4e1b4fcb, 0x7d4aff37, 0x59b050d1, 
+            0xd50b787e, 0x4700ba54, 0xc6848ba2, 0xbd8f6801, 0xd2f62909, 
+            0x289cde1e, 0xc5003778, 0xd973a07d, 0x38a099d8, 0xf8bedbdd, 
+            0x68e9601d, 0x1e86cf6d, 0x2899e89c, 0x229ab04a, 0x45b7a393, 
+            0xef508cd2, 0xa03448ed, 0x29b47253, 0x9f5a48ac, 0x43c89eec, 
+            0x75dfc10, 0x1c2c3184, 0x3ecca1e3, 0x3c5cc91e, 0xcf7cd58b, 
+            0xe014d295, 0xed503a24, 0xe452210e, 0x6fe3ac6f, 0xd99dca00, 
+            0x3ae4ac67, 0xd189afe0, 0xf3ba5df0, 0x84a10e38, 0x4a7b85e4, 
+            0x9d8b4bf7, 0xe83b5b67, 0x90106e3d, 0x534fbf99, 0xce3bcd2e, 
+        };
+
+        for (int i = 0; i < refInt.length; ++i) {
+            final int r = rng.nextInt();
+            Assert.assertEquals(refInt[i], r);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/6ddf4769/src/test/java/org/apache/commons/math4/rng/internal/source32/Well1024aTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/rng/internal/source32/Well1024aTest.java
 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/Well1024aTest.java
new file mode 100644
index 0000000..68a191f
--- /dev/null
+++ 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/Well1024aTest.java
@@ -0,0 +1,71 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.math4.rng.internal.source32;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class Well1024aTest {
+    @Test
+    public void testReferenceCode() {
+        final Well1024a rng = new Well1024a(new int[] {
+                740849862,  1202665156,  -199039369,  -259008301,  -291878969, 
-1164428990, -1565918811,   491009864,
+                -1883086670,  1383450241,  1244617256,   689006653, 
-1576746370, -1307940314,  1421489086,  1742094000,
+                -595495729,  1047766204,  1875773301, -1637793284,  
1379017098,   262792705,   191880010,  -251000180,
+                -1753047622,  -972355720,    90626881,  1644693418,  
1503365577,   439653419,  1806361562,  1268823869
+            });
+
+        final int[] refInt = {
+            -1478749726,  -1645579484,  -2075363835,  -2063444174,  
-1834148336,  -1769045872,    -40711346,   1717441026,
+            2130656771,    783441285,    570433609,   1560023451,    
653233971,   1368672434,    -72036215,   1071111800,
+            933776492,     26114960,     49888778,   1808107515,   1092989296, 
   754848337,   1336994364,  -1987450448,
+            -691190146,  -1803870839,   1110716866,   1173269113,   
-391000050,   2014216908,    180756301,   -382891013,
+            -1908154585,   1580737629,   1080267957,   -125532248,   
2094530239,   2132964485,   -438596348,   -760299445,
+            1058181869,   2050816800,  -1534429037,    -62552782,    
824524142,   -818590371,  -1857695907,   -684762866,
+            -156556543,   -902759995,   -880795194,  -1387351132,  
-1263017515,    448006597,    201038266,   1929826313,
+            -455367306,    672963027,   2000073013,  -1546842042,    
446341090,   1001696686,   -779919012,   -347722602,
+            -1342821677,   1639571150,   -835315755,   1505585376,    
367004975,  -2035864404,  -1786623553,   1249724913,
+            182435312,   1444514513,   1815333708,   1333772382,    299664001, 
  -284691169,   2034403374,   1423310887,
+            -1319051884,   1557286441,   -445198266,   -251809030,   
1602786123,    944036382,  -1020529634,    258344235,
+            685254367,   1838964943,   -156674528,   -979736602,   -538312836, 
   234643178,    211152102,   -635498640,
+            -1036733933,  -1347589147,   -565609042,  -1358714165,    
508618483,   -786364693,   2071450261,   1206956772,
+            -678931458,    167690617,    144698821,   1719720781,   
1575869280,  -1343221123,  -1766469944,    284991647,
+            -717305514,    892653651,  -1368347075,   -615701972,   
-730369849,   1360396003,  -1869287623,   1778269052,
+            -586061545,   -699517114,     61530249,  -1860611767,   
-519660852,   1841085925,   1555610093,   -399979337,
+            -790345742,    422355947,   2007965433,   2044952550,  
-1712164595,   -102915702,   -693865324,  -1894042487,
+            -1285020072,   -215883074,     95833252,   1625818040,  
-1055951680,    513067085,   1825246558,   -553461652,
+            -1923361799,  -1869480206,    567232636,  -1751727150,  
-1832301399,   -108136455,  -1312244126,     14006795,
+            850221366,   -382389732,  -1741556188,  -1317464467,   1948314870, 
   753994471,   1028235947,    342494132,
+            -1862256693,    723808794,   -234257642,   1609928369,   
-802733456,   1315831915,   1436072885,   1224767136,
+            2144557791,  -1839965886,    224821018,  -1461697757,  
-1080386760,   1638573498,  -1188173812,   -325181523,
+            -1750676219,  -1780415850,    698793362,   -908352052,    
299746482,   -161660934,   1938166833,    800297005,
+            56640033,  -1214932666,  -1248124842,   1822796868,   1777615881,  
 -718517774,   1908159957,   1733053281,
+            1851844331,   1283519375,  -1771494956,   2060179999,   
1666129209,   1919453531,   -498145770,    697567008,
+            1855487148,  -1587163491,    565216434,  -1477877933,   
-925662919,   -806492585,  -1201439047,  -1424534232,
+            1788616523,     69414717,    655893636,  -1175978556,     
24787512,   -861550001,    439525754,   -190433174,
+            -383811606,   -508589783,   1441608687,    608181366,   
1539467064,    925903122,    697209654,   1878283393,
+            -1967567432,  -1659677763,   -249658183,    847096354,    
397741956,   -125334541,  -1286840731,   1016461908,
+            -997968592,   1795331475,   1856856501,  -1716726445,   
-582181331,   -887091847,    426964855,   -609219941,
+            -1456232632,   -483467616,   1069260754,    972242064,  
-1406786247,   1954194029,     52627891,   1212755081,
+            2117436668,    281073392,    741537353,   -483063506,   
1850906286,   -244876135,   -270818140,   1817568823
+        };
+
+        for (int i = 0; i < refInt.length; ++i) {
+            Assert.assertEquals(refInt[i], rng.nextInt());
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/6ddf4769/src/test/java/org/apache/commons/math4/rng/internal/source32/Well19937aTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/rng/internal/source32/Well19937aTest.java
 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/Well19937aTest.java
new file mode 100644
index 0000000..c86af88
--- /dev/null
+++ 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/Well19937aTest.java
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.math4.rng.internal.source32;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class Well19937aTest {
+    @Test
+    public void testReferenceCode() {
+        final int[] base = {
+            740849862,  1202665156,  -199039369,  -259008301,  -291878969, 
-1164428990, -1565918811,   491009864,
+            -1883086670,  1383450241,  1244617256,   689006653, -1576746370, 
-1307940314,  1421489086,  1742094000,
+            -595495729,  1047766204,  1875773301, -1637793284,  1379017098,   
262792705,   191880010,  -251000180,
+            -1753047622,  -972355720,    90626881,  1644693418,  1503365577,   
439653419,  1806361562,  1268823869
+        };
+        final int[] init = new int[624];
+        for (int i = 0; i < init.length; ++i) {
+            init[i] = base[i % base.length] + i;
+        }
+
+        final Well19937a rng = new Well19937a(init);
+
+        final int[] refInt = {
+            -612874471,   -354976292,  -1838197125,  -1781560577,    
278390997,   1214938280,  -1752615390,   -760835246,  -1712883765,   
-241205782,   -145390202,    495649160,   -514388259,  -1271015916,  
-1640000013,    849273623,
+            -549729394,  -1206917255,   -545909692,    811925434,  
-1665729633,  -1525292882,   1416246482,   -153220826,   1148868872,   
-326143196,   1724979062,   1790931148,  -1648679618,   -439051683,    
112482777,  -1484051520,
+            -1881272572,  -1270447031,  -1216102401,   1579107248,  
-1224395621,   2144411988,   -416216641,  -1529222361,   1628987080,    
164445245,   1506928916,    928145916,   1436000427,    862025970,    
560077705,  -1887251027,
+            -514360858,   1735094506,    475624879,   1755802355,    
295448361,   -155399225,      3972415,   1368201076,   -465126094,  
-1622687259,   -246099304,   1798631152,  -1937269102,  -1700560396,   
-293352622,   -896632303,
+            -2088933220,   -194382452,   -480218162,  -1618517785,  
-1925031481,   -150217434,   1678937261,   2130832364,   -485546678,  
-1499224981,   1430390884,  -1895417302,    210514746,   1781140999,  
-1940853105,  -1238099647,
+            485922557,   -103223212,    633481679,   -632946979,    695235541, 
 -1661735272,    277603567,   -958341538,    256982285,   1850270018,   
-327388076,   -219053874,   1380560653,  -1221689980,   1335863752,   
-545032383,
+            -575291735,  -1295623907,   -140058298,   1063302709,  
-1290702617,   -790401546,   -170630961,  -1203114473,   1458063108,  
-1212753301,   1546428514,   2112636413,  -1463028928,  -1812598032,   
-883529486,   1131084094,
+            62042165,   2135819802,  -1192342739,     98361522,  -1341042205,  
 -475283063,  -1632033747,   1745196892,    168608689,   -914987039,    
274428907,   -881357258,    167940012,  -1975737532,   -903960486,  -1370984244,
+            -589352935,   1783633514,   -570111010,     71495377,    
194463285,  -1243905021,  -1398490898,    221691209,    -55728834,   
-638916786,   -770622372,  -1911651810,   -295233027,    301467998,   
2058638784,    681490183,
+            -1547865078,  -1668135684,   1299261826,   1649468635,    
287995017,  -2076844852,   1193468826,   -853948258,    120082777,   
1051829542,  -1288514343,   -159456430,    275748820,   -480127107,   
-604943233,  -2138088332,
+            1202614819,   1427201263,  -1906344469,  -1230779533,   
1690367192,    733159097,    794410312,  -1114452505,  -1601554413,    
976747949,   1517787154,   2091780205,   1052078906,   1919282771,   
-191013374,   1805397142,
+            736939268,  -1056272823,   -727464316,   -659459005,    797803875, 
 -1104633884,   1042342081,    -24514837,   1919469940,   1903722546,   
-814157872,   1605407665,   -262351256,   -288949635,    729204844,  
-1132605534,
+            745453338,    387915035,   1094173337,   2100279147,    156863702, 
  -257377544,   -719587984,  -1496015613,   1908993744,   2016957554,    
918749666,   -135963651,  -1356808639,  -1711185741,   1472589240,   -398100149,
+            628791415,  -1381837652,  -1820702771,   -593586943,  -1456631279, 
 -1837975351,  -1394249972,   -556916726,    833231177,     43449750,   
1029237092,  -2086437337,   -459463076,   -533031784,  -1739648287,  
-1374722961,
+            2024908394,   1389678488,      2018558,  -1391707864,   
-795935743,    904816957,    836583280,   1766194531,  -1374431014,   
-904437876,   2030248636,   -265724199,   2056758426,   -810499837,    
887193593,    -77811488,
+            1496312336,  -1874348275,   -456193866,  -2137130942,    
868120387,     29025455,  -1999867716,   2001322335,   -579152815,   
-390892056,   1592011837,   -306394879,     93636886,   -190879994,   
1923358153,    269052141,
+            -396050253,   -987531729,    480350991,   1276744541,  
-1445571957,   -957571005,  -2046270221,  -1715395752,   1113585628,  
-1782113514,   -697560146,    835320000,   1014320959,  -2119834109,    
460056841,  -1464772991,
+            -1282790418,  -2120806165,     86176097,   -731086307,    
832497517,  -1876684928,    541008240,    551124479,   -450919132,    
647860281,  -2115397586,    979247589,   1095559204,   1927958688,    
169497703,   1999579054,
+            2019745038,   1656022059,  -1109662138,    375237154,   
1450814436,    919988416,    849761266,   1457057327,   1771166577,  
-1639880487,   -852488298,   1767063646,    657295386,   -585561879,    
740792583,   1664558308,
+            -654749506,   1109275990,    182597559,   1106789745,  
-1806628480,     25948116,   1748374299,    196057325,   -164213209,   
1687024594,    782029276,   1879737947,  -1528219611,    412585737,   
1190325629,   1985821911,
+            -1272945202,  -1238637137,    465818730,  -1537670961,   
1131953615,    905623579,    609183424,   1138422991,   1522974699,    
589719061,  -1310894604,    890952933,   -885204790,   -393535694,   
1238408670,   1780660354,
+            677803525,  -1121509064,   1553148616,   1109165936,  -1450120385, 
  1525252521,  -1354897489,   -595402189,  -1274551767,   -869281409,   
1788815975,   2020262116,   1124100185,   -400839020,    310574108,   
1354413045,
+            -1310514485,   1895732085,    626639054,   1667355357,   
2065637178,  -1889009143,   -440157749,   1762849463,  -1693853642,    
-56602956,   -930874188,   -398470740,    778356402,  -2113156881,     
42854964,   1844399604,
+            -2098310302,  -1812029757,   1441188713,    899579267,   
1266994172,   1841370863,   -660740252,    -43254718,   1124500192,   
1884907320,    879997211,   1775139845,  -1360112721,   1630490057,    
362567879,   1113475029,
+            290319279,  -1209506867,    398146039,   -957742350,   1185761854, 
  1519676447,   -912689915,  -1117128973,   -305563462,  -1928033363,  
-1766324543,   1702753492,   1696951912,  -1895072395,    932663591,   
-566548128,
+            991675996,     56529814,    980735023,    718166662,   -650028466, 
  -886842051,   1857048587,   -569023569,  -1820572202,   -851452711,   
-958700452,   -621825633,    -65649888,   -510143183,    761267599,  
-1692108035,
+            1729071710,   1623630864,    -53498654,    267235687,    
659201413,   1152882627,   -824194574,    356636960,   -502391121,   
-538453360,     66115376,  -1633290370,  -1522088932,    268949070,    
684499443,   -859474501,
+            1586764345,  -1515639709,    319695602,   -307025150,     
69076508,   1050726785,  -1340930110,    552191600,   -207852941,   -273572993, 
  -539580440,    710343120,   1957076127,  -1107172811,   -561518280,  
-1775022699,
+            1978792904,   1935531451,  -2084046304,   -419742902,   
-737652926,    614022023,   1676952428,    769892939,  -1092786807,  
-1117113223,   -266029995,   -350150999,    207738542,   1964896575,     
48805284,   1736500159,
+            551289617,  -1847923501,   1856609505,   2007480480,   -681860219, 
 -1198106493,   1483591043,   -523895316,  -1814473078,  -1521087404,  
-1348859926,   1298056897,   1813789478,    946683654,     79196400,   
1766250931,
+            472737685,   1764634332,  -1844726079,   -130619045,   -508713868, 
 -1762537125,   1010108863,    170107098,   1705386380,  -1139681802,    
183739097,   1662699401,   1842694501,   1714633805,     46208876,    616720693,
+            -252553427,   1986302230,   -103130254,   1943225981,    
110746655,    553260552,   1588938073,  -1934623163,  -2144781332,  
-2086217416,   1941265852,   -781953226,   1216234254,    605543697,   
-710872598,   2048636577,
+            -1986927728,  -1007017623,   1243051501,   -614249563,  
-2128221291,    581579813,   1173464240,  -1906830937,    261329601,  
-1805974103,    769823490,   1858731164,   -561762071,    516417430,  
-1221329437,   -825500715,
+            1091364656,   -993658663,  -1475434188,  -1070804384,  
-1876492082,    899494424,    683486936,    878807455,     56642807,  
-1268202879,   1379172046,  -1386869373,  -1158233876,   1759190552,   
1597629789,   1411151497,
+            -1254268471,   1075936979,   -918778269,  -2132675184,    
953140888,   1906982077,   1154200766,   -365384600,  -1142488826,    
708535121,  -2134869964,  -1531201665,  -2100526761,   1268256467,   
2071480803,    193135243,
+            1374158182,    989505347,   -933612202,  -2134839213,  
-1302795271,  -2092029041,   1812014826,   2090855917,   2005348528,    
606434393,    -60141386,     11156360,    539516285,   -122485034,   
-893237911,   -978127424,
+            1509901816,   -451029719,    428544700,  -1622965963,  
-1993611605,  -1989324583,   1104111587,   -795138585,   -899552401,  
-2110167769,   -234502445,   1586963605,   -503778455,    529261062,    
325327284,   -106186403,
+            65369563,  -1475700698,   -228624261,    715975009,   1099352363,  
-1796883396,   1376542700,   -308942420,   -344940451,   -395389249,  
-1562737166,   1869802677,   1273494710,   2075587668,   -789570273,   
1563347596,
+            1142901755,   1676422422,  -1729157809,  -1399423717,  
-1814262429,  -1809707284,   1393992342,   -570246212,   1065528749,   
-781643849,   1218667301,  -1097949471,   1305629790,    901301039,   
-704762030,    360582612,
+            1411910672,   1848068741,   -614500891,   -146889637,   
-913903597,    723527277,   -147033328,   -199273155,    734997691,  
-2072735286,   2129258691,  -1385074104,    931616624,   1065477319,  
-1543474555,   -531410292,
+            -2123119121,  -1538464113,  -1153585193,   1559931968,   
-654877011,    879865200,   1489681397,   1998864644,  -1964160144,    
163671782,   -858364148,   -323324233,    801208648,    705864113,    
436184243,    643773864,
+            2087594507,    134637265,   -749956494,  -1657343972,  
-1828172168,    -27357303,  -1145161336,  -1192513644,    216148260,    
611393153,    -13752671,   -358631090,  -1211920749,    593572064,    
657629904,  -1445961088,
+            -250704995,   1797542707,  -2122311891,   -316774825,   
-296303057,   -868002056,    -86697533,   2020588145,   1203427903,  
-1371839056,    669531557,  -2031033836,   1323994690,     13703036,    
785437772,  -1465821554,
+            -694756014,  -2131068154,  -1745448876,  -1095891733,    
936594025,  -1119068454,    855423970,   1705079340,   -905640608,    
162297141,   1336619311,   -344353769,    -92608588,  -1080573824,   
2002293105,  -2088030765,
+            -1684198727,   -129054718,   -949437132,   -127983221,   
-216664110,   1700146143,   -711174649,   1500113839,   1212236226,  
-2017364219,  -1263597675,    511929344,   -323998524,  -2021313185,   
1803000924,    927670608,
+            336267187,   1244256964,  -1665390108,    991395134,   -251232188, 
  1267445783,   1547951569,    740269916,   1776431169,   1687220659,    
228229817,    271386089,   -682906779,   -438090344,   1190436796,   -744272540,
+            1879221151,   1145200306,  -1730983338,  -1119209309,     
90826726,   1567861540,   1638852830,  -1645384932,   1566909531,   1088584561, 
  1030555565,  -1872052014,    720320695,   -885053674,   -321216789,    
739907579,
+            368580703,   -443635520,   1232705619,  -1355949988,  -1047211249, 
 -1571429448,    599299852,   1036970439,   1513838571,    -51797291,    
-26647565,  -1262878942,   -916262582,   1579082269,   -292007383,   1289013866,
+            -1612184284,   1451738668,    448608569,    476432992,  
-1229609565,    786372409,    929928149,   -150100614,    448155944,  
-1322320576,   -856549627,   1057443268,  -1536809554,    577508258,    
584906122,    275295163,
+            -604262071,   -236043234,  -1866434954,  -2072447013,    
646132876,    847562546,   -310005953,  -1104162658,    393261203,   
-730102354,    440824482,   1654535035,  -1296359745,   1487359328,   
-977776604,   -775827779,
+            -1298695106,    519080622,   1697162240,    227873031,   
-371123123,   1273702312,  -1710063656,  -2138342344,   1139555478,   
1531578907,  -1498880699,   1183507362,   1875307493,  -1649740413,   
2135386504,   -962458407,
+            424161768,    504272962,    202204247,   1783466420,   2015579232, 
  -676642965,   2067456450,    914480415,   -620398841,   1880405399,   
1406637142,   1951104977,    633496157,    224861869,    -58659291,    
994942775,
+            -479000645,   1421449115,    100168104,    249754169,  
-1219011494,   1736303638,    364013694,  -1750035055,   -479217141,   
1652913106,  -2109452331,   1633842910,  -1547663337,    936627493,  
-1152799743,    896955899,
+            -1407742850,   -523769014,    357161414,    872293304,    
744895980,    720829676,   -240843156,   -111779524,   1292836315,  
-1792141538,   1946959925,   1181751089,  -1120674052,   1185192575,  
-1387002557,   1973209255,
+            -120887476,   -766577735,   -443913073,    786620227,    
428564781,   -101232106,   -425959852,    198082021,   1173272226,  
-1744840378,  -1621135606,  -1539498583,  -1101274572,     43399711,  
-1256764602,   1201920787,
+            2049426139,    846545551,  -2121520873,  -1202939675,   
-470425740,    321987390,   1862019060,   -951540342,   -894238318,   
-430407175,  -1662746491,    656574776,   1580373777,   -431290218,   
1645824323,  -1953526979,
+            -374682356,    474291752,   1071558425,    511038981,   
-760598678,   -567797285,  -1176476266,   -268409005,  -2130644484,    
-67970563,   1756046948,   1429860462,  -1130984739,   -124916495,  
-1544436836,  -1863524031,
+            1024916487,  -1388636482,  -1573205065,    892628956,   
1831270021,   1176430590,   1158914682,  -2006787098,  -1228130033,   
1516111488,  -1499151347,    470546266,   1642603981,   1425140838,  
-1823071475,  -1775267236,
+            -1009380612,    164746986,   1129677098,   1842642579,   
-482342932,   -507480364,   1656012309,   1981601761,   -881042120,   
-511987083,    342447017,    381192578,    983008095,    741012865,  
-1877136350,   -199211983,
+            -452784912,   1929572576,  -1678291139,   -864375281,  
-1610561247,  -1936356726,   -749553767,   -865893512,   -567081879,  
-1303973729,   -939636958,   -622974563,    428284937,   1049237414,    
852280765,     86648946,
+            -1353851401,  -1045422335,    898035731,  -1636093996,  
-1083174191,    245046915,   -359768226,  -1028491655,   1051575118,   
1774289451,   1839389415,  -1594053468,    736707953,   1873556950,    
401186168,   -583669552,
+            -88375334,   2002752071,    264506453,  -1304812107,   -759203942, 
  -114958524,  -1878903503,    841613720,   1910863820,  -1738114003,    
701455920,   1791058048,  -1850960547,   1672292671,   1172188809,    604848896,
+            -1607489375,    305370478,   -948153885,  -1971080100,  
-1848966954,   -584538365,     39416319,  -1689119162,    944942598,   
1777111075,   1534005553,   2022718432,    -25820385,      3077695,   
-315950520,   1859184648,
+            -1397829266,  -1666371809,    858913807,   -610818620,   
1554973298,    580023809,  -1662988256,   -408630026,   1316681876,    
738204271,    942829881,   -758486983,    780345857,    667165037,  
-2086803585,    789741324
+        };
+
+        for (int i = 0; i < refInt.length; ++i) {
+            Assert.assertEquals(refInt[i], rng.nextInt());
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/6ddf4769/src/test/java/org/apache/commons/math4/rng/internal/source32/Well19937cTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/rng/internal/source32/Well19937cTest.java
 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/Well19937cTest.java
new file mode 100644
index 0000000..ebbf617
--- /dev/null
+++ 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/Well19937cTest.java
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.math4.rng.internal.source32;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class Well19937cTest {
+    @Test
+    public void testReferenceCode() {
+        final int[] base = {
+            740849862,  1202665156,  -199039369,  -259008301,  -291878969, 
-1164428990, -1565918811,   491009864,
+            -1883086670,  1383450241,  1244617256,   689006653, -1576746370, 
-1307940314,  1421489086,  1742094000,
+            -595495729,  1047766204,  1875773301, -1637793284,  1379017098,   
262792705,   191880010,  -251000180,
+            -1753047622,  -972355720,    90626881,  1644693418,  1503365577,   
439653419,  1806361562,  1268823869
+        };
+        final int[] init = new int[624];
+        for (int i = 0; i < init.length; ++i) {
+            init[i] = base[i % base.length] + i;
+        }
+
+        final Well19937c rng = new Well19937c(init);
+
+        final int[] refInt = {
+            2128528153,    327121884,    935445371,    -83026433,  
-1041143083,   2084595880,  -1073535198,  -1678863790,   -523636021,  
-1514837782,   -736786810,   1527711112,  -1051227939,    978703380,    
410322163,   1727815703,
+            -648426354,    636056441,   1954420292,     17754810,   
-958628705,  -1091307602,   1793078738,  -1680336346,   1792171272,    
941973796,  -2066152330,  -1248758068,  -1061211586,    262020189,   
1276960217,   -233886784,
+            1767509252,  -1811939255,   -406116097,   -742435920,  
-1349799525,    240329556,   -332161345,   1488943143,   -332244280,   
2093328957,    674753300,  -1930135556,    257111467,     63793650,  
-1964335223,   1315849133,
+            -797349146,   1372022250,  -1451892049,  -1325138957,   
-870401239,  -1294317369,     91490879,    386205044,   -704074702,  
-1230679067,   1513674392,   -262996240,   1196007314,   1398903796,    
803719762,  -1750926831,
+            -1268814180,   1233515404,   1498313934,   -970591257,    
611113671,   -261632474,   1834097325,   1709440492,   -150396854,   
2120561003,    -62645660,    479080234,   1535125050,   1823378695,  
-1129289329,  -1095198399,
+            2092564733,     78836308,   -692015409,   1647147229,  
-1847922219,   1838279320,   -848333841,  -1375151778,    920238861,   
1512628290,   -749439404,    288851918,   -427218675,    679640964,    
425700808,  -2077624511,
+            -1929434455,   -647176419,    650437190,  -1926749131,  
-1564744729,    734494454,    108193743,    246246679,    810042628,   
1952337771,   1089253730,  -1874275331,   1428419392,   -492969232,   
1945270770,   -201265602,
+            -755490251,   -624426214,   -699605715,   -113446478,    
809091299,  -1521531511,   1136505389,   -523660964,    132928433,   
1926559713,  -1485314325,   -508322506,     46307756,  -1627479740,   
-589386406,  -1855555892,
+            584299545,   1272841066,   -597242658,    925134545,   1102566453, 
  -753335037,     -9523218,  -1778632375,    568963646,    764338254,   
1259944540,  -2000124642,   1307414525,   -151384482,    807294400,   
1993749511,
+            -15503094,   -709471492,   2104830082,   1387684315,  -1929056119, 
   224254668,   -733550950,   -889466978,  -1987783335,   -437144026,    
995905753,  -1021386158,  -1096313388,  -1014152835,  -1303258241,   1201884788,
+            -1845042397,   1421462511,    980805867,   2143771251,    
481226968,   1790544569,    328448328,   1995857639,    -66668269,  
-1411421267,   -222586606,    866950765,   -308713926,  -1048350893,    
993222402,  -1139265642,
+            -871837948,   1145571913,    381928580,     35386691,   
1640961123,  -1192981020,    775971009,    594246635,   1603197812,   
-575106766,   2023682000,  -1636301903,   -718093720,  -1666421635,  
-2146115988,    320593570,
+            287355418,    454400027,   1112753817,   1751196267,    782077910, 
 -1478447368,  -1007557264,   -862315517,  -2035355952,   2123515250,   
-557641502,  -1789932035,    879640129,     44167603,    791148984,   
1382939723,
+            -2135684233,   1825489580,    937345485,  -1839983359,  
-1536880111,  -1472578359,   1548052748,  -1471535862,    -14508727,   
1509621398,  -2134967452,   -787485401,    815341660,   -327905128,   
1028096737,    866906991,
+            -1585990806,    859229080,    234806270,    998518056,  
-1897890815,   -900923587,   1179856752,   1529572451,    620486106,   
1119836556,   1661285564,   2097404633,  -1437490790,    265306115,   
-984880135,   1326751968,
+            1280043536,    680210701,    155786166,   1550973250,   
-325781949,   -597789777,     -1939780,   1345275487,   1930450001,    
941449704,    669301309,    693651713,   -990721514,    582968326,    
976132553,  -1892942099,
+            -1065070157,   -711990993,   -688974833,  -1026091683,   
1115346827,  -1305730749,  -1733626381,   -364566696,    -21761572,    
-37152746,   -262011730,   1302722752,  -1806313409,   -767072509,    
764112137,   1671157377,
+            1837645038,  -1021606421,  -1781898911,   -232127459,   
-310742675,  -1818095744,  -1128320656,   -705565953,   -354445532,   
-523172807,   -433877202,    131904485,    -64292316,    381829280,    
229820263,   1797992622,
+            1359665678,    978481451,   -885267130,  -1415988446,   
-356533788,   -961419072,   1938703090,    708344111,    679299953,    
744615129,   1328811158,   1257588574,    569216282,   -753296151,  
-1519838713,   2016884452,
+            1062684606,   1561736790,   2028643511,  -1353001615,    
886376832,   1466953172,   1664783899,   1290079981,    -57483993,  
-1176112430,   1634916316,   1976304475,   1374136869,   -648738039,   
1058175869,   -909000745,
+            -1526439218,    726626991,   2066596202,     64980943,    
-26166577,   -885900005,  -1821546816,  -1103727665,    730606315,  
-1324948459,   -696956940,  -1300869403,   1171578314,    797249074,  
-1600611618,   1928247682,
+            307164165,  -1482476232,  -1886179640,   1306433392,   1945271359, 
 -1272113751,  -1285984081,  -2057145549,    795047465,   1262569087,  
-1239828121,   1426641636,   -786371495,   2120199316,   1273690652,     
74457589,
+            -1033394229,    338952565,     46122958,   1225741533,   
2115308090,    678200841,  -1618264885,   -101162569,  -1628976330,  
-1232839500,    468709044,   1876019116,     92723122,    233398255,   
-554960844,     38494196,
+            -406437278,   2083528643,  -1106878615,   -340722557,  
-2123964932,    223183343,    108918116,  -1014629054,   -901344544,   
-838896840,  -1908460517,  -1763508731,   -926890833,   1703791049,   
-667755577,   1694418389,
+            791641263,   1095689677,   1119202039,  -1419111438,  -2012259010, 
   188017439,  -1775110395,  -1971099661,  -1688113734,    131472813,   
-776304959,   1511388884,   2080864872,  -1733824651,   1992147495,   
1119828320,
+            1065336924,  -1357606762,    462963503,   1180719494,   
-202678962,   -892646595,    605869323,   1144255663,    878462678,  
-1051371303,    872374876,    631322271,   -172600544,  -1552071375,  
-1939570033,    151973117,
+            1640861022,    310682640,     34192866,   2057773671,  
-2004476027,  -1879238973,    582736114,    900581664,   -427390545,  
-1232348528,   -535115984,   1321853054,     69386780,  -1729375922,   
1418473715,   1022091451,
+            496799289,    -80757405,  -1903543310,  -1128846846,      1703964, 
  1984450945,    856753858,   -812919184,    775486323,  -1376056193,    
638628840,    314243536,   1030626207,    644050997,     73923896,    362270613,
+            236584904,   1463240891,   -223614432,    435371594,   -751940030, 
  -124274553,  -1991092884,   1579624267,   1249632649,    157589625,   
-345229739,   -366245207,  -1399995986,   1651729983,   1965074340,  
-1108970305,
+            1163690769,   1732013523,  -1461252895,    669755552,   
-476503675,   -264578685,    -32813949,    288222188,    -25734262,    
106040916,   1654395626,   -365148479,   2014455846,  -2040447994,   
1351639280,   -919975757,
+            -1970412139,    -47306532,    222377665,   -363434917,  
-1091717516,   2090685531,  -1221091649,  -1729649190,  -1239406708,   
1064945398,   -105437479,   -419675255,     74701669,    -12862899,   
-498269844,   1566898997,
+            -1872838355,   1596887574,    485902962,    469225597,   
-881763553,   1307841032,  -1642872487,   1388543045,    379792876,   
1095683384,    840780732,   1934378038,   1851278350,  -1359389423,    
130868458,   -313448799,
+            -663624816,   1031714153,   -608443411,   -205137499,  
-1849464427,   1973593637,   1068741808,  -1420655961,   1188762305,    
954044841,   -995454462,  -1818101092,  -1937201943,   -324541290,  
-1520603933,    572873173,
+            -554764496,   1051557081,  -1245136076,   -985349536,    
329320398,   1787901464,    -37803304,  -1759310177,  -1463492617,  
-1861729663,   1251768782,    256937091,   -779036948,  -2049893864,   
1256022877,   1228075657,
+            -1550195255,   -611319853,   1190797155,   2047604112,   
-576077160,  -1532843331,  -1324899394,   -159729560,   -622525946,  
-1080302767,   -236033484,   1895243903,   -410123689,  -1944154157,   
-681781021,   1208453003,
+            579595878,   1303914051,   -145607082,   -131567277,  -1917288455, 
   894217359,   -175688726,  -1585480723,    663691440,  -1140068263,   
-641711178,   1596080008,    629197693,    976422358,  -1570451095,    
525923776,
+            895046136,   -504151767,   1602553020,  -1233054923,  -1798474837, 
 -1488857895,   1055782627,    261863143,   1879276655,    488240679,   
1910982611,  -1919441259,    370435945,   1265230086,  -1293284428,  
-1503576227,
+            2076963035,  -1379628250,   1157098875,   1984461153,  
-1947837397,   1705880124,   1453607404,  -1233649748,   1479943773,   
-863878721,   -862415630,   -736723275,    940306358,  -1596000684,  
-1174889953,   -615723892,
+            -885006597,  -1796723178,   1844159055,   -188942309,   
2107251811,  -1675486996,  -1009475178,   -859263556,   -431866963,     
-9593673,  -1878920923,   -104853791,  -1535224994,    -69315537,    586690130, 
 -1292234796,
+            1378749456,   -301873019,   -319297563,   1677205851,    
292450579,  -1289441171,   1788113680,   1907606333,   1464711611,  
-1372023606,  -1978832445,  -1772259768,   1949124464,   1818322887,  
-1138036603,   1249727628,
+            -1474866449,  -1868013169,  -1384567593,    717007936,    
954189997,  -1900561040,    738470389,   -158973180,   1732860784,   
1936031206,  -1133354740,  -1173166665,   1432976712,    852636081,   
1732064691,  -1831788120,
+            1273933579,    455403217,   1988395890,    106493468,    
506092152,   -610530423,   1698053512,   1311747476,   1969503012,  
-1887461759,   1613543073,    903200334,   -737865837,    325656800,  
-1234001200,   1492148864,
+            2009861533,   -368262605,   1091338541,   2076108119,   
-961392337,   1835877112,    316250307,   -853333391,  -2125443777,    
815363504,   -798707803,   -158146540,    690786114,   -530775684,   
1203556940,   1611485582,
+            -1661412270,    -53184506,   2126287444,   -232222229,   
1559486057,    283532250,   1202760418,    932144172,   1082594656,   
-570104011,    413509167,   -995027177,   -996477516,      -540544,   
-745537167,   -712135469,
+            -996294983,   -592787198,   1889840948,   1314628747,   
-394266926,   -682316577,    456447239,   1728806063,   -396279614,    
-43387643,   1915717013,   -861574144,  -1078710588,   -561401249,   
1111464540,     63643984,
+            -1693870413,   -968369980,  -1053148188,    708799038,   
1883537988,    373371671,   -156410415,  -1596483236,  -1846890431,    
888692915,  -1025632583,  -1666477591,   -343066267,  -2059058792,    
641501628,  -1744347292,
+            1648632991,   1743540146,   2020952406,    164014499,    
990508262,   1706408228,  -1236471842,   -347116260,   1843634523,    
827255665,    300519853,  -1265974830,   -547247177,   -583064554,  
-1995437077,    689210107,
+            -93151393,    835365056,   1706367315,  -1605902756,    200954895, 
   431093688,   -277573364,   -928486713,   -552221973,    145432789,   
1128919795,   1675095586,   1930359882,   1215849501,  -1447770583,    
657776490,
+            1885869860,  -1629237204,   -868897479,  -1258169760,   
1828140195,   -883850439,    463933909,   -347361158,   1478116648,    
801176896,  -1501915899,   1017335748,  -1654508882,    123994786,   
1588785290,    791166651,
+            -1523108535,    340411166,   -496474762,  -1189711141,     
-7392628,   2045171250,  -1245366209,    834787230,  -1346883181,   2034209454, 
   737043362,    898803323,   1983089087,  -1845404320,      9585188,  
-1180608323,
+            1665100606,   1949474222,   -211115008,   1151308295,  
-2132174259,    913126312,  -2085061672,   1419864120,  -1134542954,    
-53833957,   -246913211,    468382370,  -1759479323,   1136686211,   
1307012488,  -2036299559,
+            -1346099736,    314743106,  -1683101865,   -947151948,   
-234529696,  -2103334293,   -279256894,     -1484257,  -1053953017,   
1801205399,    941594454,   -874119215,   -672865187,    762284205,  
-1494975451,    486607927,
+            -898264389,  -1711861093,   -212572760,   2106484281,  
-1610786470,   1352525590,   -837779586,   1568282001,   -593019125,  
-1146260782,  -1595879979,   -640781858,   1107692311,   1547132709,  
-1928385535,  -2057772805,
+            634887038,    329772618,    942136006,   -864405576,    501883884, 
  1537141484,  -1180626836,   1123055420,   1090885851,    421662750,   
2033111605,   1710917425,  -1118058244,     74321279,    257328195,  
-1199940697,
+            208625996,   -442341447,    808119183,   1166827075,   1177417517, 
 -1856155370,  -1464837036,    -60624923,  -1306220638,    -91104698,  
-1434621430,    548899241,     37351476,   1478278431,  -1255061434,    
248470035,
+            -104642597,  -1865169521,   1418373655,  -1660810523,  
-2129015436,    154612798,    276575732,   1930338442,    179503250,   
-929294855,    -39452027,  -1377657544,   1442322193,   1137511318,   
-432158653,   -984801987,
+            743099148,  -1118893528,   -904123623,  -1273146363,  -1884800406, 
  -803169061,   1254123158,   -484252077,    317646844,    404246525,  
-1230293916,   1121445742,    -19657507,    652967153,  -1055406692,   
-468950719,
+            -1493532921,  -1447624258,  -1369679689,  -1517000228,   
-145853307,   1518006526,   1591195514,  -1475557146,   -909722097,   
2103182976,   -406830579,  -2124025254,  -1804819507,  -1357512858,    
567321869,    409048156,
+            567805180,   1749009386,   1762759722,  -1770324077,   1271140844, 
   468219092,    955792405,   1911965665,   1876314424,   -718200715,  
-1278883927,   1392281730,   -120519585,    851473793,    245054754,    
-33369039,
+            -284877584,   -479534880,   -212346563,   -122017521,  
-1461429983,   1331007370,   1788621721,   1739036536,   1446350953,  
-1985448033,    685528610,  -1386434659,   1368233993,   2021786790,   
1596478397,  -1716635278,
+            -2011083017,    171876097,   -311529197,    687812052,    
377000657,  -1055547517,  -1499047842,  -1818434951,   -120863666,     
33888043,  -1387509273,   -541540700,   1162597745,  -1331415338,   1931708792, 
  -850270000,
+            663845594,   1536495943,   -322924971,  -1380272203,    261190298, 
  -204874428,  -2104974031,    883819928,    155808204,  -1454446035,   
1323388464,  -1696505728,   1549800285,   1018150463,  -1327715703,  
-1582480640,
+            1013659809,  -1820360082,   1666498787,   1406120540,   
-196541482,   1248470531,  -1250433281,    836375878,    177646854,  
-1927020253,   2145878321,    689712096,   -596605921,    348283199,   
1916993096,    481356808,
+            -339687826,   1219340319,    718895887,  -2007521340,  
-1859185806,   2042164737,    -58146784,    742449142,   1930754708,    
780832111,    715056441,  -1393886151,     -8150527,   -599607443,   
-537300865,  -1212516084
+        };
+
+        for (int i = 0; i < refInt.length; ++i) {
+            Assert.assertEquals(refInt[i], rng.nextInt());
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/commons-math/blob/6ddf4769/src/test/java/org/apache/commons/math4/rng/internal/source32/Well44497aTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/math4/rng/internal/source32/Well44497aTest.java
 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/Well44497aTest.java
new file mode 100644
index 0000000..fa86f0b
--- /dev/null
+++ 
b/src/test/java/org/apache/commons/math4/rng/internal/source32/Well44497aTest.java
@@ -0,0 +1,109 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.math4.rng.internal.source32;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class Well44497aTest {
+    @Test
+    public void testReferenceCode() {
+        final int[] base = {
+            740849862,  1202665156,  -199039369,  -259008301,  -291878969, 
-1164428990, -1565918811,   491009864,
+            -1883086670,  1383450241,  1244617256,   689006653, -1576746370, 
-1307940314,  1421489086,  1742094000,
+            -595495729,  1047766204,  1875773301, -1637793284,  1379017098,   
262792705,   191880010,  -251000180,
+            -1753047622,  -972355720,    90626881,  1644693418,  1503365577,   
439653419,  1806361562,  1268823869
+        };
+        final int[] init = new int[1391];
+        for (int i = 0; i < init.length; ++i) {
+            init[i] = base[i % base.length] + i;
+        }
+
+        final Well44497a rng = new Well44497a(init);
+
+        final int[] refInt = {
+            -1464956854,  -1524360321,    986845646,   -182050548,   
-818943186,  -1744848370,   1392434650,   -182648505,  -2026593838,   
1254866610,   -410459761,  -1392048371,   -968730026,   1485793687,   
-728749746,   -112685463,
+            275126404,  -1101838984,   1193096287,    443511615,   -510869213, 
   549869992,   1974458428,  -1217587840,   -335835016,  -2048974745,   
1066947099,   -611611187,   1978925459,    688164478,   -463344808,     
56995910,
+            699288809,    606392470,    117418673,   1948706703,   -485598135, 
   385841705,   1725261146,   -919553921,     70643668,   2128611684,   
1720197347,    738706713,   1162026860,   -611442152,   1469145601,   
2051653750,
+            609067755,  -1971782890,   -971114565,    776260144,   1619791127, 
 -1547233838,   1502505722,    913168193,   1761269649,     81782996,     
62251540,   1519079156,   1239007000,    489633356,   -800433470,  -2107278046,
+            495320431,    269446836,  -2013306553,   1074614697,   1645125348, 
   584369930,   -405429577,   1211134012,  -2060113546,     -2047824,   
-443978800,    271218497,  -1002185964,   1519315874,   -695096464,    
-79101601,
+            -1521653608,    192426133,   1159511202,  -1354494985,   
-477280535,    583522228,   -661741458,  -1251175621,   -369487281,  
-2015449518,  -2102058930,   -645264919,   -925270025,  -1674575999,   
1363844609,   -831732660,
+            -1668989157,  -1861246633,     83763283,  -1056074975,   
-519054258,  -1546386261,   1691674654,   -885968657,  -1189571815,   
2095154843,   1686743191,  -1859471265,   -261593938,   1721982136,   
-491120252,   -949699153,
+            642525852,  -2005306625,  -1004765905,    742736856,   1653443876, 
   788423835,   1536155740,    879514143,  -1510757104,    115238646,     
28600662,   1485490803,   1272460710,    523153480,   -766782926,   1332478031,
+            528775440,    302965264,  -2046891123,   1108139271,   1611601128, 
   550846467,   -439082190,   1244786747,    941120547,    -35568474,   
1756370964,    304870369,   1902684028,   -408710726,   1673189520,   
1180987663,
+            -1488131864,    158973303,    154514890,  -1387953397,   
1453732833,  -1342263302,   -628153633,      4710424,    619931109,    
721411332,  -2135645486,   1688696681,   -891749588,  -1641122924,   
1397432310,   -865254619,
+            -1635468227,  -1827787970,  -1311416657,  -1022618057,   
1411688086,  -1579840139,   -637954674,   2115653281,  -1155985079,  
-1043532593,   -374286955,  -1825883832,   -227940643,   1688394137,   
-524577925,   -983222470,
+            -1955769926,    626525757,  -2009760930,  -1855453635,   
-676923169,    754966926,   -291202391,  -2126042921,  -1477304277,  
-1409345382,  -1264640578,   -441993991,    -17611930,  -1576809974,   
2137694350,   1299022733,
+            -762509116,  -1087399293,    819303572,    -14571174,   
-719035481,  -1644675278,   1492736905,    -15038081,    974773023,   
1087127339,   1790024863,  -1493135734,   1936273291,   -442361741,   
1639666948,   1147532756,
+            174955156,  -1537685747,    187972574,    275303083,   1420277149, 
 -1375787574,   1873043153,     38164241,    653451946,    687758113,    
899667071,   1722219976,   2146668333,    587401069,    -26582672,   2034645447,
+            1401801794,   1043291001,  -1277898614,   2116116828,   
1445274301,    150534325,    469242183,   -937704471,    171074779,   
-204638071,   1269913689,   -771734064,    -12280461,  -1182158859,   
1704390140,   -263303749,
+            -848503723,  -1822849148,   -634064465,   1130988864,  
-1515750310,   -908815400,   1487214333,    994482967,    853103628,   
1711185413,   1520342001,   1067859186,   1693632130,   -603831333,    
292236742,   -800655385,
+            -1467184928,    221125007,  -1697377800,   1293953144,   
1730537111,   1073329737,    519625212,    689636032,   1127394154,  
-1496469136,  -1214585810,    822152197,  -1572579275,   -527866383,   
-996792678,  -2058452887,
+            -1133767559,    576275042,   1579109209,   -295089371,   
1502267384,   -724281876,   -911879875,   1131096177,    333026744,   
1238706603,   1067340063,   -745697708,   -973992204,   1560446744,   
-664017057,   -616056490,
+            1099714049,    674159948,    383625825,   1411443110,   
1862818263,  -1896254899,   1322476914,   -719144734,  -1540101945,    
988154902,    781856577,   2013381051,  -2059071359,   -142073207,     
60252832,   2052050421,
+            -666391497,    376633738,   1663011481,  -1706886481,  
-1870003191,   1003819645,    898131216,    778824906,   -656875645,  
-1730811011,  -1751653787,   2056079904,    231977636,   1831419220,   
-465545074,  -1505266471,
+            1034419975,   -133864043,   1876779821,   1879792902,   
-100100435,   -959264741,   -472668436,    203584096,    -46980157,  
-1478047098,   -979669209,    809008494,   1279644171,   2055793632,   
1385672419,  -1756428826,
+            -1790481031,  -2089665073,  -1608595011,    457322987,   
1267418945,    -19541848,   -796352273,  -1049973752,     30940894,   
-539710199,  -1097391703,   -779353550,  -1328320498,   -735447662,   
-918513196,   1516945649,
+            1218919237,   -251287485,   1826366637,    353082340,    
889839220,    399638904,  -1462573609,   -618450466,   1429903706,   
2095548034,   1486594475,  -1053248922,     74346322,   -357998703,   
1790710495,   -146359619,
+            1581657509,   -797737661,   -920778913,    608399665,    
646679359,   1861775150,  -1014371223,    476735306,  -1577737028,    
383018939,   1234592859,    344770283,   -472763155,    187217985,   
1245828866,   1936329359,
+            61243025,  -1979390025,    903671173,    302699505,  -1677126111,  
-1194113496,    835857595,    706998946,     70931462,   1374113464,  
-1464459699,   -231081598,   1366205112,    396990527,  -1615015619,   
-968458597,
+            457632575,     24361353,  -1120685182,   2101590608,   1654666456, 
 -1208442054,    579414359,   1078056578,    217408674,  -1560683025,    
815178420,   1219326466,    450032327,    774403237,     54597342,   -664057229,
+            447132403,     50603973,    435640301,  -1224073863,  -1339908037, 
  1775470944,  -1378119263,  -1375189988,  -1287971162,     29816317,  
-1313418882,  -1824967031,    443540716,     11064217,  -1463969487,   
1967601549,
+            124474667,   1230898256,  -1741455555,    561643750,    933295231, 
  -923145874,    245538199,    289478386,    200552280,   -268887021,  
-1598221376,   1236123270,    318325803,    773964550,    191670680,    
158043961,
+            -762639146,   -416703928,   -721969492,   1664330785,   
-584949010,   1509045840,  -2066001147,   1728613092,  -1103375821,  
-1262079070,  -2034789427,   -418216342,   -546365126,   1235751589,   
1639799329,   2085089663,
+            -697590049,  -2007054256,   -147701903,    209371702,  
-1868450893,   1241065116,   1537364837,  -1035970557,    318040217,    
150492098,   1841159805,   -491979749,  -1275490577,  -1759443566,   
-697538216,  -1589624976,
+            -678703557,   -189067001,   1539472677,  -1396089831,    
271512148,    180483983,    483714313,    703861378,   2122114992,   
-600097045,    522009268,    160429181,   -744428886,   1541223403,  
-1211039718,  -1167643980,
+            1551471162,   -816207368,  -1429258613,   1350901561,   
1934120609,   -961643277,   -214772286,  -2128270227,  -1561239720,   
1493926966,   1376671007,     94966082,    221846150,   -164351411,    
-51309876,    497148497,
+            1233668542,    266257753,   -773473851,    953946385,    
420815294,  -1390653175,   1834391782,      4704447,   -891751440,   
-744104272,  -1082756642,   1431640408,  -1912055536,   -159789461,   
-704946016,   1956368139,
+            642279822,   -374415338,   1562655802,   -272964020,   1071498305, 
   667364168,  -1546405154,    341389690,   1360662999,    377696332,   
-437020076,  -1668574556,   1242655350,   -756555890,    645954261,   
1914624235,
+            2134904445,   -247737098,    143667521,    -17668806,   
1804148531,    414247300,   1030053929,  -1595215075,    887532426,    
553113691,   1173830167,   -303724353,   -280418143,  -1143962122,  
-1898518451,     36464746,
+            1189572700,  -1549967582,   1093341440,   -452303819,   
-731023001,   1111173883,   1678013973,   -836458212,   -842956392,    
212774049,   -845621791,    966282353,   -823130040,    700410571,    
619075141,   -304785045,
+            -1816233676,  -1789653997,   -166914694,    690663021,   
-669570330,   1098624444,   -987380984,    452844935,  -1089825546,   
1221160503,   1217375341,    512281644,  -1106887134,   1665404458,  
-1462594714,   -207498587,
+            -789271490,   -723469709,    512055365,   1445951882,   
1692473633,   -996873493,   1445046730,    993087194,  -1666188562,   
-897427329,   1008869698,   1236029718,   1499207233,   1704947182,  
-1815799281,    686399988,
+            -475436580,   1588892458,    884859588,   -471913926,   
-487416631,   1323960741,  -1257612174,   -468909314,  -1866654496,  
-1417895838,   1707647971,    997140465,  -1358794225,   1929422460,   
-605622778,  -1587468566,
+            469149623,   1121515927,    748484204,   1201983830,  -1906623591, 
    76398473,    261109068,   -796025669,  -1964466661,   1739898262,   
-756850622,   1581369453,   1484675811,    484136467,   -705983890,  
-1357931714,
+            548520423,    741992908,   1017931838,  -2078503520,   2097871343, 
   569233897,    -91903627,   1864053450,   -876129714,    336670307,  
-1950420274,   -872316480,   -662220291,    275724295,    703565412,   
1334248646,
+            -217559198,   1044090753,    743502488,  -1518545318,     
20614180,   -768582053,    976522354,    -25129962,   -983639284,     71722595, 
  -119236393,    368844119,   -795808244,    696073964,   1379765302,    
235083623,
+            666280330,  -1313689346,   -643870520,    534522699,   -250414377, 
 -1239276164,    159264592,  -1119503518,   1168161619,  -1366518946,  
-1335653301,    248092140,   1390152547,   2051602724,  -1023547981,  
-1479782621,
+            -1785785862,   1609789158,   -919124123,   1703200068,   
-852553456,   1573706142,   -376011685,    305068766,  -1231775451,  
-1536883494,   -125122369,   -896696968,    852651567,   -458154391,    
747781704,   1173040469,
+            -1569200836,    312506093,  -1680530410,    117086271,    
794587661,  -1231003908,  -1048955503,   2119305423,   1636729108,   
-522378372,   1627421730,    545077470,  -1683264872,   1486496559,  
-1793064672,   1908368749,
+            -1226052295,   1399248776,   -588193954,  -1289386125,    
534647065,   2126245059,   -238362987,  -1244573058,  -1571832269,  
-2052693379,   1494767731,   -528668449,   -980826491,   -151282847,  
-1468523556,   1876349941,
+            -301654558,   1467960576,   -741720848,   -612158589,     
92376910,    987915105,   1037689578,    793773489,  -1387669541,    349490139, 
   564784004,  -1161242130,    619703053,   2063233129,    190888106,     
81845991,
+            -1482466066,    283234313,    114355492,  -1879406787,  
-1283370924,  -1378903370,   -730141747,   1570738286,   -281348873,   
2131743196,    795654462,   -497365688,    437612465,   1928618254,   
1433118279,  -1801292119,
+            -2059248836,   -221673230,    163637697,   -411319468,    
244353317,    786753178,    489172932,    464627154,   1258915212,   
-229028334,   -994675463,   1931657329,   1784181437,    -97111947,   
1728952452,  -1329133577,
+            -1606156362,   1341196121,   1679632329,   -796545286,  
-1021125869,   1427825468,   -214986389,    250791528,   1029777000,     
90661677,    602529506,   2068040879,   1483801763,      2332097,   -457467017, 
   672399614,
+            1542769193,   1781253216,  -1967165705,  -2052227925,  
-1248173215,  -1676554121,    292413596,    209649573,   1750689340,   
1946874730,   -832845570,   1774178655,   -450175610,   -431901779,    
613330756,   1969434259,
+            1251099237,  -1320908513,    -50659188,    273178515,   
-296290724,   1195998469,   1329813722,    759419114,   1003396150,   
-274557619,   -548886303,  -2055397788,   -766678640,   -464045978,  
-1835907569,   -169406709,
+            820751456,   1778613303,  -1582073956,  -1728391771,  -2075389498, 
 -1606584632,  -1702107251,    -15724560,     45610235,  -1967510298,   
-671487775,  -1841110041,   -913365944,    869680052,   -798103472,  
-1564096927,
+            -918899909,   -810066882,    428829752,  -1413487973,   
-844240890,   1343914280,   -689285374,   1827745702,   -799686631,   
1696465705,   -726159000,  -1381157526,   1649221296,   1791106481,  
-1872852642,   -485685063,
+            1534949133,  -1611901907,   -581776031,    242740701,   
-382394666,    668419384,    388297992,    748818886,    713804061,  
-1783774172,  -1823401590,  -1009098384,   2071462929,   1154475522,   
1309810666,  -1734475040,
+            1212095416,    988288210,  -1457428115,   1699730041,  
-1804729443,  -1922824494,   1000076038,   -226555981,    131425181,  
-1071582828,    357680377,   1574190179,    996651958,    965704429,    
-47651768,    243931978,
+            808955117,   -652323633,    544967309,  -1199510217,    702795379, 
   997685748,   1593927308,   2119371055,   1451401230,    -41992913,   
2033816081,  -1030495962,   1764010175,    457470691,  -2001190141,   
-373358035,
+            -1950331268,  -1291674220,    642934467,  -1825725718,  
-1555687487,   1664472129,    -24722338,   1899539596,     78519318,   
1662555805,   1744711308,  -2142888582,  -1597853572,    118030659,   
1596713428,    404304267,
+            -1350880388,    648702031,   1185458591,   1798138033,    
819516445,  -1466759682,   -751277607,   -879817426,  -1931050435,   
1465603177,  -1402344216,    768491239,  -1404853657,  -1915685264,  
-1845859847,    313163207,
+            1239598382,   1988767047,   -555152530,  -1925665864,   
-182399255,  -1392390808,     64861291,   -511875035,   1879964459,    
918905020,   -840773616,    459610189,  -1522352470,  -1821396360,    
977274705,    -60616465,
+            -1846727880,   1208592937,   -515359427,   1127607806,   
-395032287,    491869604,   2053794084,    568321750,   1597027438,   
1355613070,  -2069482724,   1899252555,    844726247,   -625112193,   
1146099491,  -1037855139,
+            1203928737,   1875686061,    994108281,   1471873396,   
2026801570,      4941446,  -1066074241,   -983738686,   2037429697,   
-836521112,   -633388883,   1221918725,   2137035208,   -369891832,    
372509548,   -110916409,
+            80517712,   -658056946,    727893428,  -1353651002,   -475459562,  
 -291323023,   1059377566,    591801919,   1018232602,   -348255729,   
1863827426,    246032476,  -1026132864,  -1356383176,  -1224690998,    
262442981,
+            1257773681,  -1738604660,     77131430,  -1320261233,     
-2342727,  -1817187590,  -1883997191,   1367221809,  -1863623746,  -1132606249, 
   149024763,  -1228275128,   -578030399,    356914163,   2109691820,   
-880313621
+        };
+
+        for (int i = 0; i < refInt.length; ++i) {
+            Assert.assertEquals(refInt[i], rng.nextInt());
+        }
+    }
+}

Reply via email to