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 <a href="http://www.cse.yorku.ca/~oz/marsaglia-rng.html"></a>
+<span class="sourceLineNo">023</span><a name="line.23"> * "KISS" algorithm</a>.</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"> * <a href="https://programmingpraxis.com/2010/10/05/george-marsaglias-random-number-generators/">here</a></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 <a href="https://en.wikipedia.org/wiki/KISS_(algorithm)">KISS (Wikipedia)</a></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 << 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 << 13;</a>
+<span class="sourceLineNo">101</span><a name="line.101"> jsr ^= jsr >>> 17;</a>
+<span class="sourceLineNo">102</span><a name="line.102"> jsr ^= jsr << 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 & 65535) + (previous >>> 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"> * <p></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<sup>19937</sup>-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"> * <a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html"></a>
+<span class="sourceLineNo">032</span><a name="line.32"> * http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html</a>.</a>
+<span class="sourceLineNo">033</span><a name="line.33"> * </p></a>
+<span class="sourceLineNo">034</span><a name="line.34"> *</a>
+<span class="sourceLineNo">035</span><a name="line.35"> * <p></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"> * <a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf"></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</a>,</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"> * </p></a>
+<span class="sourceLineNo">044</span><a name="line.44"> *</a>
+<span class="sourceLineNo">045</span><a name="line.45"> * <p></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"> * <a href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html"></a>
+<span class="sourceLineNo">048</span><a name="line.48"> * 2002-01-26 version of the generator</a> 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"> * </p></a>
+<span class="sourceLineNo">051</span><a name="line.51"> *</a>
+<span class="sourceLineNo">052</span><a name="line.52"> * <table border="0" width="80%" cellpadding="10" style="background-color: #E0E0E0" summary="Mersenne Twister licence"></a>
+<span class="sourceLineNo">053</span><a name="line.53"> * <tr><td>Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,</a>
+<span class="sourceLineNo">054</span><a name="line.54"> * All rights reserved.</td></tr></a>
+<span class="sourceLineNo">055</span><a name="line.55"> *</a>
+<span class="sourceLineNo">056</span><a name="line.56"> * <tr><td>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"> * <ol></a>
+<span class="sourceLineNo">060</span><a name="line.60"> * <li>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.</li></a>
+<span class="sourceLineNo">062</span><a name="line.62"> * <li>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.</li></a>
+<span class="sourceLineNo">065</span><a name="line.65"> * <li>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.</li></a>
+<span class="sourceLineNo">068</span><a name="line.68"> * </ol></td></tr></a>
+<span class="sourceLineNo">069</span><a name="line.69"> *</a>
+<span class="sourceLineNo">070</span><a name="line.70"> * <tr><td><strong>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.</strong></td></tr></a>
+<span class="sourceLineNo">083</span><a name="line.83"> * </table></a>
+<span class="sourceLineNo">084</span><a name="line.84"> *</a>
+<span class="sourceLineNo">085</span><a name="line.85"> * @see <a href="https://en.wikipedia.org/wiki/Mersenne_Twister">Mersenne Twister (Wikipedia)</a></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 & 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 < stateSize; i++) {</a>
+<span class="sourceLineNo">171</span><a name="line.171"> mt = (1812433253L * (mt ^ (mt >> 30)) + i) & 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 > 0; k--) {</a>
+<span class="sourceLineNo">179</span><a name="line.179"> final long a = (state[i] & LOWER_MASK_LONG) | ((state[i] < 0) ? UPPER_MASK_LONG : 0);</a>
+<span class="sourceLineNo">180</span><a name="line.180"> final long b = (state[i - 1] & LOWER_MASK_LONG) | ((state[i - 1] < 0) ? UPPER_MASK_LONG : 0);</a>
+<span class="sourceLineNo">181</span><a name="line.181"> final long c = (a ^ ((b ^ (b >> 30)) * 1664525L)) + seed[j] + j; // Non linear.</a>
+<span class="sourceLineNo">182</span><a name="line.182"> state[i] = (int) (c & 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 >= 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 >= 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 > 0; k--) {</a>
+<span class="sourceLineNo">195</span><a name="line.195"> final long a = (state[i] & LOWER_MASK_LONG) | ((state[i] < 0) ? UPPER_MASK_LONG : 0);</a>
+<span class="sourceLineNo">196</span><a name="line.196"> final long b = (state[i - 1] & LOWER_MASK_LONG) | ((state[i - 1] < 0) ? UPPER_MASK_LONG : 0);</a>
+<span class="sourceLineNo">197</span><a name="line.197"> final long c = (a ^ ((b ^ (b >> 30)) * 1566083941L)) - i; // Non linear.</a>
+<span class="sourceLineNo">198</span><a name="line.198"> state[i] = (int) (c & 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 >= 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 >= 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 < 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 & UPPER_MASK) | (mtNext & LOWER_MASK);</a>
+<span class="sourceLineNo">220</span><a name="line.220"> mt[k] = mt[k + M] ^ (y >>> 1) ^ MAG01[y & 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 < 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 & UPPER_MASK) | (mtNext & LOWER_MASK);</a>
+<span class="sourceLineNo">226</span><a name="line.226"> mt[k] = mt[k + (M - N)] ^ (y >>> 1) ^ MAG01[y & 1];</a>
+<span class="sourceLineNo">227</span><a name="line.227"> }</a>
+<span class="sourceLineNo">228</span><a name="line.228"> y = (mtNext & UPPER_MASK) | (mt[0] & LOWER_MASK);</a>
+<span class="sourceLineNo">229</span><a name="line.229"> mt[N - 1] = mt[M - 1] ^ (y >>> 1) ^ MAG01[y & 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 >>> 11;</a>
+<span class="sourceLineNo">238</span><a name="line.238"> y ^= (y << 7) & 0x9d2c5680;</a>
+<span class="sourceLineNo">239</span><a name="line.239"> y ^= (y << 15) & 0xefc60000;</a>
+<span class="sourceLineNo">240</span><a name="line.240"> y ^= y >>> 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 <a href="https://en.wikipedia.org/wiki/Multiply-with-carry"></a>
+<span class="sourceLineNo">024</span><a name="line.24"> * "Multiply-With-Carry" algorithm</a>.</a>
+<span class="sourceLineNo">025</span><a name="line.25"> *</a>
+<span class="sourceLineNo">026</span><a name="line.26"> * <p></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"> * <a href="http://school.anhb.uwa.edu.au/personalpages/kwessen/shared/Marsaglia03.html"></a>
+<span class="sourceLineNo">029</span><a name="line.29"> * that page</a>.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * </p></a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see <a href="https://en.wikipedia.org/wiki/Multiply-with-carry">Multiply with carry (Wikipedia)</a></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 <= carry < A.</a>
+<span class="sourceLineNo">097</span><a name="line.97"> carry = (int) ((c < 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 < Q_SIZE; i++) {</a>
+<span class="sourceLineNo">112</span><a name="line.112"> final long t = A * (state[i] & 0xffffffffL) + carry;</a>
+<span class="sourceLineNo">113</span><a name="line.113"> carry = (int) (t >> 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&ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * <p></a>
+<span class="sourceLineNo">023</span><a name="line.23"> * This generator is described in a paper by Fran&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"> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"></a>
+<span class="sourceLineNo">026</span><a name="line.26"> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2</a></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"> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt">wellrng-errata.txt</a>.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * </p></a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see <a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html">WELL Random number generator</a></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 >>> 8));</a>
+<span class="sourceLineNo">068</span><a name="line.68"> final int z2 = (vM2 ^ (vM2 << 19)) ^ (vM3 ^ (vM3 << 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 << 11)) ^ (z1 ^ (z1 << 7)) ^ (z2 ^ (z2 << 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&ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * <p></a>
+<span class="sourceLineNo">023</span><a name="line.23"> * This generator is described in a paper by Fran&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"> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"></a>
+<span class="sourceLineNo">026</span><a name="line.26"> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2</a></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"> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt">wellrng-errata.txt</a>.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * </p></a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see <a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html">WELL Random number generator</a></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 & v[indexRm1]) ^ (0x7FFFFFFF & v[indexRm2]);</a>
+<span class="sourceLineNo">068</span><a name="line.68"> final int z1 = (v0 ^ (v0 << 25)) ^ (vM1 ^ (vM1 >>> 27));</a>
+<span class="sourceLineNo">069</span><a name="line.69"> final int z2 = (vM2 >>> 9) ^ (vM3 ^ (vM3 >>> 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 << 9)) ^ (z2 ^ (z2 << 21)) ^ (z3 ^ (z3 >>> 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] &= 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&ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * <p></a>
+<span class="sourceLineNo">023</span><a name="line.23"> * This generator is described in a paper by Fran&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"> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"></a>
+<span class="sourceLineNo">026</span><a name="line.26"> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2</a></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"> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt">wellrng-errata.txt</a>.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * </p></a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see <a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html">WELL Random number generator</a></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 << 7) & 0xe46e1700;</a>
+<span class="sourceLineNo">052</span><a name="line.52"> z4 ^= (z4 << 15) & 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&ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * <p></a>
+<span class="sourceLineNo">023</span><a name="line.23"> * This generator is described in a paper by Fran&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"> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"></a>
+<span class="sourceLineNo">026</span><a name="line.26"> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2</a></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"> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt">wellrng-errata.txt</a>.</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * </p></a>
+<span class="sourceLineNo">031</span><a name="line.31"> *</a>
+<span class="sourceLineNo">032</span><a name="line.32"> * @see <a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html">WELL Random number generator</a></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 & v[indexRm1]) ^ (0x00007FFF & v[indexRm2]);</a>
+<span class="sourceLineNo">069</span><a name="line.69"> final int z1 = (v0 ^ (v0 << 24)) ^ (vM1 ^ (vM1 >>> 30));</a>
+<span class="sourceLineNo">070</span><a name="line.70"> final int z2 = (vM2 ^ (vM2 << 10)) ^ (vM3 << 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 << 9) ^ (z2 >>> 23)) & 0xfbffffff;</a>
+<span class="sourceLineNo">073</span><a name="line.73"> final int z2Second = ((z2 & 0x00020000) != 0) ? (z2Prime ^ 0xb729fcec) : z2Prime;</a>
+<span class="sourceLineNo">074</span><a name="line.74"> final int z4 = z0 ^ (z1 ^ (z1 >>> 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] &= 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>