http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/35/35bc91c5ef353d43249f1efa5fd6bfb7ae16f939.svn-base
----------------------------------------------------------------------
diff --git 
a/commons-rng-core/site-content/.svn/pristine/35/35bc91c5ef353d43249f1efa5fd6bfb7ae16f939.svn-base
 
b/commons-rng-core/site-content/.svn/pristine/35/35bc91c5ef353d43249f1efa5fd6bfb7ae16f939.svn-base
new file mode 100644
index 0000000..c3b17bb
--- /dev/null
+++ 
b/commons-rng-core/site-content/.svn/pristine/35/35bc91c5ef353d43249f1efa5fd6bfb7ae16f939.svn-base
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml"; lang="en"><head><meta 
http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link 
rel="stylesheet" href="../.resources/report.css" type="text/css"/><link 
rel="shortcut icon" href="../.resources/report.gif" 
type="image/gif"/><title>org.apache.commons.rng</title><script 
type="text/javascript" src="../.resources/sort.js"></script></head><body 
onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" 
id="breadcrumb"><span class="info"><a href="index.source.html" 
class="el_source">Source Files</a><a href="../.sessions.html" 
class="el_session">Sessions</a></span><a href="../index.html" 
class="el_report">Apache Commons Rng</a> &gt; <span 
class="el_package">org.apache.commons.rng</span></div><h1>org.apache.commons.rng</h1><table
 class="coverage" cellspacing="0" id="coveragetabl
 e"><thead><tr><td class="sortable" id="a" 
onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" 
onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" 
id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" 
onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" 
onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" 
onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" 
onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" 
onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" 
onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" 
onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" 
onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" 
onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" 
onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td
 cl
 ass="bar">15 of 270</td><td class="ctr2">94%</td><td class="bar">0 of 
4</td><td class="ctr2">100%</td><td class="ctr1">3</td><td 
class="ctr2">18</td><td class="ctr1">1</td><td class="ctr2">39</td><td 
class="ctr1">3</td><td class="ctr2">16</td><td class="ctr1">0</td><td 
class="ctr2">2</td></tr></tfoot><tbody><tr><td id="a0"><a 
href="RandomSource.html" class="el_class">RandomSource</a></td><td class="bar" 
id="b0"><img src="../.resources/redbar.gif" width="7" height="10" title="15" 
alt="15"/><img src="../.resources/greenbar.gif" width="112" height="10" 
title="239" alt="239"/></td><td class="ctr2" id="c1">94%</td><td class="bar" 
id="d0"><img src="../.resources/greenbar.gif" width="120" height="10" title="4" 
alt="4"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" 
id="f0">3</td><td class="ctr2" id="g0">16</td><td class="ctr1" 
id="h0">1</td><td class="ctr2" id="i0">35</td><td class="ctr1" 
id="j0">3</td><td class="ctr2" id="k0">14</td><td class="ctr1" 
id="l0">0</td><td class="ctr2"
  id="m0">1</td></tr><tr><td id="a1"><a href="RandomSource$State.html" 
class="el_class">RandomSource.State</a></td><td class="bar" id="b1"><img 
src="../.resources/greenbar.gif" width="7" height="10" title="16" 
alt="16"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td 
class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" 
id="g1">2</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">4</td><td 
class="ctr1" id="j1">0</td><td class="ctr2" id="k1">2</td><td class="ctr1" 
id="l1">0</td><td class="ctr2" id="m1">1</td></tr></tbody></table><div 
class="footer"><span class="right">Created with <a 
href="http://www.eclemma.org/jacoco";>JaCoCo</a> 
0.7.5.201505241946</span></div></body></html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/36/3615a9186a2c4f34a2ba54524c16cfbc708027c3.svn-base
----------------------------------------------------------------------
diff --git 
a/commons-rng-core/site-content/.svn/pristine/36/3615a9186a2c4f34a2ba54524c16cfbc708027c3.svn-base
 
