You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@commons.apache.org by ch...@apache.org on 2018/08/14 12:48:24 UTC

svn commit: r1033941 [23/26] - in /websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1: ./ jquery/ jquery/external/ jquery/external/jquery/ jquery/images/ jquery/jszip-utils/ jquery/jszip-utils/dist/ jquery/jszip/ j...

Added: websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/KISSRandom.html
==============================================================================
--- websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/KISSRandom.html (added)
+++ websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/KISSRandom.html Tue Aug 14 12:48:23 2018
@@ -0,0 +1,192 @@
+<!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><a name="line.2"> * Licensed to the Apache Software Foundation (ASF) under one or more</a>
+<span class="sourceLineNo">003</span><a name="line.3"> * contributor license agreements.  See the NOTICE file distributed with</a>
+<span class="sourceLineNo">004</span><a name="line.4"> * this work for additional information regarding copyright ownership.</a>
+<span class="sourceLineNo">005</span><a name="line.5"> * The ASF licenses this file to You under the Apache License, Version 2.0</a>
+<span class="sourceLineNo">006</span><a name="line.6"> * (the "License"); you may not use this file except in compliance with</a>
+<span class="sourceLineNo">007</span><a name="line.7"> * the License.  You may obtain a copy of the License at</a>
+<span class="sourceLineNo">008</span><a name="line.8"> *</a>
+<span class="sourceLineNo">009</span><a name="line.9"> *      http://www.apache.org/licenses/LICENSE-2.0</a>
+<span class="sourceLineNo">010</span><a name="line.10"> *</a>
+<span class="sourceLineNo">011</span><a name="line.11"> * Unless required by applicable law or agreed to in writing, software</a>
+<span class="sourceLineNo">012</span><a name="line.12"> * distributed under the License is distributed on an "AS IS" BASIS,</a>
+<span class="sourceLineNo">013</span><a name="line.13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</a>
+<span class="sourceLineNo">014</span><a name="line.14"> * See the License for the specific language governing permissions and</a>
+<span class="sourceLineNo">015</span><a name="line.15"> * limitations under the License.</a>
+<span class="sourceLineNo">016</span><a name="line.16"> */</a>
+<span class="sourceLineNo">017</span><a name="line.17">package org.apache.commons.rng.core.source32;</a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19">import org.apache.commons.rng.core.util.NumberFactory;</a>
+<span class="sourceLineNo">020</span><a name="line.20"></a>
+<span class="sourceLineNo">021</span><a name="line.21">/**</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * Port from Marsaglia's &lt;a href="http://www.cse.yorku.ca/~oz/marsaglia-rng.html"&gt;</a>
+<span class="sourceLineNo">023</span><a name="line.23"> * "KISS" algorithm&lt;/a&gt;.</a>
+<span class="sourceLineNo">024</span><a name="line.24"> * This version contains the correction referred to</a>
+<span class="sourceLineNo">025</span><a name="line.25"> * &lt;a href="https://programmingpraxis.com/2010/10/05/george-marsaglias-random-number-generators/"&gt;here&lt;/a&gt;</a>
+<span class="sourceLineNo">026</span><a name="line.26"> * in a reply to the original post.</a>
+<span class="sourceLineNo">027</span><a name="line.27"> *</a>
+<span class="sourceLineNo">028</span><a name="line.28"> * @see &lt;a href="https://en.wikipedia.org/wiki/KISS_(algorithm)"&gt;KISS (Wikipedia)&lt;/a&gt;</a>
+<span class="sourceLineNo">029</span><a name="line.29"> * @since 1.0</a>
+<span class="sourceLineNo">030</span><a name="line.30"> */</a>
+<span class="sourceLineNo">031</span><a name="line.31">public class KISSRandom extends IntProvider {</a>
+<span class="sourceLineNo">032</span><a name="line.32">    /** Size of the seed. */</a>
+<span class="sourceLineNo">033</span><a name="line.33">    private static final int SEED_SIZE = 4;</a>
+<span class="sourceLineNo">034</span><a name="line.34">    /** State variable. */</a>
+<span class="sourceLineNo">035</span><a name="line.35">    private int z;</a>
+<span class="sourceLineNo">036</span><a name="line.36">    /** State variable. */</a>
+<span class="sourceLineNo">037</span><a name="line.37">    private int w;</a>
+<span class="sourceLineNo">038</span><a name="line.38">    /** State variable. */</a>
+<span class="sourceLineNo">039</span><a name="line.39">    private int jsr;</a>
+<span class="sourceLineNo">040</span><a name="line.40">    /** State variable. */</a>
+<span class="sourceLineNo">041</span><a name="line.41">    private int jcong;</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">     * Creates a new instance.</a>
+<span class="sourceLineNo">045</span><a name="line.45">     *</a>
+<span class="sourceLineNo">046</span><a name="line.46">     * @param seed Seed.</a>
+<span class="sourceLineNo">047</span><a name="line.47">     * If the length is larger than 4, only the first 4 elements will</a>
+<span class="sourceLineNo">048</span><a name="line.48">     * be used; if smaller, the remaining elements will be automatically</a>
+<span class="sourceLineNo">049</span><a name="line.49">     * set.</a>
+<span class="sourceLineNo">050</span><a name="line.50">     */</a>
+<span class="sourceLineNo">051</span><a name="line.51">    public KISSRandom(int[] seed) {</a>
+<span class="sourceLineNo">052</span><a name="line.52">        setSeedInternal(seed);</a>
+<span class="sourceLineNo">053</span><a name="line.53">    }</a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">056</span><a name="line.56">    @Override</a>
+<span class="sourceLineNo">057</span><a name="line.57">    protected byte[] getStateInternal() {</a>
+<span class="sourceLineNo">058</span><a name="line.58">        return NumberFactory.makeByteArray(new int[] { z, w, jsr, jcong });</a>
+<span class="sourceLineNo">059</span><a name="line.59">    }</a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">062</span><a name="line.62">    @Override</a>
+<span class="sourceLineNo">063</span><a name="line.63">    protected void setStateInternal(byte[] s) {</a>
+<span class="sourceLineNo">064</span><a name="line.64">        checkStateSize(s, SEED_SIZE * 4);</a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66">        final int[] tmp = NumberFactory.makeIntArray(s);</a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68">        z = tmp[0];</a>
+<span class="sourceLineNo">069</span><a name="line.69">        w = tmp[1];</a>
+<span class="sourceLineNo">070</span><a name="line.70">        jsr = tmp[2];</a>
+<span class="sourceLineNo">071</span><a name="line.71">        jcong = tmp[3];</a>
+<span class="sourceLineNo">072</span><a name="line.72">    }</a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74">    /**</a>
+<span class="sourceLineNo">075</span><a name="line.75">     * Seeds the RNG.</a>
+<span class="sourceLineNo">076</span><a name="line.76">     *</a>
+<span class="sourceLineNo">077</span><a name="line.77">     * @param seed Seed.</a>
+<span class="sourceLineNo">078</span><a name="line.78">     */</a>
+<span class="sourceLineNo">079</span><a name="line.79">    private void setSeedInternal(int[] seed) {</a>
+<span class="sourceLineNo">080</span><a name="line.80">        // Reset the whole state of this RNG (i.e. the 4 state variables).</a>
+<span class="sourceLineNo">081</span><a name="line.81">        // Filling procedure is not part of the reference code.</a>
+<span class="sourceLineNo">082</span><a name="line.82">        final int[] tmp = new int[SEED_SIZE];</a>
+<span class="sourceLineNo">083</span><a name="line.83">        fillState(tmp, seed);</a>
+<span class="sourceLineNo">084</span><a name="line.84"></a>
+<span class="sourceLineNo">085</span><a name="line.85">        z = tmp[0];</a>
+<span class="sourceLineNo">086</span><a name="line.86">        w = tmp[1];</a>
+<span class="sourceLineNo">087</span><a name="line.87">        jsr = tmp[2];</a>
+<span class="sourceLineNo">088</span><a name="line.88">        jcong = tmp[3];</a>
+<span class="sourceLineNo">089</span><a name="line.89">    }</a>
+<span class="sourceLineNo">090</span><a name="line.90"></a>
+<span class="sourceLineNo">091</span><a name="line.91">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">092</span><a name="line.92">    @Override</a>
+<span class="sourceLineNo">093</span><a name="line.93">    public int next() {</a>
+<span class="sourceLineNo">094</span><a name="line.94">        z = computeNew(36969, z);</a>
+<span class="sourceLineNo">095</span><a name="line.95">        w = computeNew(18000, w);</a>
+<span class="sourceLineNo">096</span><a name="line.96">        final int mwc = (z &lt;&lt; 16) + w;</a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span><a name="line.98">        // Cf. correction mentioned in the reply to the original post:</a>
+<span class="sourceLineNo">099</span><a name="line.99">        //   https://programmingpraxis.com/2010/10/05/george-marsaglias-random-number-generators/</a>
+<span class="sourceLineNo">100</span><a name="line.100">        jsr ^= jsr &lt;&lt; 13;</a>
+<span class="sourceLineNo">101</span><a name="line.101">        jsr ^= jsr &gt;&gt;&gt; 17;</a>
+<span class="sourceLineNo">102</span><a name="line.102">        jsr ^= jsr &lt;&lt; 5;</a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104">        jcong = 69069 * jcong + 1234567;</a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106">        return (mwc ^ jcong) + jsr;</a>
+<span class="sourceLineNo">107</span><a name="line.107">    }</a>
+<span class="sourceLineNo">108</span><a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109">    /**</a>
+<span class="sourceLineNo">110</span><a name="line.110">     * Compute new value.</a>
+<span class="sourceLineNo">111</span><a name="line.111">     *</a>
+<span class="sourceLineNo">112</span><a name="line.112">     * @param mult Multiplier.</a>
+<span class="sourceLineNo">113</span><a name="line.113">     * @param previous Previous value.</a>
+<span class="sourceLineNo">114</span><a name="line.114">     * @return new value.</a>
+<span class="sourceLineNo">115</span><a name="line.115">     */</a>
+<span class="sourceLineNo">116</span><a name="line.116">    private int computeNew(int mult,</a>
+<span class="sourceLineNo">117</span><a name="line.117">                           int previous) {</a>
+<span class="sourceLineNo">118</span><a name="line.118">        return mult * (previous &amp; 65535) + (previous &gt;&gt;&gt; 16);</a>
+<span class="sourceLineNo">119</span><a name="line.119">    }</a>
+<span class="sourceLineNo">120</span><a name="line.120">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/MersenneTwister.html
==============================================================================
--- websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/MersenneTwister.html (added)
+++ websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/MersenneTwister.html Tue Aug 14 12:48:23 2018
@@ -0,0 +1,316 @@
+<!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><a name="line.2"> * Licensed to the Apache Software Foundation (ASF) under one or more</a>
+<span class="sourceLineNo">003</span><a name="line.3"> * contributor license agreements.  See the NOTICE file distributed with</a>
+<span class="sourceLineNo">004</span><a name="line.4"> * this work for additional information regarding copyright ownership.</a>
+<span class="sourceLineNo">005</span><a name="line.5"> * The ASF licenses this file to You under the Apache License, Version 2.0</a>
+<span class="sourceLineNo">006</span><a name="line.6"> * (the "License"); you may not use this file except in compliance with</a>
+<span class="sourceLineNo">007</span><a name="line.7"> * the License.  You may obtain a copy of the License at</a>
+<span class="sourceLineNo">008</span><a name="line.8"> *</a>
+<span class="sourceLineNo">009</span><a name="line.9"> *      http://www.apache.org/licenses/LICENSE-2.0</a>
+<span class="sourceLineNo">010</span><a name="line.10"> *</a>
+<span class="sourceLineNo">011</span><a name="line.11"> * Unless required by applicable law or agreed to in writing, software</a>
+<span class="sourceLineNo">012</span><a name="line.12"> * distributed under the License is distributed on an "AS IS" BASIS,</a>
+<span class="sourceLineNo">013</span><a name="line.13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</a>
+<span class="sourceLineNo">014</span><a name="line.14"> * See the License for the specific language governing permissions and</a>
+<span class="sourceLineNo">015</span><a name="line.15"> * limitations under the License.</a>
+<span class="sourceLineNo">016</span><a name="line.16"> */</a>
+<span class="sourceLineNo">017</span><a name="line.17">package org.apache.commons.rng.core.source32;</a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19">import java.util.Arrays;</a>
+<span class="sourceLineNo">020</span><a name="line.20">import org.apache.commons.rng.core.util.NumberFactory;</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 name="line.23"> * This class implements a powerful pseudo-random number generator</a>
+<span class="sourceLineNo">024</span><a name="line.24"> * developed by Makoto Matsumoto and Takuji Nishimura during</a>
+<span class="sourceLineNo">025</span><a name="line.25"> * 1996-1997.</a>
+<span class="sourceLineNo">026</span><a name="line.26"> *</a>
+<span class="sourceLineNo">027</span><a name="line.27"> * &lt;p&gt;</a>
+<span class="sourceLineNo">028</span><a name="line.28"> * This generator features an extremely long period</a>
+<span class="sourceLineNo">029</span><a name="line.29"> * (2&lt;sup&gt;19937&lt;/sup&gt;-1) and 623-dimensional equidistribution up to</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * 32 bits accuracy.  The home page for this generator is located at</a>
+<span class="sourceLineNo">031</span><a name="line.31"> * &lt;a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html"&gt;</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html&lt;/a&gt;.</a>
+<span class="sourceLineNo">033</span><a name="line.33"> * &lt;/p&gt;</a>
+<span class="sourceLineNo">034</span><a name="line.34"> *</a>
+<span class="sourceLineNo">035</span><a name="line.35"> * &lt;p&gt;</a>
+<span class="sourceLineNo">036</span><a name="line.36"> * This generator is described in a paper by Makoto Matsumoto and</a>
+<span class="sourceLineNo">037</span><a name="line.37"> * Takuji Nishimura in 1998:</a>
+<span class="sourceLineNo">038</span><a name="line.38"> * &lt;a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf"&gt;</a>
+<span class="sourceLineNo">039</span><a name="line.39"> * Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random</a>
+<span class="sourceLineNo">040</span><a name="line.40"> * Number Generator&lt;/a&gt;,</a>
+<span class="sourceLineNo">041</span><a name="line.41"> * ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1,</a>
+<span class="sourceLineNo">042</span><a name="line.42"> * January 1998, pp 3--30</a>
+<span class="sourceLineNo">043</span><a name="line.43"> * &lt;/p&gt;</a>
+<span class="sourceLineNo">044</span><a name="line.44"> *</a>
+<span class="sourceLineNo">045</span><a name="line.45"> * &lt;p&gt;</a>
+<span class="sourceLineNo">046</span><a name="line.46"> * This class is mainly a Java port of the</a>
+<span class="sourceLineNo">047</span><a name="line.47"> * &lt;a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html"&gt;</a>
+<span class="sourceLineNo">048</span><a name="line.48"> * 2002-01-26 version of the generator&lt;/a&gt; written in C by Makoto Matsumoto</a>
+<span class="sourceLineNo">049</span><a name="line.49"> * and Takuji Nishimura. Here is their original copyright:</a>
+<span class="sourceLineNo">050</span><a name="line.50"> * &lt;/p&gt;</a>
+<span class="sourceLineNo">051</span><a name="line.51"> *</a>
+<span class="sourceLineNo">052</span><a name="line.52"> * &lt;table border="0" width="80%" cellpadding="10" style="background-color: #E0E0E0" summary="Mersenne Twister licence"&gt;</a>
+<span class="sourceLineNo">053</span><a name="line.53"> * &lt;tr&gt;&lt;td&gt;Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,</a>
+<span class="sourceLineNo">054</span><a name="line.54"> *     All rights reserved.&lt;/td&gt;&lt;/tr&gt;</a>
+<span class="sourceLineNo">055</span><a name="line.55"> *</a>
+<span class="sourceLineNo">056</span><a name="line.56"> * &lt;tr&gt;&lt;td&gt;Redistribution and use in source and binary forms, with or without</a>
+<span class="sourceLineNo">057</span><a name="line.57"> * modification, are permitted provided that the following conditions</a>
+<span class="sourceLineNo">058</span><a name="line.58"> * are met:</a>
+<span class="sourceLineNo">059</span><a name="line.59"> * &lt;ol&gt;</a>
+<span class="sourceLineNo">060</span><a name="line.60"> *   &lt;li&gt;Redistributions of source code must retain the above copyright</a>
+<span class="sourceLineNo">061</span><a name="line.61"> *       notice, this list of conditions and the following disclaimer.&lt;/li&gt;</a>
+<span class="sourceLineNo">062</span><a name="line.62"> *   &lt;li&gt;Redistributions in binary form must reproduce the above copyright</a>
+<span class="sourceLineNo">063</span><a name="line.63"> *       notice, this list of conditions and the following disclaimer in the</a>
+<span class="sourceLineNo">064</span><a name="line.64"> *       documentation and/or other materials provided with the distribution.&lt;/li&gt;</a>
+<span class="sourceLineNo">065</span><a name="line.65"> *   &lt;li&gt;The names of its contributors may not be used to endorse or promote</a>
+<span class="sourceLineNo">066</span><a name="line.66"> *       products derived from this software without specific prior written</a>
+<span class="sourceLineNo">067</span><a name="line.67"> *       permission.&lt;/li&gt;</a>
+<span class="sourceLineNo">068</span><a name="line.68"> * &lt;/ol&gt;&lt;/td&gt;&lt;/tr&gt;</a>
+<span class="sourceLineNo">069</span><a name="line.69"> *</a>
+<span class="sourceLineNo">070</span><a name="line.70"> * &lt;tr&gt;&lt;td&gt;&lt;strong&gt;THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND</a>
+<span class="sourceLineNo">071</span><a name="line.71"> * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,</a>
+<span class="sourceLineNo">072</span><a name="line.72"> * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF</a>
+<span class="sourceLineNo">073</span><a name="line.73"> * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</a>
+<span class="sourceLineNo">074</span><a name="line.74"> * DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS</a>
+<span class="sourceLineNo">075</span><a name="line.75"> * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,</a>
+<span class="sourceLineNo">076</span><a name="line.76"> * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,</a>
+<span class="sourceLineNo">077</span><a name="line.77"> * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR</a>
+<span class="sourceLineNo">078</span><a name="line.78"> * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY</a>
+<span class="sourceLineNo">079</span><a name="line.79"> * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</a>
+<span class="sourceLineNo">080</span><a name="line.80"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE</a>
+<span class="sourceLineNo">081</span><a name="line.81"> * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH</a>
+<span class="sourceLineNo">082</span><a name="line.82"> * DAMAGE.&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;</a>
+<span class="sourceLineNo">083</span><a name="line.83"> * &lt;/table&gt;</a>
+<span class="sourceLineNo">084</span><a name="line.84"> *</a>
+<span class="sourceLineNo">085</span><a name="line.85"> * @see &lt;a href="https://en.wikipedia.org/wiki/Mersenne_Twister"&gt;Mersenne Twister (Wikipedia)&lt;/a&gt;</a>
+<span class="sourceLineNo">086</span><a name="line.86"> * @since 1.0</a>
+<span class="sourceLineNo">087</span><a name="line.87"> */</a>
+<span class="sourceLineNo">088</span><a name="line.88">public class MersenneTwister extends IntProvider {</a>
+<span class="sourceLineNo">089</span><a name="line.89">    /** Mask 32 most significant bits. */</a>
+<span class="sourceLineNo">090</span><a name="line.90">    private static final long INT_MASK_LONG = 0xffffffffL;</a>
+<span class="sourceLineNo">091</span><a name="line.91">    /** Most significant w-r bits. */</a>
+<span class="sourceLineNo">092</span><a name="line.92">    private static final long UPPER_MASK_LONG = 0x80000000L;</a>
+<span class="sourceLineNo">093</span><a name="line.93">    /** Least significant r bits. */</a>
+<span class="sourceLineNo">094</span><a name="line.94">    private static final long LOWER_MASK_LONG = 0x7fffffffL;</a>
+<span class="sourceLineNo">095</span><a name="line.95">    /** Most significant w-r bits. */</a>
+<span class="sourceLineNo">096</span><a name="line.96">    private static final int UPPER_MASK = 0x80000000;</a>
+<span class="sourceLineNo">097</span><a name="line.97">    /** Least significant r bits. */</a>
+<span class="sourceLineNo">098</span><a name="line.98">    private static final int LOWER_MASK = 0x7fffffff;</a>
+<span class="sourceLineNo">099</span><a name="line.99">    /** Size of the bytes pool. */</a>
+<span class="sourceLineNo">100</span><a name="line.100">    private static final int N = 624;</a>
+<span class="sourceLineNo">101</span><a name="line.101">    /** Period second parameter. */</a>
+<span class="sourceLineNo">102</span><a name="line.102">    private static final int M = 397;</a>
+<span class="sourceLineNo">103</span><a name="line.103">    /** X * MATRIX_A for X = {0, 1}. */</a>
+<span class="sourceLineNo">104</span><a name="line.104">    private static final int[] MAG01 = { 0x0, 0x9908b0df };</a>
+<span class="sourceLineNo">105</span><a name="line.105">    /** Bytes pool. */</a>
+<span class="sourceLineNo">106</span><a name="line.106">    private int[] mt = new int[N];</a>
+<span class="sourceLineNo">107</span><a name="line.107">    /** Current index in the bytes pool. */</a>
+<span class="sourceLineNo">108</span><a name="line.108">    private int mti;</a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110">    /**</a>
+<span class="sourceLineNo">111</span><a name="line.111">     * Creates a new random number generator.</a>
+<span class="sourceLineNo">112</span><a name="line.112">     *</a>
+<span class="sourceLineNo">113</span><a name="line.113">     * @param seed Initial seed.</a>
+<span class="sourceLineNo">114</span><a name="line.114">     */</a>
+<span class="sourceLineNo">115</span><a name="line.115">    public MersenneTwister(int[] seed) {</a>
+<span class="sourceLineNo">116</span><a name="line.116">        setSeedInternal(seed);</a>
+<span class="sourceLineNo">117</span><a name="line.117">    }</a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">120</span><a name="line.120">    @Override</a>
+<span class="sourceLineNo">121</span><a name="line.121">    protected byte[] getStateInternal() {</a>
+<span class="sourceLineNo">122</span><a name="line.122">        final int[] s = Arrays.copyOf(mt, N + 1);</a>
+<span class="sourceLineNo">123</span><a name="line.123">        s[N] = mti;</a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125">        return NumberFactory.makeByteArray(s);</a>
+<span class="sourceLineNo">126</span><a name="line.126">    }</a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span><a name="line.128">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">129</span><a name="line.129">    @Override</a>
+<span class="sourceLineNo">130</span><a name="line.130">    protected void setStateInternal(byte[] s) {</a>
+<span class="sourceLineNo">131</span><a name="line.131">        checkStateSize(s, (N + 1) * 4);</a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133">        final int[] tmp = NumberFactory.makeIntArray(s);</a>
+<span class="sourceLineNo">134</span><a name="line.134">        System.arraycopy(tmp, 0, mt, 0, N);</a>
+<span class="sourceLineNo">135</span><a name="line.135">        mti = tmp[N];</a>
+<span class="sourceLineNo">136</span><a name="line.136">    }</a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span><a name="line.138">    /**</a>
+<span class="sourceLineNo">139</span><a name="line.139">     * Initializes the generator with the given seed.</a>
+<span class="sourceLineNo">140</span><a name="line.140">     *</a>
+<span class="sourceLineNo">141</span><a name="line.141">     * @param seed Initial seed.</a>
+<span class="sourceLineNo">142</span><a name="line.142">     */</a>
+<span class="sourceLineNo">143</span><a name="line.143">    private void setSeedInternal(int[] seed) {</a>
+<span class="sourceLineNo">144</span><a name="line.144">        fillStateMersenneTwister(mt, seed);</a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span><a name="line.146">        // Initial index.</a>
+<span class="sourceLineNo">147</span><a name="line.147">        mti = N;</a>
+<span class="sourceLineNo">148</span><a name="line.148">    }</a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150">    /**</a>
+<span class="sourceLineNo">151</span><a name="line.151">     * Utility for wholly filling a {@code state} array with non-zero</a>
+<span class="sourceLineNo">152</span><a name="line.152">     * bytes, even if the {@code seed} has a smaller size.</a>
+<span class="sourceLineNo">153</span><a name="line.153">     * The procedure is the one defined by the standard implementation</a>
+<span class="sourceLineNo">154</span><a name="line.154">     * of the algorithm.</a>
+<span class="sourceLineNo">155</span><a name="line.155">     *</a>
+<span class="sourceLineNo">156</span><a name="line.156">     * @param state State to be filled (must be allocated).</a>
+<span class="sourceLineNo">157</span><a name="line.157">     * @param seed Seed (cannot be {@code null}).</a>
+<span class="sourceLineNo">158</span><a name="line.158">     */</a>
+<span class="sourceLineNo">159</span><a name="line.159">    private static void fillStateMersenneTwister(int[] state,</a>
+<span class="sourceLineNo">160</span><a name="line.160">                                                 int[] seed) {</a>
+<span class="sourceLineNo">161</span><a name="line.161">        if (seed.length == 0) {</a>
+<span class="sourceLineNo">162</span><a name="line.162">            // Accept empty seed.</a>
+<span class="sourceLineNo">163</span><a name="line.163">            seed = new int[1];</a>
+<span class="sourceLineNo">164</span><a name="line.164">        }</a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span><a name="line.166">        final int stateSize = state.length;</a>
+<span class="sourceLineNo">167</span><a name="line.167"></a>
+<span class="sourceLineNo">168</span><a name="line.168">        long mt = 19650218 &amp; INT_MASK_LONG;</a>
+<span class="sourceLineNo">169</span><a name="line.169">        state[0] = (int) mt;</a>
+<span class="sourceLineNo">170</span><a name="line.170">        for (int i = 1; i &lt; stateSize; i++) {</a>
+<span class="sourceLineNo">171</span><a name="line.171">            mt = (1812433253L * (mt ^ (mt &gt;&gt; 30)) + i) &amp; INT_MASK_LONG;</a>
+<span class="sourceLineNo">172</span><a name="line.172">            state[i] = (int) mt;</a>
+<span class="sourceLineNo">173</span><a name="line.173">        }</a>
+<span class="sourceLineNo">174</span><a name="line.174"></a>
+<span class="sourceLineNo">175</span><a name="line.175">        int i = 1;</a>
+<span class="sourceLineNo">176</span><a name="line.176">        int j = 0;</a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span><a name="line.178">        for (int k = Math.max(stateSize, seed.length); k &gt; 0; k--) {</a>
+<span class="sourceLineNo">179</span><a name="line.179">            final long a = (state[i] &amp; LOWER_MASK_LONG) | ((state[i] &lt; 0) ? UPPER_MASK_LONG : 0);</a>
+<span class="sourceLineNo">180</span><a name="line.180">            final long b = (state[i - 1] &amp; LOWER_MASK_LONG) | ((state[i - 1] &lt; 0) ? UPPER_MASK_LONG : 0);</a>
+<span class="sourceLineNo">181</span><a name="line.181">            final long c = (a ^ ((b ^ (b &gt;&gt; 30)) * 1664525L)) + seed[j] + j; // Non linear.</a>
+<span class="sourceLineNo">182</span><a name="line.182">            state[i] = (int) (c &amp; INT_MASK_LONG);</a>
+<span class="sourceLineNo">183</span><a name="line.183">            i++;</a>
+<span class="sourceLineNo">184</span><a name="line.184">            j++;</a>
+<span class="sourceLineNo">185</span><a name="line.185">            if (i &gt;= stateSize) {</a>
+<span class="sourceLineNo">186</span><a name="line.186">                state[0] = state[stateSize - 1];</a>
+<span class="sourceLineNo">187</span><a name="line.187">                i = 1;</a>
+<span class="sourceLineNo">188</span><a name="line.188">            }</a>
+<span class="sourceLineNo">189</span><a name="line.189">            if (j &gt;= seed.length) {</a>
+<span class="sourceLineNo">190</span><a name="line.190">                j = 0;</a>
+<span class="sourceLineNo">191</span><a name="line.191">            }</a>
+<span class="sourceLineNo">192</span><a name="line.192">        }</a>
+<span class="sourceLineNo">193</span><a name="line.193"></a>
+<span class="sourceLineNo">194</span><a name="line.194">        for (int k = stateSize - 1; k &gt; 0; k--) {</a>
+<span class="sourceLineNo">195</span><a name="line.195">            final long a = (state[i] &amp; LOWER_MASK_LONG) | ((state[i] &lt; 0) ? UPPER_MASK_LONG : 0);</a>
+<span class="sourceLineNo">196</span><a name="line.196">            final long b = (state[i - 1] &amp; LOWER_MASK_LONG) | ((state[i - 1] &lt; 0) ? UPPER_MASK_LONG : 0);</a>
+<span class="sourceLineNo">197</span><a name="line.197">            final long c = (a ^ ((b ^ (b &gt;&gt; 30)) * 1566083941L)) - i; // Non linear.</a>
+<span class="sourceLineNo">198</span><a name="line.198">            state[i] = (int) (c &amp; INT_MASK_LONG);</a>
+<span class="sourceLineNo">199</span><a name="line.199">            i++;</a>
+<span class="sourceLineNo">200</span><a name="line.200">            if (i &gt;= stateSize) {</a>
+<span class="sourceLineNo">201</span><a name="line.201">                state[0] = state[stateSize - 1];</a>
+<span class="sourceLineNo">202</span><a name="line.202">                i = 1;</a>
+<span class="sourceLineNo">203</span><a name="line.203">            }</a>
+<span class="sourceLineNo">204</span><a name="line.204">        }</a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206">        state[0] = (int) UPPER_MASK_LONG; // MSB is 1, ensuring non-zero initial array.</a>
+<span class="sourceLineNo">207</span><a name="line.207">    }</a>
+<span class="sourceLineNo">208</span><a name="line.208"></a>
+<span class="sourceLineNo">209</span><a name="line.209">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">210</span><a name="line.210">    @Override</a>
+<span class="sourceLineNo">211</span><a name="line.211">    public int next() {</a>
+<span class="sourceLineNo">212</span><a name="line.212">        int y;</a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214">        if (mti &gt;= N) { // Generate N words at one time.</a>
+<span class="sourceLineNo">215</span><a name="line.215">            int mtNext = mt[0];</a>
+<span class="sourceLineNo">216</span><a name="line.216">            for (int k = 0; k &lt; N - M; ++k) {</a>
+<span class="sourceLineNo">217</span><a name="line.217">                int mtCurr = mtNext;</a>
+<span class="sourceLineNo">218</span><a name="line.218">                mtNext = mt[k + 1];</a>
+<span class="sourceLineNo">219</span><a name="line.219">                y = (mtCurr &amp; UPPER_MASK) | (mtNext &amp; LOWER_MASK);</a>
+<span class="sourceLineNo">220</span><a name="line.220">                mt[k] = mt[k + M] ^ (y &gt;&gt;&gt; 1) ^ MAG01[y &amp; 1];</a>
+<span class="sourceLineNo">221</span><a name="line.221">            }</a>
+<span class="sourceLineNo">222</span><a name="line.222">            for (int k = N - M; k &lt; N - 1; ++k) {</a>
+<span class="sourceLineNo">223</span><a name="line.223">                int mtCurr = mtNext;</a>
+<span class="sourceLineNo">224</span><a name="line.224">                mtNext = mt[k + 1];</a>
+<span class="sourceLineNo">225</span><a name="line.225">                y = (mtCurr &amp; UPPER_MASK) | (mtNext &amp; LOWER_MASK);</a>
+<span class="sourceLineNo">226</span><a name="line.226">                mt[k] = mt[k + (M - N)] ^ (y &gt;&gt;&gt; 1) ^ MAG01[y &amp; 1];</a>
+<span class="sourceLineNo">227</span><a name="line.227">            }</a>
+<span class="sourceLineNo">228</span><a name="line.228">            y = (mtNext &amp; UPPER_MASK) | (mt[0] &amp; LOWER_MASK);</a>
+<span class="sourceLineNo">229</span><a name="line.229">            mt[N - 1] = mt[M - 1] ^ (y &gt;&gt;&gt; 1) ^ MAG01[y &amp; 1];</a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span><a name="line.231">            mti = 0;</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><a name="line.234">        y = mt[mti++];</a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236">        // Tempering.</a>
+<span class="sourceLineNo">237</span><a name="line.237">        y ^=  y &gt;&gt;&gt; 11;</a>
+<span class="sourceLineNo">238</span><a name="line.238">        y ^= (y &lt;&lt; 7) &amp; 0x9d2c5680;</a>
+<span class="sourceLineNo">239</span><a name="line.239">        y ^= (y &lt;&lt; 15) &amp; 0xefc60000;</a>
+<span class="sourceLineNo">240</span><a name="line.240">        y ^=  y &gt;&gt;&gt; 18;</a>
+<span class="sourceLineNo">241</span><a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242">        return y;</a>
+<span class="sourceLineNo">243</span><a name="line.243">    }</a>
+<span class="sourceLineNo">244</span><a name="line.244">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/MultiplyWithCarry256.html
==============================================================================
--- websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/MultiplyWithCarry256.html (added)
+++ websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/MultiplyWithCarry256.html Tue Aug 14 12:48:23 2018
@@ -0,0 +1,195 @@
+<!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><a name="line.2"> * Licensed to the Apache Software Foundation (ASF) under one or more</a>
+<span class="sourceLineNo">003</span><a name="line.3"> * contributor license agreements.  See the NOTICE file distributed with</a>
+<span class="sourceLineNo">004</span><a name="line.4"> * this work for additional information regarding copyright ownership.</a>
+<span class="sourceLineNo">005</span><a name="line.5"> * The ASF licenses this file to You under the Apache License, Version 2.0</a>
+<span class="sourceLineNo">006</span><a name="line.6"> * (the "License"); you may not use this file except in compliance with</a>
+<span class="sourceLineNo">007</span><a name="line.7"> * the License.  You may obtain a copy of the License at</a>
+<span class="sourceLineNo">008</span><a name="line.8"> *</a>
+<span class="sourceLineNo">009</span><a name="line.9"> *      http://www.apache.org/licenses/LICENSE-2.0</a>
+<span class="sourceLineNo">010</span><a name="line.10"> *</a>
+<span class="sourceLineNo">011</span><a name="line.11"> * Unless required by applicable law or agreed to in writing, software</a>
+<span class="sourceLineNo">012</span><a name="line.12"> * distributed under the License is distributed on an "AS IS" BASIS,</a>
+<span class="sourceLineNo">013</span><a name="line.13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</a>
+<span class="sourceLineNo">014</span><a name="line.14"> * See the License for the specific language governing permissions and</a>
+<span class="sourceLineNo">015</span><a name="line.15"> * limitations under the License.</a>
+<span class="sourceLineNo">016</span><a name="line.16"> */</a>
+<span class="sourceLineNo">017</span><a name="line.17">package org.apache.commons.rng.core.source32;</a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19">import java.util.Arrays;</a>
+<span class="sourceLineNo">020</span><a name="line.20">import org.apache.commons.rng.core.util.NumberFactory;</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 name="line.23"> * Port from Marsaglia's &lt;a href="https://en.wikipedia.org/wiki/Multiply-with-carry"&gt;</a>
+<span class="sourceLineNo">024</span><a name="line.24"> * "Multiply-With-Carry" algorithm&lt;/a&gt;.</a>
+<span class="sourceLineNo">025</span><a name="line.25"> *</a>
+<span class="sourceLineNo">026</span><a name="line.26"> * &lt;p&gt;</a>
+<span class="sourceLineNo">027</span><a name="line.27"> * Implementation is based on the (non-portable!) C code reproduced on</a>
+<span class="sourceLineNo">028</span><a name="line.28"> * &lt;a href="http://school.anhb.uwa.edu.au/personalpages/kwessen/shared/Marsaglia03.html"&gt;</a>
+<span class="sourceLineNo">029</span><a name="line.29"> * that page&lt;/a&gt;.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * &lt;/p&gt;</a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see &lt;a href="https://en.wikipedia.org/wiki/Multiply-with-carry"&gt;Multiply with carry (Wikipedia)&lt;/a&gt;</a>
+<span class="sourceLineNo">033</span><a name="line.33"> * @since 1.0</a>
+<span class="sourceLineNo">034</span><a name="line.34"> */</a>
+<span class="sourceLineNo">035</span><a name="line.35">public class MultiplyWithCarry256 extends IntProvider {</a>
+<span class="sourceLineNo">036</span><a name="line.36">    /** Length of the state array. */</a>
+<span class="sourceLineNo">037</span><a name="line.37">    private static final int Q_SIZE = 256;</a>
+<span class="sourceLineNo">038</span><a name="line.38">    /** Size of the seed. */</a>
+<span class="sourceLineNo">039</span><a name="line.39">    private static final int SEED_SIZE = Q_SIZE + 1;</a>
+<span class="sourceLineNo">040</span><a name="line.40">    /** Multiply. */</a>
+<span class="sourceLineNo">041</span><a name="line.41">    private static final long A = 809430660;</a>
+<span class="sourceLineNo">042</span><a name="line.42">    /** State. */</a>
+<span class="sourceLineNo">043</span><a name="line.43">    private final int[] state = new int[Q_SIZE];</a>
+<span class="sourceLineNo">044</span><a name="line.44">    /** Current index in "state" array. */</a>
+<span class="sourceLineNo">045</span><a name="line.45">    private int index;</a>
+<span class="sourceLineNo">046</span><a name="line.46">    /** Carry. */</a>
+<span class="sourceLineNo">047</span><a name="line.47">    private int carry;</a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49">    /**</a>
+<span class="sourceLineNo">050</span><a name="line.50">     * Creates a new instance.</a>
+<span class="sourceLineNo">051</span><a name="line.51">     *</a>
+<span class="sourceLineNo">052</span><a name="line.52">     * @param seed Seed.</a>
+<span class="sourceLineNo">053</span><a name="line.53">     * If the length is larger than 257, only the first 257 elements will</a>
+<span class="sourceLineNo">054</span><a name="line.54">     * be used; if smaller, the remaining elements will be automatically</a>
+<span class="sourceLineNo">055</span><a name="line.55">     * set.</a>
+<span class="sourceLineNo">056</span><a name="line.56">     */</a>
+<span class="sourceLineNo">057</span><a name="line.57">    public MultiplyWithCarry256(int[] seed) {</a>
+<span class="sourceLineNo">058</span><a name="line.58">        setSeedInternal(seed);</a>
+<span class="sourceLineNo">059</span><a name="line.59">    }</a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">062</span><a name="line.62">    @Override</a>
+<span class="sourceLineNo">063</span><a name="line.63">    protected byte[] getStateInternal() {</a>
+<span class="sourceLineNo">064</span><a name="line.64">        final int[] s = Arrays.copyOf(state, SEED_SIZE + 1);</a>
+<span class="sourceLineNo">065</span><a name="line.65">        s[SEED_SIZE - 1] = carry;</a>
+<span class="sourceLineNo">066</span><a name="line.66">        s[SEED_SIZE] = index;</a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68">        return NumberFactory.makeByteArray(s);</a>
+<span class="sourceLineNo">069</span><a name="line.69">    }</a>
+<span class="sourceLineNo">070</span><a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">072</span><a name="line.72">    @Override</a>
+<span class="sourceLineNo">073</span><a name="line.73">    protected void setStateInternal(byte[] s) {</a>
+<span class="sourceLineNo">074</span><a name="line.74">        checkStateSize(s, (SEED_SIZE + 1) * 4);</a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76">        final int[] tmp = NumberFactory.makeIntArray(s);</a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78">        System.arraycopy(tmp, 0, state, 0, Q_SIZE);</a>
+<span class="sourceLineNo">079</span><a name="line.79">        carry = tmp[SEED_SIZE - 1];</a>
+<span class="sourceLineNo">080</span><a name="line.80">        index = tmp[SEED_SIZE];</a>
+<span class="sourceLineNo">081</span><a name="line.81">    }</a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span><a name="line.83">    /**</a>
+<span class="sourceLineNo">084</span><a name="line.84">     * Seeds the RNG.</a>
+<span class="sourceLineNo">085</span><a name="line.85">     *</a>
+<span class="sourceLineNo">086</span><a name="line.86">     * @param seed Seed.</a>
+<span class="sourceLineNo">087</span><a name="line.87">     */</a>
+<span class="sourceLineNo">088</span><a name="line.88">    private void setSeedInternal(int[] seed) {</a>
+<span class="sourceLineNo">089</span><a name="line.89">        // Reset the whole state of this RNG (i.e. "state" and "index").</a>
+<span class="sourceLineNo">090</span><a name="line.90">        // Filling procedure is not part of the reference code.</a>
+<span class="sourceLineNo">091</span><a name="line.91">        final int[] tmp = new int[SEED_SIZE];</a>
+<span class="sourceLineNo">092</span><a name="line.92">        fillState(tmp, seed);</a>
+<span class="sourceLineNo">093</span><a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94">        // First element of the "seed" is the initial "carry".</a>
+<span class="sourceLineNo">095</span><a name="line.95">        final int c = tmp[0];</a>
+<span class="sourceLineNo">096</span><a name="line.96">        // Marsaglia's recommendation: 0 &lt;= carry &lt; A.</a>
+<span class="sourceLineNo">097</span><a name="line.97">        carry = (int) ((c &lt; 0 ? -c : c) % A);</a>
+<span class="sourceLineNo">098</span><a name="line.98"></a>
+<span class="sourceLineNo">099</span><a name="line.99">        // Initial state.</a>
+<span class="sourceLineNo">100</span><a name="line.100">        System.arraycopy(tmp, 1, state, 0, Q_SIZE);</a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span><a name="line.102">        // Initial index.</a>
+<span class="sourceLineNo">103</span><a name="line.103">        index = Q_SIZE;</a>
+<span class="sourceLineNo">104</span><a name="line.104">    }</a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">107</span><a name="line.107">    @Override</a>
+<span class="sourceLineNo">108</span><a name="line.108">    public int next() {</a>
+<span class="sourceLineNo">109</span><a name="line.109">        if (index == Q_SIZE) { // Whole state used up.</a>
+<span class="sourceLineNo">110</span><a name="line.110">            // Refill.</a>
+<span class="sourceLineNo">111</span><a name="line.111">            for (int i = 0; i &lt; Q_SIZE; i++) {</a>
+<span class="sourceLineNo">112</span><a name="line.112">                final long t = A * (state[i] &amp; 0xffffffffL) + carry;</a>
+<span class="sourceLineNo">113</span><a name="line.113">                carry = (int) (t &gt;&gt; 32);</a>
+<span class="sourceLineNo">114</span><a name="line.114">                state[i] = (int) t;</a>
+<span class="sourceLineNo">115</span><a name="line.115">            }</a>
+<span class="sourceLineNo">116</span><a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117">            // Reset current index.</a>
+<span class="sourceLineNo">118</span><a name="line.118">            index = 0;</a>
+<span class="sourceLineNo">119</span><a name="line.119">        }</a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121">        return state[index++];</a>
+<span class="sourceLineNo">122</span><a name="line.122">    }</a>
+<span class="sourceLineNo">123</span><a name="line.123">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/RandomIntSource.html
==============================================================================
--- websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/RandomIntSource.html (added)
+++ websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/RandomIntSource.html Tue Aug 14 12:48:23 2018
@@ -0,0 +1,102 @@
+<!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><a name="line.2"> * Licensed to the Apache Software Foundation (ASF) under one or more</a>
+<span class="sourceLineNo">003</span><a name="line.3"> * contributor license agreements.  See the NOTICE file distributed with</a>
+<span class="sourceLineNo">004</span><a name="line.4"> * this work for additional information regarding copyright ownership.</a>
+<span class="sourceLineNo">005</span><a name="line.5"> * The ASF licenses this file to You under the Apache License, Version 2.0</a>
+<span class="sourceLineNo">006</span><a name="line.6"> * (the "License"); you may not use this file except in compliance with</a>
+<span class="sourceLineNo">007</span><a name="line.7"> * the License.  You may obtain a copy of the License at</a>
+<span class="sourceLineNo">008</span><a name="line.8"> *</a>
+<span class="sourceLineNo">009</span><a name="line.9"> *      http://www.apache.org/licenses/LICENSE-2.0</a>
+<span class="sourceLineNo">010</span><a name="line.10"> *</a>
+<span class="sourceLineNo">011</span><a name="line.11"> * Unless required by applicable law or agreed to in writing, software</a>
+<span class="sourceLineNo">012</span><a name="line.12"> * distributed under the License is distributed on an "AS IS" BASIS,</a>
+<span class="sourceLineNo">013</span><a name="line.13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</a>
+<span class="sourceLineNo">014</span><a name="line.14"> * See the License for the specific language governing permissions and</a>
+<span class="sourceLineNo">015</span><a name="line.15"> * limitations under the License.</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><a name="line.18">package org.apache.commons.rng.core.source32;</a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20">/**</a>
+<span class="sourceLineNo">021</span><a name="line.21"> * Source of randomness that generates values of type {@code int}.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> *</a>
+<span class="sourceLineNo">023</span><a name="line.23"> * @since 1.0</a>
+<span class="sourceLineNo">024</span><a name="line.24"> */</a>
+<span class="sourceLineNo">025</span><a name="line.25">public interface RandomIntSource {</a>
+<span class="sourceLineNo">026</span><a name="line.26">    /**</a>
+<span class="sourceLineNo">027</span><a name="line.27">     * @return the next random value.</a>
+<span class="sourceLineNo">028</span><a name="line.28">     */</a>
+<span class="sourceLineNo">029</span><a name="line.29">    int next();</a>
+<span class="sourceLineNo">030</span><a name="line.30">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well1024a.html
==============================================================================
--- websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well1024a.html (added)
+++ websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well1024a.html Tue Aug 14 12:48:23 2018
@@ -0,0 +1,150 @@
+<!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><a name="line.2"> * Licensed to the Apache Software Foundation (ASF) under one or more</a>
+<span class="sourceLineNo">003</span><a name="line.3"> * contributor license agreements.  See the NOTICE file distributed with</a>
+<span class="sourceLineNo">004</span><a name="line.4"> * this work for additional information regarding copyright ownership.</a>
+<span class="sourceLineNo">005</span><a name="line.5"> * The ASF licenses this file to You under the Apache License, Version 2.0</a>
+<span class="sourceLineNo">006</span><a name="line.6"> * (the "License"); you may not use this file except in compliance with</a>
+<span class="sourceLineNo">007</span><a name="line.7"> * the License.  You may obtain a copy of the License at</a>
+<span class="sourceLineNo">008</span><a name="line.8"> *</a>
+<span class="sourceLineNo">009</span><a name="line.9"> *      http://www.apache.org/licenses/LICENSE-2.0</a>
+<span class="sourceLineNo">010</span><a name="line.10"> *</a>
+<span class="sourceLineNo">011</span><a name="line.11"> * Unless required by applicable law or agreed to in writing, software</a>
+<span class="sourceLineNo">012</span><a name="line.12"> * distributed under the License is distributed on an "AS IS" BASIS,</a>
+<span class="sourceLineNo">013</span><a name="line.13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</a>
+<span class="sourceLineNo">014</span><a name="line.14"> * See the License for the specific language governing permissions and</a>
+<span class="sourceLineNo">015</span><a name="line.15"> * limitations under the License.</a>
+<span class="sourceLineNo">016</span><a name="line.16"> */</a>
+<span class="sourceLineNo">017</span><a name="line.17">package org.apache.commons.rng.core.source32;</a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19">/**</a>
+<span class="sourceLineNo">020</span><a name="line.20"> * This class implements the WELL1024a pseudo-random number generator</a>
+<span class="sourceLineNo">021</span><a name="line.21"> * from Fran&amp;ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * &lt;p&gt;</a>
+<span class="sourceLineNo">023</span><a name="line.23"> * This generator is described in a paper by Fran&amp;ccedil;ois Panneton,</a>
+<span class="sourceLineNo">024</span><a name="line.24"> * Pierre L'Ecuyer and Makoto Matsumoto</a>
+<span class="sourceLineNo">025</span><a name="line.25"> * &lt;a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"&gt;</a>
+<span class="sourceLineNo">026</span><a name="line.26"> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2&lt;/a&gt;</a>
+<span class="sourceLineNo">027</span><a name="line.27"> * ACM Transactions on Mathematical Software, 32, 1 (2006).</a>
+<span class="sourceLineNo">028</span><a name="line.28"> * The errata for the paper are in</a>
+<span class="sourceLineNo">029</span><a name="line.29"> * &lt;a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt"&gt;wellrng-errata.txt&lt;/a&gt;.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * &lt;/p&gt;</a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see &lt;a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html"&gt;WELL Random number generator&lt;/a&gt;</a>
+<span class="sourceLineNo">033</span><a name="line.33"> * @since 1.0</a>
+<span class="sourceLineNo">034</span><a name="line.34"> */</a>
+<span class="sourceLineNo">035</span><a name="line.35">public class Well1024a extends AbstractWell {</a>
+<span class="sourceLineNo">036</span><a name="line.36">    /** Number of bits in the pool. */</a>
+<span class="sourceLineNo">037</span><a name="line.37">    private static final int K = 1024;</a>
+<span class="sourceLineNo">038</span><a name="line.38">    /** First parameter of the algorithm. */</a>
+<span class="sourceLineNo">039</span><a name="line.39">    private static final int M1 = 3;</a>
+<span class="sourceLineNo">040</span><a name="line.40">    /** Second parameter of the algorithm. */</a>
+<span class="sourceLineNo">041</span><a name="line.41">    private static final int M2 = 24;</a>
+<span class="sourceLineNo">042</span><a name="line.42">    /** Third parameter of the algorithm. */</a>
+<span class="sourceLineNo">043</span><a name="line.43">    private static final int M3 = 10;</a>
+<span class="sourceLineNo">044</span><a name="line.44">    /** The indirection index table. */</a>
+<span class="sourceLineNo">045</span><a name="line.45">    private static final IndexTable TABLE = new IndexTable(K, M1, M2, M3);</a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47">    /**</a>
+<span class="sourceLineNo">048</span><a name="line.48">     * Creates a new random number generator.</a>
+<span class="sourceLineNo">049</span><a name="line.49">     *</a>
+<span class="sourceLineNo">050</span><a name="line.50">     * @param seed Initial seed.</a>
+<span class="sourceLineNo">051</span><a name="line.51">     */</a>
+<span class="sourceLineNo">052</span><a name="line.52">    public Well1024a(int[] seed) {</a>
+<span class="sourceLineNo">053</span><a name="line.53">        super(K, seed);</a>
+<span class="sourceLineNo">054</span><a name="line.54">    }</a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">057</span><a name="line.57">    @Override</a>
+<span class="sourceLineNo">058</span><a name="line.58">    public int next() {</a>
+<span class="sourceLineNo">059</span><a name="line.59">        final int indexRm1 = TABLE.getIndexPred(index);</a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61">        final int v0 = v[index];</a>
+<span class="sourceLineNo">062</span><a name="line.62">        final int vM1 = v[TABLE.getIndexM1(index)];</a>
+<span class="sourceLineNo">063</span><a name="line.63">        final int vM2 = v[TABLE.getIndexM2(index)];</a>
+<span class="sourceLineNo">064</span><a name="line.64">        final int vM3 = v[TABLE.getIndexM3(index)];</a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66">        final int z0 = v[indexRm1];</a>
+<span class="sourceLineNo">067</span><a name="line.67">        final int z1 = v0 ^ (vM1 ^ (vM1 &gt;&gt;&gt; 8));</a>
+<span class="sourceLineNo">068</span><a name="line.68">        final int z2 = (vM2 ^ (vM2 &lt;&lt; 19)) ^ (vM3 ^ (vM3 &lt;&lt; 14));</a>
+<span class="sourceLineNo">069</span><a name="line.69">        final int z3 = z1 ^ z2;</a>
+<span class="sourceLineNo">070</span><a name="line.70">        final int z4 = (z0 ^ (z0 &lt;&lt; 11)) ^ (z1 ^ (z1 &lt;&lt; 7)) ^ (z2 ^ (z2 &lt;&lt; 13));</a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72">        v[index] = z3;</a>
+<span class="sourceLineNo">073</span><a name="line.73">        v[indexRm1] = z4;</a>
+<span class="sourceLineNo">074</span><a name="line.74">        index = indexRm1;</a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76">        return z4;</a>
+<span class="sourceLineNo">077</span><a name="line.77">    }</a>
+<span class="sourceLineNo">078</span><a name="line.78">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well19937a.html
==============================================================================
--- websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well19937a.html (added)
+++ websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well19937a.html Tue Aug 14 12:48:23 2018
@@ -0,0 +1,152 @@
+<!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><a name="line.2"> * Licensed to the Apache Software Foundation (ASF) under one or more</a>
+<span class="sourceLineNo">003</span><a name="line.3"> * contributor license agreements.  See the NOTICE file distributed with</a>
+<span class="sourceLineNo">004</span><a name="line.4"> * this work for additional information regarding copyright ownership.</a>
+<span class="sourceLineNo">005</span><a name="line.5"> * The ASF licenses this file to You under the Apache License, Version 2.0</a>
+<span class="sourceLineNo">006</span><a name="line.6"> * (the "License"); you may not use this file except in compliance with</a>
+<span class="sourceLineNo">007</span><a name="line.7"> * the License.  You may obtain a copy of the License at</a>
+<span class="sourceLineNo">008</span><a name="line.8"> *</a>
+<span class="sourceLineNo">009</span><a name="line.9"> *      http://www.apache.org/licenses/LICENSE-2.0</a>
+<span class="sourceLineNo">010</span><a name="line.10"> *</a>
+<span class="sourceLineNo">011</span><a name="line.11"> * Unless required by applicable law or agreed to in writing, software</a>
+<span class="sourceLineNo">012</span><a name="line.12"> * distributed under the License is distributed on an "AS IS" BASIS,</a>
+<span class="sourceLineNo">013</span><a name="line.13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</a>
+<span class="sourceLineNo">014</span><a name="line.14"> * See the License for the specific language governing permissions and</a>
+<span class="sourceLineNo">015</span><a name="line.15"> * limitations under the License.</a>
+<span class="sourceLineNo">016</span><a name="line.16"> */</a>
+<span class="sourceLineNo">017</span><a name="line.17">package org.apache.commons.rng.core.source32;</a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19">/**</a>
+<span class="sourceLineNo">020</span><a name="line.20"> * This class implements the WELL19937a pseudo-random number generator</a>
+<span class="sourceLineNo">021</span><a name="line.21"> * from Fran&amp;ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * &lt;p&gt;</a>
+<span class="sourceLineNo">023</span><a name="line.23"> * This generator is described in a paper by Fran&amp;ccedil;ois Panneton,</a>
+<span class="sourceLineNo">024</span><a name="line.24"> * Pierre L'Ecuyer and Makoto Matsumoto</a>
+<span class="sourceLineNo">025</span><a name="line.25"> * &lt;a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"&gt;</a>
+<span class="sourceLineNo">026</span><a name="line.26"> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2&lt;/a&gt;</a>
+<span class="sourceLineNo">027</span><a name="line.27"> * ACM Transactions on Mathematical Software, 32, 1 (2006).</a>
+<span class="sourceLineNo">028</span><a name="line.28"> * The errata for the paper are in</a>
+<span class="sourceLineNo">029</span><a name="line.29"> * &lt;a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt"&gt;wellrng-errata.txt&lt;/a&gt;.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * &lt;/p&gt;</a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see &lt;a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html"&gt;WELL Random number generator&lt;/a&gt;</a>
+<span class="sourceLineNo">033</span><a name="line.33"> * @since 1.0</a>
+<span class="sourceLineNo">034</span><a name="line.34"> */</a>
+<span class="sourceLineNo">035</span><a name="line.35">public class Well19937a extends AbstractWell {</a>
+<span class="sourceLineNo">036</span><a name="line.36">    /** Number of bits in the pool. */</a>
+<span class="sourceLineNo">037</span><a name="line.37">    private static final int K = 19937;</a>
+<span class="sourceLineNo">038</span><a name="line.38">    /** First parameter of the algorithm. */</a>
+<span class="sourceLineNo">039</span><a name="line.39">    private static final int M1 = 70;</a>
+<span class="sourceLineNo">040</span><a name="line.40">    /** Second parameter of the algorithm. */</a>
+<span class="sourceLineNo">041</span><a name="line.41">    private static final int M2 = 179;</a>
+<span class="sourceLineNo">042</span><a name="line.42">    /** Third parameter of the algorithm. */</a>
+<span class="sourceLineNo">043</span><a name="line.43">    private static final int M3 = 449;</a>
+<span class="sourceLineNo">044</span><a name="line.44">    /** The indirection index table. */</a>
+<span class="sourceLineNo">045</span><a name="line.45">    private static final IndexTable TABLE = new IndexTable(K, M1, M2, M3);</a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47">    /**</a>
+<span class="sourceLineNo">048</span><a name="line.48">     * Creates a new random number generator.</a>
+<span class="sourceLineNo">049</span><a name="line.49">     *</a>
+<span class="sourceLineNo">050</span><a name="line.50">     * @param seed Initial seed.</a>
+<span class="sourceLineNo">051</span><a name="line.51">     */</a>
+<span class="sourceLineNo">052</span><a name="line.52">    public Well19937a(int[] seed) {</a>
+<span class="sourceLineNo">053</span><a name="line.53">        super(K, seed);</a>
+<span class="sourceLineNo">054</span><a name="line.54">    }</a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">057</span><a name="line.57">    @Override</a>
+<span class="sourceLineNo">058</span><a name="line.58">    public int next() {</a>
+<span class="sourceLineNo">059</span><a name="line.59">        final int indexRm1 = TABLE.getIndexPred(index);</a>
+<span class="sourceLineNo">060</span><a name="line.60">        final int indexRm2 = TABLE.getIndexPred2(index);</a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62">        final int v0 = v[index];</a>
+<span class="sourceLineNo">063</span><a name="line.63">        final int vM1 = v[TABLE.getIndexM1(index)];</a>
+<span class="sourceLineNo">064</span><a name="line.64">        final int vM2 = v[TABLE.getIndexM2(index)];</a>
+<span class="sourceLineNo">065</span><a name="line.65">        final int vM3 = v[TABLE.getIndexM3(index)];</a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67">        final int z0 = (0x80000000 &amp; v[indexRm1]) ^ (0x7FFFFFFF &amp; v[indexRm2]);</a>
+<span class="sourceLineNo">068</span><a name="line.68">        final int z1 = (v0 ^ (v0 &lt;&lt; 25)) ^ (vM1 ^ (vM1 &gt;&gt;&gt; 27));</a>
+<span class="sourceLineNo">069</span><a name="line.69">        final int z2 = (vM2 &gt;&gt;&gt; 9) ^ (vM3 ^ (vM3 &gt;&gt;&gt; 1));</a>
+<span class="sourceLineNo">070</span><a name="line.70">        final int z3 = z1 ^ z2;</a>
+<span class="sourceLineNo">071</span><a name="line.71">        final int z4 = z0 ^ (z1 ^ (z1 &lt;&lt; 9)) ^ (z2 ^ (z2 &lt;&lt; 21)) ^ (z3 ^ (z3 &gt;&gt;&gt; 21));</a>
+<span class="sourceLineNo">072</span><a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73">        v[index] = z3;</a>
+<span class="sourceLineNo">074</span><a name="line.74">        v[indexRm1] = z4;</a>
+<span class="sourceLineNo">075</span><a name="line.75">        v[indexRm2] &amp;= 0x80000000;</a>
+<span class="sourceLineNo">076</span><a name="line.76">        index = indexRm1;</a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78">        return z4;</a>
+<span class="sourceLineNo">079</span><a name="line.79">    }</a>
+<span class="sourceLineNo">080</span><a name="line.80">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well19937c.html
==============================================================================
--- websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well19937c.html (added)
+++ websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well19937c.html Tue Aug 14 12:48:23 2018
@@ -0,0 +1,128 @@
+<!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><a name="line.2"> * Licensed to the Apache Software Foundation (ASF) under one or more</a>
+<span class="sourceLineNo">003</span><a name="line.3"> * contributor license agreements.  See the NOTICE file distributed with</a>
+<span class="sourceLineNo">004</span><a name="line.4"> * this work for additional information regarding copyright ownership.</a>
+<span class="sourceLineNo">005</span><a name="line.5"> * The ASF licenses this file to You under the Apache License, Version 2.0</a>
+<span class="sourceLineNo">006</span><a name="line.6"> * (the "License"); you may not use this file except in compliance with</a>
+<span class="sourceLineNo">007</span><a name="line.7"> * the License.  You may obtain a copy of the License at</a>
+<span class="sourceLineNo">008</span><a name="line.8"> *</a>
+<span class="sourceLineNo">009</span><a name="line.9"> *      http://www.apache.org/licenses/LICENSE-2.0</a>
+<span class="sourceLineNo">010</span><a name="line.10"> *</a>
+<span class="sourceLineNo">011</span><a name="line.11"> * Unless required by applicable law or agreed to in writing, software</a>
+<span class="sourceLineNo">012</span><a name="line.12"> * distributed under the License is distributed on an "AS IS" BASIS,</a>
+<span class="sourceLineNo">013</span><a name="line.13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</a>
+<span class="sourceLineNo">014</span><a name="line.14"> * See the License for the specific language governing permissions and</a>
+<span class="sourceLineNo">015</span><a name="line.15"> * limitations under the License.</a>
+<span class="sourceLineNo">016</span><a name="line.16"> */</a>
+<span class="sourceLineNo">017</span><a name="line.17">package org.apache.commons.rng.core.source32;</a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19">/**</a>
+<span class="sourceLineNo">020</span><a name="line.20"> * This class implements the WELL19937c pseudo-random number generator</a>
+<span class="sourceLineNo">021</span><a name="line.21"> * from Fran&amp;ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * &lt;p&gt;</a>
+<span class="sourceLineNo">023</span><a name="line.23"> * This generator is described in a paper by Fran&amp;ccedil;ois Panneton,</a>
+<span class="sourceLineNo">024</span><a name="line.24"> * Pierre L'Ecuyer and Makoto Matsumoto</a>
+<span class="sourceLineNo">025</span><a name="line.25"> * &lt;a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"&gt;</a>
+<span class="sourceLineNo">026</span><a name="line.26"> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2&lt;/a&gt;</a>
+<span class="sourceLineNo">027</span><a name="line.27"> * ACM Transactions on Mathematical Software, 32, 1 (2006).</a>
+<span class="sourceLineNo">028</span><a name="line.28"> * The errata for the paper are in</a>
+<span class="sourceLineNo">029</span><a name="line.29"> * &lt;a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt"&gt;wellrng-errata.txt&lt;/a&gt;.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * &lt;/p&gt;</a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see &lt;a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html"&gt;WELL Random number generator&lt;/a&gt;</a>
+<span class="sourceLineNo">033</span><a name="line.33"> * @since 1.0</a>
+<span class="sourceLineNo">034</span><a name="line.34"> */</a>
+<span class="sourceLineNo">035</span><a name="line.35">public class Well19937c extends Well19937a {</a>
+<span class="sourceLineNo">036</span><a name="line.36">    /**</a>
+<span class="sourceLineNo">037</span><a name="line.37">     * Creates a new random number generator.</a>
+<span class="sourceLineNo">038</span><a name="line.38">     *</a>
+<span class="sourceLineNo">039</span><a name="line.39">     * @param seed Initial seed.</a>
+<span class="sourceLineNo">040</span><a name="line.40">     */</a>
+<span class="sourceLineNo">041</span><a name="line.41">    public Well19937c(int[] seed) {</a>
+<span class="sourceLineNo">042</span><a name="line.42">        super(seed);</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><a name="line.45">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">046</span><a name="line.46">    @Override</a>
+<span class="sourceLineNo">047</span><a name="line.47">    public int next() {</a>
+<span class="sourceLineNo">048</span><a name="line.48">        int z4 = super.next();</a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50">        // Matsumoto-Kurita tempering to get a maximally equidistributed generator.</a>
+<span class="sourceLineNo">051</span><a name="line.51">        z4 ^= (z4 &lt;&lt; 7) &amp; 0xe46e1700;</a>
+<span class="sourceLineNo">052</span><a name="line.52">        z4 ^= (z4 &lt;&lt; 15) &amp; 0x9b868000;</a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54">        return z4;</a>
+<span class="sourceLineNo">055</span><a name="line.55">    }</a>
+<span class="sourceLineNo">056</span><a name="line.56">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

Added: websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well44497a.html
==============================================================================
--- websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well44497a.html (added)
+++ websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source32/Well44497a.html Tue Aug 14 12:48:23 2018
@@ -0,0 +1,155 @@
+<!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><a name="line.2"> * Licensed to the Apache Software Foundation (ASF) under one or more</a>
+<span class="sourceLineNo">003</span><a name="line.3"> * contributor license agreements.  See the NOTICE file distributed with</a>
+<span class="sourceLineNo">004</span><a name="line.4"> * this work for additional information regarding copyright ownership.</a>
+<span class="sourceLineNo">005</span><a name="line.5"> * The ASF licenses this file to You under the Apache License, Version 2.0</a>
+<span class="sourceLineNo">006</span><a name="line.6"> * (the "License"); you may not use this file except in compliance with</a>
+<span class="sourceLineNo">007</span><a name="line.7"> * the License.  You may obtain a copy of the License at</a>
+<span class="sourceLineNo">008</span><a name="line.8"> *</a>
+<span class="sourceLineNo">009</span><a name="line.9"> *      http://www.apache.org/licenses/LICENSE-2.0</a>
+<span class="sourceLineNo">010</span><a name="line.10"> *</a>
+<span class="sourceLineNo">011</span><a name="line.11"> * Unless required by applicable law or agreed to in writing, software</a>
+<span class="sourceLineNo">012</span><a name="line.12"> * distributed under the License is distributed on an "AS IS" BASIS,</a>
+<span class="sourceLineNo">013</span><a name="line.13"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</a>
+<span class="sourceLineNo">014</span><a name="line.14"> * See the License for the specific language governing permissions and</a>
+<span class="sourceLineNo">015</span><a name="line.15"> * limitations under the License.</a>
+<span class="sourceLineNo">016</span><a name="line.16"> */</a>
+<span class="sourceLineNo">017</span><a name="line.17">package org.apache.commons.rng.core.source32;</a>
+<span class="sourceLineNo">018</span><a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19">/**</a>
+<span class="sourceLineNo">020</span><a name="line.20"> * This class implements the WELL44497a pseudo-random number generator</a>
+<span class="sourceLineNo">021</span><a name="line.21"> * from Fran&amp;ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * &lt;p&gt;</a>
+<span class="sourceLineNo">023</span><a name="line.23"> * This generator is described in a paper by Fran&amp;ccedil;ois Panneton,</a>
+<span class="sourceLineNo">024</span><a name="line.24"> * Pierre L'Ecuyer and Makoto Matsumoto</a>
+<span class="sourceLineNo">025</span><a name="line.25"> * &lt;a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"&gt;</a>
+<span class="sourceLineNo">026</span><a name="line.26"> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2&lt;/a&gt;</a>
+<span class="sourceLineNo">027</span><a name="line.27"> * ACM Transactions on Mathematical Software, 32, 1 (2006).</a>
+<span class="sourceLineNo">028</span><a name="line.28"> * The errata for the paper are in</a>
+<span class="sourceLineNo">029</span><a name="line.29"> * &lt;a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt"&gt;wellrng-errata.txt&lt;/a&gt;.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * &lt;/p&gt;</a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see &lt;a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html"&gt;WELL Random number generator&lt;/a&gt;</a>
+<span class="sourceLineNo">033</span><a name="line.33"> * @since 1.0</a>
+<span class="sourceLineNo">034</span><a name="line.34"> */</a>
+<span class="sourceLineNo">035</span><a name="line.35">public class Well44497a extends AbstractWell {</a>
+<span class="sourceLineNo">036</span><a name="line.36">    /** Number of bits in the pool. */</a>
+<span class="sourceLineNo">037</span><a name="line.37">    private static final int K = 44497;</a>
+<span class="sourceLineNo">038</span><a name="line.38">    /** First parameter of the algorithm. */</a>
+<span class="sourceLineNo">039</span><a name="line.39">    private static final int M1 = 23;</a>
+<span class="sourceLineNo">040</span><a name="line.40">    /** Second parameter of the algorithm. */</a>
+<span class="sourceLineNo">041</span><a name="line.41">    private static final int M2 = 481;</a>
+<span class="sourceLineNo">042</span><a name="line.42">    /** Third parameter of the algorithm. */</a>
+<span class="sourceLineNo">043</span><a name="line.43">    private static final int M3 = 229;</a>
+<span class="sourceLineNo">044</span><a name="line.44">    /** The indirection index table. */</a>
+<span class="sourceLineNo">045</span><a name="line.45">    private static final IndexTable TABLE = new IndexTable(K, M1, M2, M3);</a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span><a name="line.47">    /**</a>
+<span class="sourceLineNo">048</span><a name="line.48">     * Creates a new random number generator.</a>
+<span class="sourceLineNo">049</span><a name="line.49">     *</a>
+<span class="sourceLineNo">050</span><a name="line.50">     * @param seed Initial seed.</a>
+<span class="sourceLineNo">051</span><a name="line.51">     */</a>
+<span class="sourceLineNo">052</span><a name="line.52">    public Well44497a(int[] seed) {</a>
+<span class="sourceLineNo">053</span><a name="line.53">        super(K, seed);</a>
+<span class="sourceLineNo">054</span><a name="line.54">    }</a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56">    /** {@inheritDoc} */</a>
+<span class="sourceLineNo">057</span><a name="line.57">    @Override</a>
+<span class="sourceLineNo">058</span><a name="line.58">    public int next() {</a>
+<span class="sourceLineNo">059</span><a name="line.59">        final int indexRm1 = TABLE.getIndexPred(index);</a>
+<span class="sourceLineNo">060</span><a name="line.60">        final int indexRm2 = TABLE.getIndexPred2(index);</a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62">        final int v0 = v[index];</a>
+<span class="sourceLineNo">063</span><a name="line.63">        final int vM1 = v[TABLE.getIndexM1(index)];</a>
+<span class="sourceLineNo">064</span><a name="line.64">        final int vM2 = v[TABLE.getIndexM2(index)];</a>
+<span class="sourceLineNo">065</span><a name="line.65">        final int vM3 = v[TABLE.getIndexM3(index)];</a>
+<span class="sourceLineNo">066</span><a name="line.66"></a>
+<span class="sourceLineNo">067</span><a name="line.67">        // the values below include the errata of the original article</a>
+<span class="sourceLineNo">068</span><a name="line.68">        final int z0 = (0xFFFF8000 &amp; v[indexRm1]) ^ (0x00007FFF &amp; v[indexRm2]);</a>
+<span class="sourceLineNo">069</span><a name="line.69">        final int z1 = (v0 ^ (v0 &lt;&lt; 24)) ^ (vM1 ^ (vM1 &gt;&gt;&gt; 30));</a>
+<span class="sourceLineNo">070</span><a name="line.70">        final int z2 = (vM2 ^ (vM2 &lt;&lt; 10)) ^ (vM3 &lt;&lt; 26);</a>
+<span class="sourceLineNo">071</span><a name="line.71">        final int z3 = z1 ^ z2;</a>
+<span class="sourceLineNo">072</span><a name="line.72">        final int z2Prime = ((z2 &lt;&lt; 9) ^ (z2 &gt;&gt;&gt; 23)) &amp; 0xfbffffff;</a>
+<span class="sourceLineNo">073</span><a name="line.73">        final int z2Second = ((z2 &amp; 0x00020000) != 0) ? (z2Prime ^ 0xb729fcec) : z2Prime;</a>
+<span class="sourceLineNo">074</span><a name="line.74">        final int z4 = z0 ^ (z1 ^ (z1 &gt;&gt;&gt; 20)) ^ z2Second ^ z3;</a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span><a name="line.76">        v[index] = z3;</a>
+<span class="sourceLineNo">077</span><a name="line.77">        v[indexRm1] = z4;</a>
+<span class="sourceLineNo">078</span><a name="line.78">        v[indexRm2] &amp;= 0xFFFF8000;</a>
+<span class="sourceLineNo">079</span><a name="line.79">        index = indexRm1;</a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81">        return z4;</a>
+<span class="sourceLineNo">082</span><a name="line.82">    }</a>
+<span class="sourceLineNo">083</span><a name="line.83">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>