b/commons-rng-core/site-content/.svn/pristine/36/3615a9186a2c4f34a2ba54524c16cfbc708027c3.svn-base
new file mode 100644
index 0000000..2e383aa
--- /dev/null
+++ 
b/commons-rng-core/site-content/.svn/pristine/36/3615a9186a2c4f34a2ba54524c16cfbc708027c3.svn-base
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.commons.rng.internal.util.LongArray2Long 
(Apache Commons Rng 1.0-SNAPSHOT API)</title>
+<link rel="stylesheet" type="text/css" 
href="../../../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class 
org.apache.commons.rng.internal.util.LongArray2Long (Apache Commons Rng 
1.0-SNAPSHOT API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation 
links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a 
href="../../../../../../../org/apache/commons/rng/internal/util/LongArray2Long.html"
 title="class in org.apache.commons.rng.internal.util">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage"><script type="text/javascript" 
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";></script></div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../../../index.html?org/apache/commons/rng/internal/util/class-use/LongArray2Long.html"
 target="_top">Frames</a></li>
+<li><a href="LongArray2Long.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a 
href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<div class="header">
+<h2 title="Uses of Class org.apache.commons.rng.internal.util.LongArray2Long" 
class="title">Uses of 
Class<br>org.apache.commons.rng.internal.util.LongArray2Long</h2>
+</div>
+<div class="classUseContainer">No usage of 
org.apache.commons.rng.internal.util.LongArray2Long</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation 
links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../../../overview-summary.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a 
href="../../../../../../../org/apache/commons/rng/internal/util/LongArray2Long.html"
 title="class in org.apache.commons.rng.internal.util">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../../../help-doc.html">Help</a></li>
+</ul>
+<div class="aboutLanguage"><script type="text/javascript" 
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";></script></div>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li>Prev</li>
+<li>Next</li>
+</ul>
+<ul class="navList">
+<li><a 
href="../../../../../../../index.html?org/apache/commons/rng/internal/util/class-use/LongArray2Long.html"
 target="_top">Frames</a></li>
+<li><a href="LongArray2Long.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a 
href="../../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016 <a 
href="https://www.apache.org/";>The Apache Software Foundation</a>. All rights 
reserved.</small></p>
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/36/3694ea8035cc71a19143bc0ae8ecefbacda2a602.svn-base
----------------------------------------------------------------------
diff --git 
a/commons-rng-core/site-content/.svn/pristine/36/3694ea8035cc71a19143bc0ae8ecefbacda2a602.svn-base
 
b/commons-rng-core/site-content/.svn/pristine/36/3694ea8035cc71a19143bc0ae8ecefbacda2a602.svn-base
new file mode 100644
index 0000000..796ac4f
--- /dev/null
+++ 
b/commons-rng-core/site-content/.svn/pristine/36/3694ea8035cc71a19143bc0ae8ecefbacda2a602.svn-base
@@ -0,0 +1,258 @@
+# 
+# RNG: org.apache.commons.rng.internal.source32.Well19937c
+# 
+# Java: 1.8.0_66
+# Runtime: 1.8.0_66-b17
+# JVM: Java HotSpot(TM) 64-Bit Server VM 25.66-b17
+# OS: Linux 3.16.0-4-amd64 amd64
+# 
+# Analyzer: /usr/bin/dieharder -a -g 200 -Y 1 -k 2 
+# 
+#=============================================================================#
+#            dieharder version 3.31.1 Copyright 2003 Robert G. Brown          #
+#=============================================================================#
+   rng_name    |rands/second|   Seed   |
+stdin_input_raw|  1.11e+07  |2429651594|
+#=============================================================================#
+        test_name   |ntup| tsamples |psamples|  p-value |Assessment
+#=============================================================================#
+   diehard_birthdays|   0|       100|     100|0.13744395|  PASSED  
+      diehard_operm5|   0|   1000000|     100|0.09854165|  PASSED  
+  diehard_rank_32x32|   0|     40000|     100|0.15800803|  PASSED  
+    diehard_rank_6x8|   0|    100000|     100|0.48230061|  PASSED  
+   diehard_bitstream|   0|   2097152|     100|0.54486239|  PASSED  
+        diehard_opso|   0|   2097152|     100|0.63874627|  PASSED  
+        diehard_oqso|   0|   2097152|     100|0.33577617|  PASSED  
+         diehard_dna|   0|   2097152|     100|0.10238274|  PASSED  
+diehard_count_1s_str|   0|    256000|     100|0.98605116|  PASSED  
+diehard_count_1s_byt|   0|    256000|     100|0.39965525|  PASSED  
+ diehard_parking_lot|   0|     12000|     100|0.85149486|  PASSED  
+    diehard_2dsphere|   2|      8000|     100|0.13349649|  PASSED  
+    diehard_3dsphere|   3|      4000|     100|0.97069032|  PASSED  
+     diehard_squeeze|   0|    100000|     100|0.74524587|  PASSED  
+        diehard_sums|   0|       100|     100|0.07614189|  PASSED  
+        diehard_runs|   0|    100000|     100|0.22477178|  PASSED  
+        diehard_runs|   0|    100000|     100|0.25490221|  PASSED  
+       diehard_craps|   0|    200000|     100|0.23963976|  PASSED  
+       diehard_craps|   0|    200000|     100|0.57008914|  PASSED  
+ marsaglia_tsang_gcd|   0|  10000000|     100|0.45825783|  PASSED  
+ marsaglia_tsang_gcd|   0|  10000000|     100|0.46218063|  PASSED  
+         sts_monobit|   1|    100000|     100|0.66533416|  PASSED  
+            sts_runs|   2|    100000|     100|0.28017068|  PASSED  
+          sts_serial|   1|    100000|     100|0.92259455|  PASSED  
+          sts_serial|   2|    100000|     100|0.98756677|  PASSED  
+          sts_serial|   3|    100000|     100|0.84118454|  PASSED  
+          sts_serial|   3|    100000|     100|0.65127881|  PASSED  
+          sts_serial|   4|    100000|     100|0.91473499|  PASSED  
+          sts_serial|   4|    100000|     100|0.64374499|  PASSED  
+          sts_serial|   5|    100000|     100|0.55776184|  PASSED  
+          sts_serial|   5|    100000|     100|0.51872719|  PASSED  
+          sts_serial|   6|    100000|     100|0.84288385|  PASSED  
+          sts_serial|   6|    100000|     100|0.96958378|  PASSED  
+          sts_serial|   7|    100000|     100|0.22128013|  PASSED  
+          sts_serial|   7|    100000|     100|0.28232004|  PASSED  
+          sts_serial|   8|    100000|     100|0.01957755|  PASSED  
+          sts_serial|   8|    100000|     100|0.26736869|  PASSED  
+          sts_serial|   9|    100000|     100|0.06578283|  PASSED  
+          sts_serial|   9|    100000|     100|0.75567541|  PASSED  
+          sts_serial|  10|    100000|     100|0.25003473|  PASSED  
+          sts_serial|  10|    100000|     100|0.50931052|  PASSED  
+          sts_serial|  11|    100000|     100|0.99514527|   WEAK   
+          sts_serial|  11|    100000|     100|0.34841329|  PASSED  
+          sts_serial|  12|    100000|     100|0.95238596|  PASSED  
+          sts_serial|  12|    100000|     100|0.80624894|  PASSED  
+          sts_serial|  13|    100000|     100|0.58806367|  PASSED  
+          sts_serial|  13|    100000|     100|0.17670193|  PASSED  
+          sts_serial|  14|    100000|     100|0.37969950|  PASSED  
+          sts_serial|  14|    100000|     100|0.00980341|  PASSED  
+          sts_serial|  15|    100000|     100|0.53769265|  PASSED  
+          sts_serial|  15|    100000|     100|0.55923302|  PASSED  
+          sts_serial|  16|    100000|     100|0.93076014|  PASSED  
+          sts_serial|  16|    100000|     100|0.08336133|  PASSED  
+          sts_serial|   1|    100000|     200|0.66297353|  PASSED  
+          sts_serial|   2|    100000|     200|0.87354703|  PASSED  
+          sts_serial|   3|    100000|     200|0.75873632|  PASSED  
+          sts_serial|   3|    100000|     200|0.35471918|  PASSED  
+          sts_serial|   4|    100000|     200|0.30668968|  PASSED  
+          sts_serial|   4|    100000|     200|0.29824707|  PASSED  
+          sts_serial|   5|    100000|     200|0.14835063|  PASSED  
+          sts_serial|   5|    100000|     200|0.82933577|  PASSED  
+          sts_serial|   6|    100000|     200|0.71637633|  PASSED  
+          sts_serial|   6|    100000|     200|0.97390660|  PASSED  
+          sts_serial|   7|    100000|     200|0.24381665|  PASSED  
+          sts_serial|   7|    100000|     200|0.11004610|  PASSED  
+          sts_serial|   8|    100000|     200|0.22625499|  PASSED  
+          sts_serial|   8|    100000|     200|0.70615985|  PASSED  
+          sts_serial|   9|    100000|     200|0.36000376|  PASSED  
+          sts_serial|   9|    100000|     200|0.86228792|  PASSED  
+          sts_serial|  10|    100000|     200|0.43181673|  PASSED  
+          sts_serial|  10|    100000|     200|0.51042058|  PASSED  
+          sts_serial|  11|    100000|     200|0.52954028|  PASSED  
+          sts_serial|  11|    100000|     200|0.80930460|  PASSED  
+          sts_serial|  12|    100000|     200|0.76687371|  PASSED  
+          sts_serial|  12|    100000|     200|0.39290066|  PASSED  
+          sts_serial|  13|    100000|     200|0.85457115|  PASSED  
+          sts_serial|  13|    100000|     200|0.32067670|  PASSED  
+          sts_serial|  14|    100000|     200|0.55053727|  PASSED  
+          sts_serial|  14|    100000|     200|0.05878629|  PASSED  
+          sts_serial|  15|    100000|     200|0.99940763|   WEAK   
+          sts_serial|  15|    100000|     200|0.44446912|  PASSED  
+          sts_serial|  16|    100000|     200|0.61705833|  PASSED  
+          sts_serial|  16|    100000|     200|0.11124895|  PASSED  
+          sts_serial|   1|    100000|     300|0.68227322|  PASSED  
+          sts_serial|   2|    100000|     300|0.70087582|  PASSED  
+          sts_serial|   3|    100000|     300|0.82620943|  PASSED  
+          sts_serial|   3|    100000|     300|0.60608073|  PASSED  
+          sts_serial|   4|    100000|     300|0.38511146|  PASSED  
+          sts_serial|   4|    100000|     300|0.20814924|  PASSED  
+          sts_serial|   5|    100000|     300|0.44343337|  PASSED  
+          sts_serial|   5|    100000|     300|0.23718246|  PASSED  
+          sts_serial|   6|    100000|     300|0.96129076|  PASSED  
+          sts_serial|   6|    100000|     300|0.99738347|   WEAK   
+          sts_serial|   7|    100000|     300|0.58501285|  PASSED  
+          sts_serial|   7|    100000|     300|0.33247572|  PASSED  
+          sts_serial|   8|    100000|     300|0.81786311|  PASSED  
+          sts_serial|   8|    100000|     300|0.79744242|  PASSED  
+          sts_serial|   9|    100000|     300|0.40309459|  PASSED  
+          sts_serial|   9|    100000|     300|0.95267045|  PASSED  
+          sts_serial|  10|    100000|     300|0.08872060|  PASSED  
+          sts_serial|  10|    100000|     300|0.22751717|  PASSED  
+          sts_serial|  11|    100000|     300|0.09104509|  PASSED  
+          sts_serial|  11|    100000|     300|0.87058169|  PASSED  
+          sts_serial|  12|    100000|     300|0.55090552|  PASSED  
+          sts_serial|  12|    100000|     300|0.44762621|  PASSED  
+          sts_serial|  13|    100000|     300|0.61505672|  PASSED  
+          sts_serial|  13|    100000|     300|0.24926121|  PASSED  
+          sts_serial|  14|    100000|     300|0.34740276|  PASSED  
+          sts_serial|  14|    100000|     300|0.09326989|  PASSED  
+          sts_serial|  15|    100000|     300|0.93423074|  PASSED  
+          sts_serial|  15|    100000|     300|0.61705202|  PASSED  
+          sts_serial|  16|    100000|     300|0.48443622|  PASSED  
+          sts_serial|  16|    100000|     300|0.24095768|  PASSED  
+          sts_serial|   1|    100000|     400|0.98804513|  PASSED  
+          sts_serial|   2|    100000|     400|0.96592269|  PASSED  
+          sts_serial|   3|    100000|     400|0.89386433|  PASSED  
+          sts_serial|   3|    100000|     400|0.39195237|  PASSED  
+          sts_serial|   4|    100000|     400|0.26489657|  PASSED  
+          sts_serial|   4|    100000|     400|0.21213681|  PASSED  
+          sts_serial|   5|    100000|     400|0.02523539|  PASSED  
+          sts_serial|   5|    100000|     400|0.78566240|  PASSED  
+          sts_serial|   6|    100000|     400|0.92823499|  PASSED  
+          sts_serial|   6|    100000|     400|0.62376093|  PASSED  
+          sts_serial|   7|    100000|     400|0.67569795|  PASSED  
+          sts_serial|   7|    100000|     400|0.33316445|  PASSED  
+          sts_serial|   8|    100000|     400|0.34995667|  PASSED  
+          sts_serial|   8|    100000|     400|0.99511085|   WEAK   
+          sts_serial|   9|    100000|     400|0.47739538|  PASSED  
+          sts_serial|   9|    100000|     400|0.82584414|  PASSED  
+          sts_serial|  10|    100000|     400|0.18243218|  PASSED  
+          sts_serial|  10|    100000|     400|0.66553679|  PASSED  
+          sts_serial|  11|    100000|     400|0.21161787|  PASSED  
+          sts_serial|  11|    100000|     400|0.80393368|  PASSED  
+          sts_serial|  12|    100000|     400|0.52212982|  PASSED  
+          sts_serial|  12|    100000|     400|0.25769210|  PASSED  
+          sts_serial|  13|    100000|     400|0.53466415|  PASSED  
+          sts_serial|  13|    100000|     400|0.05542398|  PASSED  
+          sts_serial|  14|    100000|     400|0.93116816|  PASSED  
+          sts_serial|  14|    100000|     400|0.21229097|  PASSED  
+          sts_serial|  15|    100000|     400|0.96659821|  PASSED  
+          sts_serial|  15|    100000|     400|0.53102910|  PASSED  
+          sts_serial|  16|    100000|     400|0.23027094|  PASSED  
+          sts_serial|  16|    100000|     400|0.09777207|  PASSED  
+          sts_serial|   1|    100000|     500|0.97479621|  PASSED  
+          sts_serial|   2|    100000|     500|0.70301933|  PASSED  
+          sts_serial|   3|    100000|     500|0.74651474|  PASSED  
+          sts_serial|   3|    100000|     500|0.36221019|  PASSED  
+          sts_serial|   4|    100000|     500|0.06923884|  PASSED  
+          sts_serial|   4|    100000|     500|0.06226243|  PASSED  
+          sts_serial|   5|    100000|     500|0.01367496|  PASSED  
+          sts_serial|   5|    100000|     500|0.71444906|  PASSED  
+          sts_serial|   6|    100000|     500|0.85919975|  PASSED  
+          sts_serial|   6|    100000|     500|0.55625120|  PASSED  
+          sts_serial|   7|    100000|     500|0.44840337|  PASSED  
+          sts_serial|   7|    100000|     500|0.29340395|  PASSED  
+          sts_serial|   8|    100000|     500|0.23848299|  PASSED  
+          sts_serial|   8|    100000|     500|0.98494757|  PASSED  
+          sts_serial|   9|    100000|     500|0.29430089|  PASSED  
+          sts_serial|   9|    100000|     500|0.97817833|  PASSED  
+          sts_serial|  10|    100000|     500|0.15160300|  PASSED  
+          sts_serial|  10|    100000|     500|0.28245642|  PASSED  
+          sts_serial|  11|    100000|     500|0.20323114|  PASSED  
+          sts_serial|  11|    100000|     500|0.86398185|  PASSED  
+          sts_serial|  12|    100000|     500|0.24243775|  PASSED  
+          sts_serial|  12|    100000|     500|0.36711357|  PASSED  
+          sts_serial|  13|    100000|     500|0.53015455|  PASSED  
+          sts_serial|  13|    100000|     500|0.18910548|  PASSED  
+          sts_serial|  14|    100000|     500|0.98386190|  PASSED  
+          sts_serial|  14|    100000|     500|0.18905005|  PASSED  
+          sts_serial|  15|    100000|     500|0.70004630|  PASSED  
+          sts_serial|  15|    100000|     500|0.26073973|  PASSED  
+          sts_serial|  16|    100000|     500|0.68747102|  PASSED  
+          sts_serial|  16|    100000|     500|0.29861454|  PASSED  
+         rgb_bitdist|   1|    100000|     100|0.69091404|  PASSED  
+         rgb_bitdist|   2|    100000|     100|0.85929147|  PASSED  
+         rgb_bitdist|   3|    100000|     100|0.59006474|  PASSED  
+         rgb_bitdist|   4|    100000|     100|0.04176074|  PASSED  
+         rgb_bitdist|   5|    100000|     100|0.51016230|  PASSED  
+         rgb_bitdist|   6|    100000|     100|0.57008014|  PASSED  
+         rgb_bitdist|   7|    100000|     100|0.93757146|  PASSED  
+         rgb_bitdist|   8|    100000|     100|0.62806143|  PASSED  
+         rgb_bitdist|   9|    100000|     100|0.53341906|  PASSED  
+         rgb_bitdist|  10|    100000|     100|0.65096966|  PASSED  
+         rgb_bitdist|  11|    100000|     100|0.53907677|  PASSED  
+         rgb_bitdist|  12|    100000|     100|0.23848574|  PASSED  
+rgb_minimum_distance|   2|     10000|    1000|0.93928976|  PASSED  
+rgb_minimum_distance|   3|     10000|    1000|0.39804878|  PASSED  
+rgb_minimum_distance|   4|     10000|    1000|0.44299455|  PASSED  
+rgb_minimum_distance|   5|     10000|    1000|0.04932999|  PASSED  
+    rgb_permutations|   2|    100000|     100|0.70324606|  PASSED  
+    rgb_permutations|   3|    100000|     100|0.18984877|  PASSED  
+    rgb_permutations|   4|    100000|     100|0.22652288|  PASSED  
+    rgb_permutations|   5|    100000|     100|0.63039237|  PASSED  
+      rgb_lagged_sum|   0|   1000000|     100|0.83128298|  PASSED  
+      rgb_lagged_sum|   1|   1000000|     100|0.93987667|  PASSED  
+      rgb_lagged_sum|   2|   1000000|     100|0.23099835|  PASSED  
+      rgb_lagged_sum|   3|   1000000|     100|0.06801350|  PASSED  
+      rgb_lagged_sum|   4|   1000000|     100|0.02838058|  PASSED  
+      rgb_lagged_sum|   5|   1000000|     100|0.20130033|  PASSED  
+      rgb_lagged_sum|   6|   1000000|     100|0.45688414|  PASSED  
+      rgb_lagged_sum|   7|   1000000|     100|0.46239937|  PASSED  
+      rgb_lagged_sum|   8|   1000000|     100|0.71895239|  PASSED  
+      rgb_lagged_sum|   9|   1000000|     100|0.48098930|  PASSED  
+      rgb_lagged_sum|  10|   1000000|     100|0.33991066|  PASSED  
+      rgb_lagged_sum|  11|   1000000|     100|0.64784283|  PASSED  
+      rgb_lagged_sum|  12|   1000000|     100|0.10714100|  PASSED  
+      rgb_lagged_sum|  13|   1000000|     100|0.49020358|  PASSED  
+      rgb_lagged_sum|  14|   1000000|     100|0.08988252|  PASSED  
+      rgb_lagged_sum|  15|   1000000|     100|0.93942564|  PASSED  
+      rgb_lagged_sum|  16|   1000000|     100|0.56572771|  PASSED  
+      rgb_lagged_sum|  17|   1000000|     100|0.96908754|  PASSED  
+      rgb_lagged_sum|  18|   1000000|     100|0.98699368|  PASSED  
+      rgb_lagged_sum|  19|   1000000|     100|0.59766373|  PASSED  
+      rgb_lagged_sum|  20|   1000000|     100|0.64580163|  PASSED  
+      rgb_lagged_sum|  21|   1000000|     100|0.04391574|  PASSED  
+      rgb_lagged_sum|  22|   1000000|     100|0.49229621|  PASSED  
+      rgb_lagged_sum|  23|   1000000|     100|0.27948621|  PASSED  
+      rgb_lagged_sum|  24|   1000000|     100|0.12867278|  PASSED  
+      rgb_lagged_sum|  25|   1000000|     100|0.78338444|  PASSED  
+      rgb_lagged_sum|  26|   1000000|     100|0.61158432|  PASSED  
+      rgb_lagged_sum|  27|   1000000|     100|0.22662793|  PASSED  
+      rgb_lagged_sum|  28|   1000000|     100|0.63630227|  PASSED  
+      rgb_lagged_sum|  29|   1000000|     100|0.39750768|  PASSED  
+      rgb_lagged_sum|  30|   1000000|     100|0.94413015|  PASSED  
+      rgb_lagged_sum|  31|   1000000|     100|0.16287496|  PASSED  
+      rgb_lagged_sum|  32|   1000000|     100|0.89644664|  PASSED  
+     rgb_kstest_test|   0|     10000|    1000|0.21720404|  PASSED  
+     dab_bytedistrib|   0|  51200000|       1|0.55743685|  PASSED  
+             dab_dct| 256|     50000|       1|0.71783650|  PASSED  
+Preparing to run test 207.  ntuple = 0
+        dab_filltree|  32|  15000000|       1|0.08435918|  PASSED  
+        dab_filltree|  32|  15000000|       1|0.30805591|  PASSED  
+Preparing to run test 208.  ntuple = 0
+       dab_filltree2|   0|   5000000|       1|0.09667920|  PASSED  
+       dab_filltree2|   1|   5000000|       1|0.54724548|  PASSED  
+Preparing to run test 209.  ntuple = 0
+        dab_monobit2|  12|  65000000|       1|0.23286957|  PASSED  
+# 
+# Test duration: 91.71840233415 minutes
+# 

http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/37/37d026e5a40539115af9e1f5d8f6e8c557ea347a.svn-base
----------------------------------------------------------------------
diff --git 
a/commons-rng-core/site-content/.svn/pristine/37/37d026e5a40539115af9e1f5d8f6e8c557ea347a.svn-base
 
b/commons-rng-core/site-content/.svn/pristine/37/37d026e5a40539115af9e1f5d8f6e8c557ea347a.svn-base
new file mode 100644
index 0000000..8ac6331
--- /dev/null
+++ 
b/commons-rng-core/site-content/.svn/pristine/37/37d026e5a40539115af9e1f5d8f6e8c557ea347a.svn-base
@@ -0,0 +1,452 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" 
title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See 
the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information 
regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to You 
under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this 
file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of 
the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *      
http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific 
language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a 
name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span>package 
org.apache.commons.rng.internal;<a name="line.17"></a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span>import java.util.Arrays;<a 
name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.util.List;<a 
name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.util.ArrayList;<a 
name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.util.Map;<a 
name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.util.HashMap;<a 
name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.lang.reflect.Constructor;<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span>import 
java.lang.reflect.InvocationTargetException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span><a name="line.26"></a>
+<span class="sourceLineNo">027</span>import 
org.apache.commons.rng.UniformRandomProvider;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import 
org.apache.commons.rng.internal.util.SeedFactory;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import 
org.apache.commons.rng.internal.util.NoOpConverter;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import 
org.apache.commons.rng.internal.util.Int2Long;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import 
org.apache.commons.rng.internal.util.Long2Int;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import 
org.apache.commons.rng.internal.util.Long2IntArray;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import 
org.apache.commons.rng.internal.util.Long2LongArray;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import 
org.apache.commons.rng.internal.util.IntArray2LongArray;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import 
org.apache.commons.rng.internal.util.LongArray2IntArray;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import 
org.apache.commons.rng.internal.util.LongArray2Long;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import 
org.apache.commons.rng.internal.util.IntArray2Int;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import 
org.apache.commons.rng.internal.util.ByteArray2IntArray;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import 
org.apache.commons.rng.internal.util.ByteArray2LongArray;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import 
org.apache.commons.rng.internal.util.SeedConverter;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import 
org.apache.commons.rng.internal.util.SeedConverterComposer;<a 
name="line.41"></a>
+<span class="sourceLineNo">042</span>import 
org.apache.commons.rng.internal.source32.JDKRandom;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import 
org.apache.commons.rng.internal.source32.Well512a;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import 
org.apache.commons.rng.internal.source32.Well1024a;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import 
org.apache.commons.rng.internal.source32.Well19937a;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import 
org.apache.commons.rng.internal.source32.Well19937c;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import 
org.apache.commons.rng.internal.source32.Well44497a;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import 
org.apache.commons.rng.internal.source32.Well44497b;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import 
org.apache.commons.rng.internal.source32.ISAACRandom;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import 
org.apache.commons.rng.internal.source32.MersenneTwister;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import 
org.apache.commons.rng.internal.source32.MultiplyWithCarry256;<a 
name="line.51"></a>
+<span class="sourceLineNo">052</span>import 
org.apache.commons.rng.internal.source32.KISSRandom;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import 
org.apache.commons.rng.internal.source64.SplitMix64;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import 
org.apache.commons.rng.internal.source64.XorShift1024Star;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import 
org.apache.commons.rng.internal.source64.TwoCmres;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import 
org.apache.commons.rng.internal.source64.MersenneTwister64;<a 
name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>/**<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * RNG builder.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * &lt;p&gt;<a name="line.60"></a>
+<span class="sourceLineNo">061</span> * It uses reflection to find the factory 
method of the RNG implementation,<a name="line.61"></a>
+<span class="sourceLineNo">062</span> * and performs seed type conversions.<a 
name="line.62"></a>
+<span class="sourceLineNo">063</span> * &lt;/p&gt;<a name="line.63"></a>
+<span class="sourceLineNo">064</span> */<a name="line.64"></a>
+<span class="sourceLineNo">065</span>public class ProviderBuilder {<a 
name="line.65"></a>
+<span class="sourceLineNo">066</span>    /** Error message. */<a 
name="line.66"></a>
+<span class="sourceLineNo">067</span>    private static final String 
INTERNAL_ERROR_MSG = "Internal error: Please file a bug report";<a 
name="line.67"></a>
+<span class="sourceLineNo">068</span>    /** Length of the seed array (for 
random seed). */<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    private static final int 
RANDOM_SEED_ARRAY_SIZE = 128;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    /** Seed converter. */<a 
name="line.70"></a>
+<span class="sourceLineNo">071</span>    private static final Long2Int 
LONG_TO_INT = new Long2Int();<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    /** Seed converter. */<a 
name="line.72"></a>
+<span class="sourceLineNo">073</span>    private static final Int2Long 
INT_TO_LONG = new Int2Long();<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    /** Seed converter. */<a 
name="line.74"></a>
+<span class="sourceLineNo">075</span>    private static final Long2IntArray 
LONG_TO_INT_ARRAY = new Long2IntArray(RANDOM_SEED_ARRAY_SIZE);<a 
name="line.75"></a>
+<span class="sourceLineNo">076</span>    /** Seed converter. */<a 
name="line.76"></a>
+<span class="sourceLineNo">077</span>    private static final Long2LongArray 
LONG_TO_LONG_ARRAY = new Long2LongArray(RANDOM_SEED_ARRAY_SIZE);<a 
name="line.77"></a>
+<span class="sourceLineNo">078</span>    /** Seed converter. */<a 
name="line.78"></a>
+<span class="sourceLineNo">079</span>    private static final LongArray2Long 
LONG_ARRAY_TO_LONG = new LongArray2Long();<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    /** Seed converter. */<a 
name="line.80"></a>
+<span class="sourceLineNo">081</span>    private static final IntArray2Int 
INT_ARRAY_TO_INT = new IntArray2Int();<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    /** Seed converter. */<a 
name="line.82"></a>
+<span class="sourceLineNo">083</span>    private static final 
LongArray2IntArray LONG_ARRAY_TO_INT_ARRAY = new LongArray2IntArray();<a 
name="line.83"></a>
+<span class="sourceLineNo">084</span>    /** Seed converter. */<a 
name="line.84"></a>
+<span class="sourceLineNo">085</span>    private static final 
IntArray2LongArray INT_ARRAY_TO_LONG_ARRAY = new IntArray2LongArray();<a 
name="line.85"></a>
+<span class="sourceLineNo">086</span>    /** Seed converter. */<a 
name="line.86"></a>
+<span class="sourceLineNo">087</span>    private static final 
ByteArray2IntArray BYTE_ARRAY_TO_INT_ARRAY = new ByteArray2IntArray();<a 
name="line.87"></a>
+<span class="sourceLineNo">088</span>    /** Seed converter. */<a 
name="line.88"></a>
+<span class="sourceLineNo">089</span>    private static final 
ByteArray2LongArray BYTE_ARRAY_TO_LONG_ARRAY = new ByteArray2LongArray();<a 
name="line.89"></a>
+<span class="sourceLineNo">090</span>    /** Map to convert "Integer" seeds. 
*/<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    private static final 
Map&lt;Class&lt;?&gt;, SeedConverter&lt;Integer,?&gt;&gt; CONV_INT =<a 
name="line.91"></a>
+<span class="sourceLineNo">092</span>        new HashMap&lt;Class&lt;?&gt;, 
SeedConverter&lt;Integer,?&gt;&gt;();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    /** Map to convert "int[]" seeds. 
*/<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    private static final 
Map&lt;Class&lt;?&gt;, SeedConverter&lt;int[],?&gt;&gt; CONV_INT_ARRAY =<a 
name="line.94"></a>
+<span class="sourceLineNo">095</span>        new HashMap&lt;Class&lt;?&gt;, 
SeedConverter&lt;int[],?&gt;&gt;();<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    /** Map to convert "Long" seeds. */<a 
name="line.96"></a>
+<span class="sourceLineNo">097</span>    private static final 
Map&lt;Class&lt;?&gt;, SeedConverter&lt;Long,?&gt;&gt; CONV_LONG =<a 
name="line.97"></a>
+<span class="sourceLineNo">098</span>        new HashMap&lt;Class&lt;?&gt;, 
SeedConverter&lt;Long,?&gt;&gt;();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    /** Map to convert "long[]" seeds. 
*/<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    private static final 
Map&lt;Class&lt;?&gt;, SeedConverter&lt;long[],?&gt;&gt; CONV_LONG_ARRAY =<a 
name="line.100"></a>
+<span class="sourceLineNo">101</span>        new HashMap&lt;Class&lt;?&gt;, 
SeedConverter&lt;long[],?&gt;&gt;();<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    /** Map to convert "byte[]" seeds. 
*/<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    private static final 
Map&lt;Class&lt;?&gt;, SeedConverter&lt;byte[],?&gt;&gt; CONV_BYTE_ARRAY =<a 
name="line.103"></a>
+<span class="sourceLineNo">104</span>        new HashMap&lt;Class&lt;?&gt;, 
SeedConverter&lt;byte[],?&gt;&gt;();<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>    static {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>        // Input seed type is "Long".<a 
name="line.107"></a>
+<span class="sourceLineNo">108</span>        // Key is the implementation's 
"native" seed type.<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        CONV_LONG.put(Integer.class, 
LONG_TO_INT);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        CONV_LONG.put(Long.class, new 
NoOpConverter&lt;Long&gt;());<a name="line.110"></a>
+<span class="sourceLineNo">111</span>        CONV_LONG.put(int[].class, 
LONG_TO_INT_ARRAY);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        CONV_LONG.put(long[].class, 
LONG_TO_LONG_ARRAY);<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>        // Input seed type is 
"Integer".<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        // Key is the implementation's 
"native" seed type.<a name="line.115"></a>
+<span class="sourceLineNo">116</span>        CONV_INT.put(Integer.class, new 
NoOpConverter&lt;Integer&gt;());<a name="line.116"></a>
+<span class="sourceLineNo">117</span>        CONV_INT.put(Long.class, 
INT_TO_LONG);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>        CONV_INT.put(int[].class, new 
SeedConverterComposer&lt;Integer,Long,int[]&gt;(INT_TO_LONG, 
LONG_TO_INT_ARRAY));<a name="line.118"></a>
+<span class="sourceLineNo">119</span>        CONV_INT.put(long[].class, new 
SeedConverterComposer&lt;Integer,Long,long[]&gt;(INT_TO_LONG, 
LONG_TO_LONG_ARRAY));<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>        // Input seed type is "int[]".<a 
name="line.121"></a>
+<span class="sourceLineNo">122</span>        // Key is the implementation's 
"native" seed type.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>        CONV_INT_ARRAY.put(Integer.class, 
INT_ARRAY_TO_INT);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        CONV_INT_ARRAY.put(Long.class, 
new SeedConverterComposer&lt;int[],Integer,Long&gt;(INT_ARRAY_TO_INT, 
INT_TO_LONG));<a name="line.124"></a>
+<span class="sourceLineNo">125</span>        CONV_INT_ARRAY.put(int[].class, 
new NoOpConverter&lt;int[]&gt;());<a name="line.125"></a>
+<span class="sourceLineNo">126</span>        CONV_INT_ARRAY.put(long[].class, 
INT_ARRAY_TO_LONG_ARRAY);<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>        // Input seed type is "long[]".<a 
name="line.128"></a>
+<span class="sourceLineNo">129</span>        // Key is the implementation's 
"native" seed type.<a name="line.129"></a>
+<span class="sourceLineNo">130</span>        
CONV_LONG_ARRAY.put(Integer.class, new 
SeedConverterComposer&lt;long[],Long,Integer&gt;(LONG_ARRAY_TO_LONG, 
LONG_TO_INT));<a name="line.130"></a>
+<span class="sourceLineNo">131</span>        CONV_LONG_ARRAY.put(Long.class, 
LONG_ARRAY_TO_LONG);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        CONV_LONG_ARRAY.put(int[].class, 
LONG_ARRAY_TO_INT_ARRAY);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>        CONV_LONG_ARRAY.put(long[].class, 
new NoOpConverter&lt;long[]&gt;());<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>        // Input seed type is "byte[]".<a 
name="line.135"></a>
+<span class="sourceLineNo">136</span>        // Key is the implementation's 
"native" seed type.<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        
CONV_BYTE_ARRAY.put(Integer.class, new 
SeedConverterComposer&lt;byte[],int[],Integer&gt;(BYTE_ARRAY_TO_INT_ARRAY, 
INT_ARRAY_TO_INT));<a name="line.137"></a>
+<span class="sourceLineNo">138</span>        CONV_BYTE_ARRAY.put(Long.class, 
new SeedConverterComposer&lt;byte[],long[],Long&gt;(BYTE_ARRAY_TO_LONG_ARRAY, 
LONG_ARRAY_TO_LONG));<a name="line.138"></a>
+<span class="sourceLineNo">139</span>        CONV_BYTE_ARRAY.put(int[].class, 
BYTE_ARRAY_TO_INT_ARRAY);<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        CONV_BYTE_ARRAY.put(long[].class, 
BYTE_ARRAY_TO_LONG_ARRAY);<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    }<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>    /**<a name="line.143"></a>
+<span class="sourceLineNo">144</span>     * Class only contains static 
method.<a name="line.144"></a>
+<span class="sourceLineNo">145</span>     */<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    private ProviderBuilder() {}<a 
name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>    /**<a name="line.148"></a>
+<span class="sourceLineNo">149</span>     * Creates a RNG instance.<a 
name="line.149"></a>
+<span class="sourceLineNo">150</span>     *<a name="line.150"></a>
+<span class="sourceLineNo">151</span>     * @param source RNG specification.<a 
name="line.151"></a>
+<span class="sourceLineNo">152</span>     * @param seed Seed value.  It can be 
{@code null} (in which case a<a name="line.152"></a>
+<span class="sourceLineNo">153</span>     * random value will be used).<a 
name="line.153"></a>
+<span class="sourceLineNo">154</span>     * @param args Additional arguments 
to the implementation's constructor.<a name="line.154"></a>
+<span class="sourceLineNo">155</span>     * @return a new RNG instance.<a 
name="line.155"></a>
+<span class="sourceLineNo">156</span>     * @throws 
UnsupportedOperationException if the seed type is invalid.<a 
name="line.156"></a>
+<span class="sourceLineNo">157</span>     */<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    public static UniformRandomProvider 
create(RandomSourceInternal source,<a name="line.158"></a>
+<span class="sourceLineNo">159</span>                                          
     Object seed,<a name="line.159"></a>
+<span class="sourceLineNo">160</span>                                          
     Object[] args) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        // Convert seed to native type.<a 
name="line.161"></a>
+<span class="sourceLineNo">162</span>        final Object nativeSeed = 
createSeed(source, seed);<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>        // Build a single array with all 
the arguments to be passed<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        // (in the right order) to the 
constructor.<a name="line.165"></a>
+<span class="sourceLineNo">166</span>        final List&lt;Object&gt; all = 
new ArrayList&lt;Object&gt;();<a name="line.166"></a>
+<span class="sourceLineNo">167</span>        all.add(nativeSeed);<a 
name="line.167"></a>
+<span class="sourceLineNo">168</span>        if (args != null) {<a 
name="line.168"></a>
+<span class="sourceLineNo">169</span>            
all.addAll(Arrays.asList(args));<a name="line.169"></a>
+<span class="sourceLineNo">170</span>        }<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>        // Instantiate.<a 
name="line.172"></a>
+<span class="sourceLineNo">173</span>        return 
create(createConstructor(source), all.toArray());<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    }<a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175"></a>
+<span class="sourceLineNo">176</span>    /**<a name="line.176"></a>
+<span class="sourceLineNo">177</span>     * Creates a native seed from any of 
the supported seed types.<a name="line.177"></a>
+<span class="sourceLineNo">178</span>     *<a name="line.178"></a>
+<span class="sourceLineNo">179</span>     * @param source Source.<a 
name="line.179"></a>
+<span class="sourceLineNo">180</span>     * @param seed Input seed.<a 
name="line.180"></a>
+<span class="sourceLineNo">181</span>     * @return the native seed.<a 
name="line.181"></a>
+<span class="sourceLineNo">182</span>     * @throw 
UnsupportedOperationException if the {@code seed} type is invalid.<a 
name="line.182"></a>
+<span class="sourceLineNo">183</span>     */<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    private static Object 
createSeed(RandomSourceInternal source,<a name="line.184"></a>
+<span class="sourceLineNo">185</span>                                     
Object seed) {<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        Object nativeSeed = null;<a 
name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>        if (seed == null) {<a 
name="line.188"></a>
+<span class="sourceLineNo">189</span>            // Create a random seed of 
the appropriate native type.<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span>            if 
(source.getSeed().equals(Integer.class)) {<a name="line.191"></a>
+<span class="sourceLineNo">192</span>                nativeSeed = 
SeedFactory.createInt();<a name="line.192"></a>
+<span class="sourceLineNo">193</span>            } else if 
(source.getSeed().equals(Long.class)) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>                nativeSeed = 
SeedFactory.createLong();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            } else if 
(source.getSeed().equals(int[].class)) {<a name="line.195"></a>
+<span class="sourceLineNo">196</span>                nativeSeed = 
SeedFactory.createIntArray(RANDOM_SEED_ARRAY_SIZE);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>            } else if 
(source.getSeed().equals(long[].class)) {<a name="line.197"></a>
+<span class="sourceLineNo">198</span>                nativeSeed = 
SeedFactory.createLongArray(RANDOM_SEED_ARRAY_SIZE);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>            } else {<a 
name="line.199"></a>
+<span class="sourceLineNo">200</span>                // Source's native type 
is not handled.<a name="line.200"></a>
+<span class="sourceLineNo">201</span>                throw new 
IllegalStateException(INTERNAL_ERROR_MSG);<a name="line.201"></a>
+<span class="sourceLineNo">202</span>            }<a name="line.202"></a>
+<span class="sourceLineNo">203</span>        } else {<a name="line.203"></a>
+<span class="sourceLineNo">204</span>            // Convert to native type.<a 
name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>            if (seed instanceof Integer) 
{<a name="line.206"></a>
+<span class="sourceLineNo">207</span>                nativeSeed = 
CONV_INT.get(source.getSeed()).convert((Integer) seed);<a name="line.207"></a>
+<span class="sourceLineNo">208</span>            } else if (seed instanceof 
Long) {<a name="line.208"></a>
+<span class="sourceLineNo">209</span>                nativeSeed = 
CONV_LONG.get(source.getSeed()).convert((Long) seed);<a name="line.209"></a>
+<span class="sourceLineNo">210</span>            } else if (seed instanceof 
int[]) {<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                nativeSeed = 
CONV_INT_ARRAY.get(source.getSeed()).convert((int[]) seed);<a 
name="line.211"></a>
+<span class="sourceLineNo">212</span>            } else if (seed instanceof 
long[]) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>                nativeSeed = 
CONV_LONG_ARRAY.get(source.getSeed()).convert((long[]) seed);<a 
name="line.213"></a>
+<span class="sourceLineNo">214</span>            } else if (seed instanceof 
byte[]) {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                nativeSeed = 
CONV_BYTE_ARRAY.get(source.getSeed()).convert((byte[]) seed);<a 
name="line.215"></a>
+<span class="sourceLineNo">216</span>            }<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>            if (nativeSeed == null) {<a 
name="line.218"></a>
+<span class="sourceLineNo">219</span>                // Since the input seed 
was not null, getting here means that<a name="line.219"></a>
+<span class="sourceLineNo">220</span>                // no suitable converter 
is present in the maps.<a name="line.220"></a>
+<span class="sourceLineNo">221</span>                throw new 
UnsupportedOperationException("Unrecognized seed type");<a name="line.221"></a>
+<span class="sourceLineNo">222</span>            }<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>            if 
(!source.isNativeSeed(nativeSeed)) {<a name="line.224"></a>
+<span class="sourceLineNo">225</span>                // Conversion setup is 
wrong.<a name="line.225"></a>
+<span class="sourceLineNo">226</span>                throw new 
IllegalStateException(INTERNAL_ERROR_MSG);<a name="line.226"></a>
+<span class="sourceLineNo">227</span>            }<a name="line.227"></a>
+<span class="sourceLineNo">228</span>        }<a name="line.228"></a>
+<span class="sourceLineNo">229</span><a name="line.229"></a>
+<span class="sourceLineNo">230</span>        return nativeSeed;<a 
name="line.230"></a>
+<span class="sourceLineNo">231</span>    }<a name="line.231"></a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span>    /**<a name="line.233"></a>
+<span class="sourceLineNo">234</span>     * Creates a constructor.<a 
name="line.234"></a>
+<span class="sourceLineNo">235</span>     *<a name="line.235"></a>
+<span class="sourceLineNo">236</span>     * @param source RNG specification.<a 
name="line.236"></a>
+<span class="sourceLineNo">237</span>     * @return a RNG constructor.<a 
name="line.237"></a>
+<span class="sourceLineNo">238</span>     */<a name="line.238"></a>
+<span class="sourceLineNo">239</span>    private static Constructor&lt;?&gt; 
createConstructor(RandomSourceInternal source) {<a name="line.239"></a>
+<span class="sourceLineNo">240</span>        try {<a name="line.240"></a>
+<span class="sourceLineNo">241</span>            return 
source.getRng().getConstructor(source.getArgs());<a name="line.241"></a>
+<span class="sourceLineNo">242</span>        } catch (NoSuchMethodException e) 
{<a name="line.242"></a>
+<span class="sourceLineNo">243</span>            // Info in 
"RandomSourceInternal" is inconsistent with the<a name="line.243"></a>
+<span class="sourceLineNo">244</span>            // constructor of the 
implementation.<a name="line.244"></a>
+<span class="sourceLineNo">245</span>            throw new 
IllegalStateException(INTERNAL_ERROR_MSG, e);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        }<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    }<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>    /**<a name="line.249"></a>
+<span class="sourceLineNo">250</span>     * Creates a RNG.<a 
name="line.250"></a>
+<span class="sourceLineNo">251</span>     *<a name="line.251"></a>
+<span class="sourceLineNo">252</span>     * @param rng RNG specification.<a 
name="line.252"></a>
+<span class="sourceLineNo">253</span>     * @param args Arguments to the 
implementation's constructor.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>     * @return a new RNG instance.<a 
name="line.254"></a>
+<span class="sourceLineNo">255</span>     */<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    private static UniformRandomProvider 
create(Constructor&lt;?&gt; rng,<a name="line.256"></a>
+<span class="sourceLineNo">257</span>                                          
      Object[] args) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>        try {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>            return 
(UniformRandomProvider) rng.newInstance(args);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        } catch 
(InvocationTargetException e) {<a name="line.260"></a>
+<span class="sourceLineNo">261</span>            throw new 
IllegalStateException(INTERNAL_ERROR_MSG, e);<a name="line.261"></a>
+<span class="sourceLineNo">262</span>        } catch (InstantiationException 
e) {<a name="line.262"></a>
+<span class="sourceLineNo">263</span>            throw new 
IllegalStateException(INTERNAL_ERROR_MSG, e);<a name="line.263"></a>
+<span class="sourceLineNo">264</span>        } catch (IllegalAccessException 
e) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>            throw new 
IllegalStateException(INTERNAL_ERROR_MSG, e);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>        }<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    }<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>    /**<a name="line.269"></a>
+<span class="sourceLineNo">270</span>     * Identifiers of the generators.<a 
name="line.270"></a>
+<span class="sourceLineNo">271</span>     */<a name="line.271"></a>
+<span class="sourceLineNo">272</span>    public enum RandomSourceInternal {<a 
name="line.272"></a>
+<span class="sourceLineNo">273</span>        /** Source of randomness is 
{@link JDKRandom}. */<a name="line.273"></a>
+<span class="sourceLineNo">274</span>        JDK(JDKRandom.class,<a 
name="line.274"></a>
+<span class="sourceLineNo">275</span>            Long.class),<a 
name="line.275"></a>
+<span class="sourceLineNo">276</span>        /** Source of randomness is 
{@link Well512a}. */<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        WELL_512_A(Well512a.class,<a 
name="line.277"></a>
+<span class="sourceLineNo">278</span>                   int[].class),<a 
name="line.278"></a>
+<span class="sourceLineNo">279</span>        /** Source of randomness is 
{@link Well1024a}. */<a name="line.279"></a>
+<span class="sourceLineNo">280</span>        WELL_1024_A(Well1024a.class,<a 
name="line.280"></a>
+<span class="sourceLineNo">281</span>                    int[].class),<a 
name="line.281"></a>
+<span class="sourceLineNo">282</span>        /** Source of randomness is 
{@link Well19937a}. */<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        WELL_19937_A(Well19937a.class,<a 
name="line.283"></a>
+<span class="sourceLineNo">284</span>                     int[].class),<a 
name="line.284"></a>
+<span class="sourceLineNo">285</span>        /** Source of randomness is 
{@link Well19937c}. */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        WELL_19937_C(Well19937c.class,<a 
name="line.286"></a>
+<span class="sourceLineNo">287</span>                     int[].class),<a 
name="line.287"></a>
+<span class="sourceLineNo">288</span>        /** Source of randomness is 
{@link Well44497a}. */<a name="line.288"></a>
+<span class="sourceLineNo">289</span>        WELL_44497_A(Well44497a.class,<a 
name="line.289"></a>
+<span class="sourceLineNo">290</span>                     int[].class),<a 
name="line.290"></a>
+<span class="sourceLineNo">291</span>        /** Source of randomness is 
{@link Well44497b}. */<a name="line.291"></a>
+<span class="sourceLineNo">292</span>        WELL_44497_B(Well44497b.class,<a 
name="line.292"></a>
+<span class="sourceLineNo">293</span>                     int[].class),<a 
name="line.293"></a>
+<span class="sourceLineNo">294</span>        /** Source of randomness is 
{@link MersenneTwister}. */<a name="line.294"></a>
+<span class="sourceLineNo">295</span>        MT(MersenneTwister.class,<a 
name="line.295"></a>
+<span class="sourceLineNo">296</span>           int[].class),<a 
name="line.296"></a>
+<span class="sourceLineNo">297</span>        /** Source of randomness is 
{@link ISAACRandom}. */<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        ISAAC(ISAACRandom.class,<a 
name="line.298"></a>
+<span class="sourceLineNo">299</span>              int[].class),<a 
name="line.299"></a>
+<span class="sourceLineNo">300</span>        /** Source of randomness is 
{@link SplitMix64}. */<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        SPLIT_MIX_64(SplitMix64.class,<a 
name="line.301"></a>
+<span class="sourceLineNo">302</span>                     Long.class),<a 
name="line.302"></a>
+<span class="sourceLineNo">303</span>        /** Source of randomness is 
{@link XorShift1024Star}. */<a name="line.303"></a>
+<span class="sourceLineNo">304</span>        
XOR_SHIFT_1024_S(XorShift1024Star.class,<a name="line.304"></a>
+<span class="sourceLineNo">305</span>                         long[].class),<a 
name="line.305"></a>
+<span class="sourceLineNo">306</span>        /** Source of randomness is 
{@link TwoCmres}. */<a name="line.306"></a>
+<span class="sourceLineNo">307</span>        TWO_CMRES(TwoCmres.class,<a 
name="line.307"></a>
+<span class="sourceLineNo">308</span>                  Integer.class),<a 
name="line.308"></a>
+<span class="sourceLineNo">309</span>        /**<a name="line.309"></a>
+<span class="sourceLineNo">310</span>         * Source of randomness is {@link 
TwoCmres} with explicit selection<a name="line.310"></a>
+<span class="sourceLineNo">311</span>         * of the two subcycle 
generators.<a name="line.311"></a>
+<span class="sourceLineNo">312</span>         */<a name="line.312"></a>
+<span class="sourceLineNo">313</span>        
TWO_CMRES_SELECT(TwoCmres.class,<a name="line.313"></a>
+<span class="sourceLineNo">314</span>                         Integer.class,<a 
name="line.314"></a>
+<span class="sourceLineNo">315</span>                         Integer.TYPE,<a 
name="line.315"></a>
+<span class="sourceLineNo">316</span>                         Integer.TYPE),<a 
name="line.316"></a>
+<span class="sourceLineNo">317</span>        /** Source of randomness is 
{@link MersenneTwister64}. */<a name="line.317"></a>
+<span class="sourceLineNo">318</span>        MT_64(MersenneTwister64.class,<a 
name="line.318"></a>
+<span class="sourceLineNo">319</span>              long[].class),<a 
name="line.319"></a>
+<span class="sourceLineNo">320</span>        /** Source of randomness is 
{@link MultiplyWithCarry256}. */<a name="line.320"></a>
+<span class="sourceLineNo">321</span>        
MWC_256(MultiplyWithCarry256.class,<a name="line.321"></a>
+<span class="sourceLineNo">322</span>                int[].class),<a 
name="line.322"></a>
+<span class="sourceLineNo">323</span>        /** Source of randomness is 
{@link KISSRandom}. */<a name="line.323"></a>
+<span class="sourceLineNo">324</span>        KISS(KISSRandom.class,<a 
name="line.324"></a>
+<span class="sourceLineNo">325</span>             int[].class);<a 
name="line.325"></a>
+<span class="sourceLineNo">326</span><a name="line.326"></a>
+<span class="sourceLineNo">327</span>        /** Source type. */<a 
name="line.327"></a>
+<span class="sourceLineNo">328</span>        private final Class&lt;? extends 
UniformRandomProvider&gt; rng;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>        /** Data needed to build the 
generator. */<a name="line.329"></a>
+<span class="sourceLineNo">330</span>        private final Class&lt;?&gt;[] 
args;<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>        /**<a name="line.332"></a>
+<span class="sourceLineNo">333</span>         * @param rng Source type.<a 
name="line.333"></a>
+<span class="sourceLineNo">334</span>         * @param args Data needed to 
create a generator instance.<a name="line.334"></a>
+<span class="sourceLineNo">335</span>         * The first element must be the 
native seed type.<a name="line.335"></a>
+<span class="sourceLineNo">336</span>         */<a name="line.336"></a>
+<span class="sourceLineNo">337</span>        RandomSourceInternal(Class&lt;? 
extends UniformRandomProvider&gt; rng,<a name="line.337"></a>
+<span class="sourceLineNo">338</span>                             
Class&lt;?&gt; ... args) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>            this.rng = rng;<a 
name="line.339"></a>
+<span class="sourceLineNo">340</span>            this.args = 
Arrays.copyOf(args, args.length);<a name="line.340"></a>
+<span class="sourceLineNo">341</span>        }<a name="line.341"></a>
+<span class="sourceLineNo">342</span><a name="line.342"></a>
+<span class="sourceLineNo">343</span>        /**<a name="line.343"></a>
+<span class="sourceLineNo">344</span>         * @return the source type.<a 
name="line.344"></a>
+<span class="sourceLineNo">345</span>         */<a name="line.345"></a>
+<span class="sourceLineNo">346</span>        public Class&lt;?&gt; getRng() 
{<a name="line.346"></a>
+<span class="sourceLineNo">347</span>            return rng;<a 
name="line.347"></a>
+<span class="sourceLineNo">348</span>        }<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>        /**<a name="line.350"></a>
+<span class="sourceLineNo">351</span>         * @return the seed type.<a 
name="line.351"></a>
+<span class="sourceLineNo">352</span>         */<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        Class&lt;?&gt; getSeed() {<a 
name="line.353"></a>
+<span class="sourceLineNo">354</span>            return args[0];<a 
name="line.354"></a>
+<span class="sourceLineNo">355</span>        }<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>        /**<a name="line.357"></a>
+<span class="sourceLineNo">358</span>         * @return the data needed to 
build the generator.<a name="line.358"></a>
+<span class="sourceLineNo">359</span>         */<a name="line.359"></a>
+<span class="sourceLineNo">360</span>        Class&lt;?&gt;[] getArgs() {<a 
name="line.360"></a>
+<span class="sourceLineNo">361</span>            return args;<a 
name="line.361"></a>
+<span class="sourceLineNo">362</span>        }<a name="line.362"></a>
+<span class="sourceLineNo">363</span><a name="line.363"></a>
+<span class="sourceLineNo">364</span>        /**<a name="line.364"></a>
+<span class="sourceLineNo">365</span>         * Checks whether the type of 
given {@code seed} is the native type<a name="line.365"></a>
+<span class="sourceLineNo">366</span>         * of the implementation.<a 
name="line.366"></a>
+<span class="sourceLineNo">367</span>         *<a name="line.367"></a>
+<span class="sourceLineNo">368</span>         * @param &lt;SEED&gt; Seed 
type.<a name="line.368"></a>
+<span class="sourceLineNo">369</span>         *<a name="line.369"></a>
+<span class="sourceLineNo">370</span>         * @param seed Seed value.<a 
name="line.370"></a>
+<span class="sourceLineNo">371</span>         * @return {@code true} if the 
seed can be passed to the builder<a name="line.371"></a>
+<span class="sourceLineNo">372</span>         * for this RNG type.<a 
name="line.372"></a>
+<span class="sourceLineNo">373</span>         */<a name="line.373"></a>
+<span class="sourceLineNo">374</span>        public &lt;SEED&gt; boolean 
isNativeSeed(SEED seed) {<a name="line.374"></a>
+<span class="sourceLineNo">375</span>            return seed == null ?<a 
name="line.375"></a>
+<span class="sourceLineNo">376</span>                false :<a 
name="line.376"></a>
+<span class="sourceLineNo">377</span>                
getSeed().equals(seed.getClass());<a name="line.377"></a>
+<span class="sourceLineNo">378</span>        }<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    }<a name="line.379"></a>
+<span class="sourceLineNo">380</span>}<a name="line.380"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/39/3940de2ab19a7f3266ac6917116bf8ea62df965a.svn-base
----------------------------------------------------------------------
diff --git 
a/commons-rng-core/site-content/.svn/pristine/39/3940de2ab19a7f3266ac6917116bf8ea62df965a.svn-base
 
b/commons-rng-core/site-content/.svn/pristine/39/3940de2ab19a7f3266ac6917116bf8ea62df965a.svn-base
new file mode 100644
index 0000000..b226e41
Binary files /dev/null and 
b/commons-rng-core/site-content/.svn/pristine/39/3940de2ab19a7f3266ac6917116bf8ea62df965a.svn-base
 differ

http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/3a/3a157358078e95f088c0dcaf29be7d2e847665c3.svn-base
----------------------------------------------------------------------
diff --git 
a/commons-rng-core/site-content/.svn/pristine/3a/3a157358078e95f088c0dcaf29be7d2e847665c3.svn-base
 
b/commons-rng-core/site-content/.svn/pristine/3a/3a157358078e95f088c0dcaf29be7d2e847665c3.svn-base
new file mode 100644
index 0000000..39e5aa5
--- /dev/null
+++ 
b/commons-rng-core/site-content/.svn/pristine/3a/3a157358078e95f088c0dcaf29be7d2e847665c3.svn-base
@@ -0,0 +1,147 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" 
href="../../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software 
Foundation (ASF) under one or more<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * contributor license agreements.  See 
the NOTICE file distributed with<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * this work for additional information 
regarding copyright ownership.<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * The ASF licenses this file to You 
under the Apache License, Version 2.0<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * (the "License"); you may not use this 
file except in compliance with<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * the License.  You may obtain a copy of 
the License at<a name="line.7"></a>
+<span class="sourceLineNo">008</span> *<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *      
http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> * Unless required by applicable law or 
agreed to in writing, software<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * distributed under the License is 
distributed on an "AS IS" BASIS,<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF 
ANY KIND, either express or implied.<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * See the License for the specific 
language governing permissions and<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * limitations under the License.<a 
name="line.15"></a>
+<span class="sourceLineNo">016</span> */<a name="line.16"></a>
+<span class="sourceLineNo">017</span><a name="line.17"></a>
+<span class="sourceLineNo">018</span>package 
org.apache.commons.rng.internal.source64;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import 
org.apache.commons.rng.internal.util.NumberFactory;<a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21"></a>
+<span class="sourceLineNo">022</span>/**<a name="line.22"></a>
+<span class="sourceLineNo">023</span> * A fast RNG, with 64 bits of state, 
that can be used to initialize the<a name="line.23"></a>
+<span class="sourceLineNo">024</span> * state of other generators.<a 
name="line.24"></a>
+<span class="sourceLineNo">025</span> *<a name="line.25"></a>
+<span class="sourceLineNo">026</span> * @see &lt;a 
href="http://xorshift.di.unimi.it/splitmix64.c"&gt;<a name="line.26"></a>
+<span class="sourceLineNo">027</span> * Original source code&lt;/a&gt;<a 
name="line.27"></a>
+<span class="sourceLineNo">028</span> *<a name="line.28"></a>
+<span class="sourceLineNo">029</span> * @since 1.0<a name="line.29"></a>
+<span class="sourceLineNo">030</span> */<a name="line.30"></a>
+<span class="sourceLineNo">031</span>public class SplitMix64 extends 
LongProvider {<a name="line.31"></a>
+<span class="sourceLineNo">032</span>    /** State. */<a name="line.32"></a>
+<span class="sourceLineNo">033</span>    private long state;<a 
name="line.33"></a>
+<span class="sourceLineNo">034</span><a name="line.34"></a>
+<span class="sourceLineNo">035</span>    /**<a name="line.35"></a>
+<span class="sourceLineNo">036</span>     * Creates a new instance.<a 
name="line.36"></a>
+<span class="sourceLineNo">037</span>     *<a name="line.37"></a>
+<span class="sourceLineNo">038</span>     * @param seed Initial seed.<a 
name="line.38"></a>
+<span class="sourceLineNo">039</span>     */<a name="line.39"></a>
+<span class="sourceLineNo">040</span>    public SplitMix64(Long seed) {<a 
name="line.40"></a>
+<span class="sourceLineNo">041</span>        setSeedInternal(seed);<a 
name="line.41"></a>
+<span class="sourceLineNo">042</span>    }<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>    /**<a name="line.44"></a>
+<span class="sourceLineNo">045</span>     * Seeds the RNG.<a 
name="line.45"></a>
+<span class="sourceLineNo">046</span>     *<a name="line.46"></a>
+<span class="sourceLineNo">047</span>     * @param seed Seed.<a 
name="line.47"></a>
+<span class="sourceLineNo">048</span>     */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    private void setSeedInternal(Long 
seed) {<a name="line.49"></a>
+<span class="sourceLineNo">050</span>        state = seed;<a 
name="line.50"></a>
+<span class="sourceLineNo">051</span>    }<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>    /** {@inheritDoc} */<a 
name="line.53"></a>
+<span class="sourceLineNo">054</span>    @Override<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    public long next() {<a 
name="line.55"></a>
+<span class="sourceLineNo">056</span>        long z = state += 
0x9e3779b97f4a7c15L;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>        z = (z ^ (z &gt;&gt;&gt; 30)) * 
0xbf58476d1ce4e5b9L;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>        z = (z ^ (z &gt;&gt;&gt; 27)) * 
0x94d049bb133111ebL;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>        return z ^ (z &gt;&gt;&gt; 31);<a 
name="line.59"></a>
+<span class="sourceLineNo">060</span>    }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>    /** {@inheritDoc} */<a 
name="line.62"></a>
+<span class="sourceLineNo">063</span>    @Override<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    protected byte[] getStateInternal() 
{<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        return 
NumberFactory.makeByteArray(state);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    }<a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span>    /** {@inheritDoc} */<a 
name="line.68"></a>
+<span class="sourceLineNo">069</span>    @Override<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    protected void 
setStateInternal(byte[] s) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>        checkStateSize(s, 8);<a 
name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span>        state = 
NumberFactory.makeLong(s);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    }<a name="line.74"></a>
+<span class="sourceLineNo">075</span>}<a name="line.75"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>
\ No newline at end of file

Reply via email to