Added: 
websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source64/TwoCmres.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source64/TwoCmres.html
 (added)
+++ 
websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source64/TwoCmres.html
 Tue Aug 14 12:48:23 2018
@@ -0,0 +1,381 @@
+<!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.source64;</a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20">import 
java.util.List;</a>
+<span class="sourceLineNo">021</span><a name="line.21">import 
java.util.ArrayList;</a>
+<span class="sourceLineNo">022</span><a name="line.22">import 
org.apache.commons.rng.core.util.NumberFactory;</a>
+<span class="sourceLineNo">023</span><a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24">/**</a>
+<span class="sourceLineNo">025</span><a name="line.25"> * Random number 
generator designed by Mark D.&amp;nbsp;Overton.</a>
+<span class="sourceLineNo">026</span><a name="line.26"> *</a>
+<span class="sourceLineNo">027</span><a name="line.27"> * &lt;p&gt;It is one 
of the many generators described by the author in the following article 
series:&lt;/p&gt;</a>
+<span class="sourceLineNo">028</span><a name="line.28"> *  &lt;ul&gt;</a>
+<span class="sourceLineNo">029</span><a name="line.29"> *   &lt;li&gt;&lt;a 
href="http://www.drdobbs.com/tools/fast-high-quality-parallel-random-number/229625477"&gt;Part
 one&lt;/a&gt;&lt;/li&gt;</a>
+<span class="sourceLineNo">030</span><a name="line.30"> *   &lt;li&gt;&lt;a 
href="http://www.drdobbs.com/tools/fast-high-quality-parallel-random-number/231000484"&gt;Part
 two&lt;/a&gt;&lt;/li&gt;</a>
+<span class="sourceLineNo">031</span><a name="line.31"> *  &lt;/ul&gt;</a>
+<span class="sourceLineNo">032</span><a name="line.32"> *</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 TwoCmres 
extends LongProvider {</a>
+<span class="sourceLineNo">036</span><a name="line.36">    /** Error message. 
*/</a>
+<span class="sourceLineNo">037</span><a name="line.37">    private static 
final String INTERNAL_ERROR_MSG = "Internal error: Please file a bug 
report";</a>
+<span class="sourceLineNo">038</span><a name="line.38">    /** A small 
positive integer. */</a>
+<span class="sourceLineNo">039</span><a name="line.39">    private static 
final byte SEED_GUARD = 9;</a>
+<span class="sourceLineNo">040</span><a name="line.40">    /** Factory of 
instances of this class. Singleton. */</a>
+<span class="sourceLineNo">041</span><a name="line.41">    private static 
final Cmres.Factory FACTORY = new Cmres.Factory();</a>
+<span class="sourceLineNo">042</span><a name="line.42">    /** First subcycle 
generator. */</a>
+<span class="sourceLineNo">043</span><a name="line.43">    private final Cmres 
x;</a>
+<span class="sourceLineNo">044</span><a name="line.44">    /** Second subcycle 
generator. */</a>
+<span class="sourceLineNo">045</span><a name="line.45">    private final Cmres 
y;</a>
+<span class="sourceLineNo">046</span><a name="line.46">    /** State of first 
subcycle generator. */</a>
+<span class="sourceLineNo">047</span><a name="line.47">    private long xx;</a>
+<span class="sourceLineNo">048</span><a name="line.48">    /** State of second 
subcycle generator. */</a>
+<span class="sourceLineNo">049</span><a name="line.49">    private long yy;</a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51">    /**</a>
+<span class="sourceLineNo">052</span><a name="line.52">     * Creates a new 
instance.</a>
+<span class="sourceLineNo">053</span><a name="line.53">     *</a>
+<span class="sourceLineNo">054</span><a name="line.54">     * @param seed 
Initial seed.</a>
+<span class="sourceLineNo">055</span><a name="line.55">     * @param x First 
subcycle generator.</a>
+<span class="sourceLineNo">056</span><a name="line.56">     * @param y Second 
subcycle generator.</a>
+<span class="sourceLineNo">057</span><a name="line.57">     * @throws 
IllegalArgumentException if {@code x == y}.</a>
+<span class="sourceLineNo">058</span><a name="line.58">     */</a>
+<span class="sourceLineNo">059</span><a name="line.59">    private 
TwoCmres(int seed,</a>
+<span class="sourceLineNo">060</span><a name="line.60">                     
Cmres x,</a>
+<span class="sourceLineNo">061</span><a name="line.61">                     
Cmres y) {</a>
+<span class="sourceLineNo">062</span><a name="line.62">        if (x == y) 
{</a>
+<span class="sourceLineNo">063</span><a name="line.63">            throw new 
IllegalArgumentException("Subcycle generators must be different");</a>
+<span class="sourceLineNo">064</span><a name="line.64">        }</a>
+<span class="sourceLineNo">065</span><a name="line.65">        this.x = x;</a>
+<span class="sourceLineNo">066</span><a name="line.66">        this.y = y;</a>
+<span class="sourceLineNo">067</span><a name="line.67">        
setSeedInternal(seed);</a>
+<span class="sourceLineNo">068</span><a name="line.68">    }</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">     * Creates a new 
instance.</a>
+<span class="sourceLineNo">072</span><a name="line.72">     *</a>
+<span class="sourceLineNo">073</span><a name="line.73">     * @param seed 
Seed.</a>
+<span class="sourceLineNo">074</span><a name="line.74">     */</a>
+<span class="sourceLineNo">075</span><a name="line.75">    public 
TwoCmres(Integer seed) {</a>
+<span class="sourceLineNo">076</span><a name="line.76">        this(seed, 0, 
1);</a>
+<span class="sourceLineNo">077</span><a name="line.77">    }</a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span><a name="line.79">    /**</a>
+<span class="sourceLineNo">080</span><a name="line.80">     * Creates a new 
instance.</a>
+<span class="sourceLineNo">081</span><a name="line.81">     *</a>
+<span class="sourceLineNo">082</span><a name="line.82">     * @param seed 
Seed.</a>
+<span class="sourceLineNo">083</span><a name="line.83">     * @param i Table 
entry for first subcycle generator.</a>
+<span class="sourceLineNo">084</span><a name="line.84">     * @param j Table 
entry for second subcycle generator.</a>
+<span class="sourceLineNo">085</span><a name="line.85">     * @throws 
IllegalArgumentException if {@code i == j}.</a>
+<span class="sourceLineNo">086</span><a name="line.86">     * @throws 
IndexOutOfBoundsException if {@code i &lt; 0} or</a>
+<span class="sourceLineNo">087</span><a name="line.87">     * {@code i &gt;= 
numberOfSubcycleGenerators()}.</a>
+<span class="sourceLineNo">088</span><a name="line.88">     * @throws 
IndexOutOfBoundsException if {@code j &lt; 0} or</a>
+<span class="sourceLineNo">089</span><a name="line.89">     * {@code j &gt;= 
numberOfSubcycleGenerators()}.</a>
+<span class="sourceLineNo">090</span><a name="line.90">     */</a>
+<span class="sourceLineNo">091</span><a name="line.91">    public 
TwoCmres(Integer seed,</a>
+<span class="sourceLineNo">092</span><a name="line.92">                    int 
i,</a>
+<span class="sourceLineNo">093</span><a name="line.93">                    int 
j) {</a>
+<span class="sourceLineNo">094</span><a name="line.94">        this(seed, 
FACTORY.get(i), FACTORY.get(j));</a>
+<span class="sourceLineNo">095</span><a name="line.95">    }</a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97">    /** {@inheritDoc} 
*/</a>
+<span class="sourceLineNo">098</span><a name="line.98">    @Override</a>
+<span class="sourceLineNo">099</span><a name="line.99">    public long next() 
{</a>
+<span class="sourceLineNo">100</span><a name="line.100">        xx = 
x.transform(xx);</a>
+<span class="sourceLineNo">101</span><a name="line.101">        yy = 
y.transform(yy);</a>
+<span class="sourceLineNo">102</span><a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103">        return xx + 
yy;</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 String 
toString() {</a>
+<span class="sourceLineNo">109</span><a name="line.109">        return 
super.toString() + " (" + x + " + " + y + ")";</a>
+<span class="sourceLineNo">110</span><a name="line.110">    }</a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112">    /**</a>
+<span class="sourceLineNo">113</span><a name="line.113">     * @return the 
number of subcycle generators.</a>
+<span class="sourceLineNo">114</span><a name="line.114">     */</a>
+<span class="sourceLineNo">115</span><a name="line.115">    public static int 
numberOfSubcycleGenerators() {</a>
+<span class="sourceLineNo">116</span><a name="line.116">        return 
FACTORY.numberOfSubcycleGenerators();</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">        return 
NumberFactory.makeByteArray(new long[] { xx, yy });</a>
+<span class="sourceLineNo">123</span><a name="line.123">    }</a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125">    /** {@inheritDoc} 
*/</a>
+<span class="sourceLineNo">126</span><a name="line.126">    @Override</a>
+<span class="sourceLineNo">127</span><a name="line.127">    protected void 
setStateInternal(byte[] s) {</a>
+<span class="sourceLineNo">128</span><a name="line.128">        
checkStateSize(s, 16);</a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span><a name="line.130">        final long[] 
state = NumberFactory.makeLongArray(s);</a>
+<span class="sourceLineNo">131</span><a name="line.131">        xx = 
state[0];</a>
+<span class="sourceLineNo">132</span><a name="line.132">        yy = 
state[1];</a>
+<span class="sourceLineNo">133</span><a name="line.133">    }</a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span><a name="line.135">    /**</a>
+<span class="sourceLineNo">136</span><a name="line.136">     * @param seed 
Seed.</a>
+<span class="sourceLineNo">137</span><a name="line.137">     */</a>
+<span class="sourceLineNo">138</span><a name="line.138">    private void 
setSeedInternal(int seed) {</a>
+<span class="sourceLineNo">139</span><a name="line.139">        // The seeding 
procedure consists in going away from some</a>
+<span class="sourceLineNo">140</span><a name="line.140">        // point known 
to be in the cycle.</a>
+<span class="sourceLineNo">141</span><a name="line.141">        // The total 
number of calls to the "transform" method will</a>
+<span class="sourceLineNo">142</span><a name="line.142">        // not exceed 
about 130,000 (which is negligible as seeding</a>
+<span class="sourceLineNo">143</span><a name="line.143">        // will not 
occur more than once in normal usage).</a>
+<span class="sourceLineNo">144</span><a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145">        // Make two 
positive 16-bits integers.</a>
+<span class="sourceLineNo">146</span><a name="line.146">        final long s = 
NumberFactory.makeLong(0, seed); // s &gt;= 0</a>
+<span class="sourceLineNo">147</span><a name="line.147">        final int xMax 
= (int) ((s &amp; 0xffff) + SEED_GUARD);</a>
+<span class="sourceLineNo">148</span><a name="line.148">        final int yMax 
= (int) ((s &gt;&gt; 16) + SEED_GUARD);</a>
+<span class="sourceLineNo">149</span><a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150">        if (xMax &lt; 
0 ||</a>
+<span class="sourceLineNo">151</span><a name="line.151">            yMax &lt; 
0) {</a>
+<span class="sourceLineNo">152</span><a name="line.152">            throw new 
IllegalStateException(INTERNAL_ERROR_MSG);</a>
+<span class="sourceLineNo">153</span><a name="line.153">        }</a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155">        xx = 
x.getStart();</a>
+<span class="sourceLineNo">156</span><a name="line.156">        for (int i = 
xMax; i &gt; 0; i--) {</a>
+<span class="sourceLineNo">157</span><a name="line.157">            xx = 
x.transform(xx);</a>
+<span class="sourceLineNo">158</span><a name="line.158">        }</a>
+<span class="sourceLineNo">159</span><a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160">        yy = 
y.getStart();</a>
+<span class="sourceLineNo">161</span><a name="line.161">        for (int i = 
yMax; i &gt; 0; i--) {</a>
+<span class="sourceLineNo">162</span><a name="line.162">            yy = 
y.transform(yy);</a>
+<span class="sourceLineNo">163</span><a name="line.163">        }</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">    /**</a>
+<span class="sourceLineNo">167</span><a name="line.167">     * Subcycle 
generator.</a>
+<span class="sourceLineNo">168</span><a name="line.168">     * Class is 
immutable.</a>
+<span class="sourceLineNo">169</span><a name="line.169">     */</a>
+<span class="sourceLineNo">170</span><a name="line.170">    static class Cmres 
{</a>
+<span class="sourceLineNo">171</span><a name="line.171">        /** Separator. 
*/</a>
+<span class="sourceLineNo">172</span><a name="line.172">        private static 
final String SEP = ", ";</a>
+<span class="sourceLineNo">173</span><a name="line.173">        /** 
Hexadecimal format. */</a>
+<span class="sourceLineNo">174</span><a name="line.174">        private static 
final String HEX_FORMAT = "0x%016xL";</a>
+<span class="sourceLineNo">175</span><a name="line.175">        /** Cycle 
start. */</a>
+<span class="sourceLineNo">176</span><a name="line.176">        private final 
int start;</a>
+<span class="sourceLineNo">177</span><a name="line.177">        /** 
Multiplier. */</a>
+<span class="sourceLineNo">178</span><a name="line.178">        private final 
long multiply;</a>
+<span class="sourceLineNo">179</span><a name="line.179">        /** Rotation. 
*/</a>
+<span class="sourceLineNo">180</span><a name="line.180">        private final 
int rotate;</a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182">        /**</a>
+<span class="sourceLineNo">183</span><a name="line.183">         * @param 
multiply Multiplier.</a>
+<span class="sourceLineNo">184</span><a name="line.184">         * @param 
rotate Positive number. Must be in {@code [0, 64]}.</a>
+<span class="sourceLineNo">185</span><a name="line.185">         * @param 
start Cycle start.</a>
+<span class="sourceLineNo">186</span><a name="line.186">         */</a>
+<span class="sourceLineNo">187</span><a name="line.187">        Cmres(long 
multiply,</a>
+<span class="sourceLineNo">188</span><a name="line.188">              int 
rotate,</a>
+<span class="sourceLineNo">189</span><a name="line.189">              int 
start) {</a>
+<span class="sourceLineNo">190</span><a name="line.190">            
this.multiply = multiply;</a>
+<span class="sourceLineNo">191</span><a name="line.191">            
this.rotate = rotate;</a>
+<span class="sourceLineNo">192</span><a name="line.192">            this.start 
= start;</a>
+<span class="sourceLineNo">193</span><a name="line.193">        }</a>
+<span class="sourceLineNo">194</span><a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195">        /** 
{@inheritDoc} */</a>
+<span class="sourceLineNo">196</span><a name="line.196">        @Override</a>
+<span class="sourceLineNo">197</span><a name="line.197">        public String 
toString() {</a>
+<span class="sourceLineNo">198</span><a name="line.198">            final 
String m = String.format((java.util.Locale) null, HEX_FORMAT, multiply);</a>
+<span class="sourceLineNo">199</span><a name="line.199">            return 
"Cmres: [" + m + SEP + rotate + SEP + start + "]";</a>
+<span class="sourceLineNo">200</span><a name="line.200">        }</a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span><a name="line.202">        /**</a>
+<span class="sourceLineNo">203</span><a name="line.203">         * @return the 
multiplier.</a>
+<span class="sourceLineNo">204</span><a name="line.204">         */</a>
+<span class="sourceLineNo">205</span><a name="line.205">        public long 
getMultiply() {</a>
+<span class="sourceLineNo">206</span><a name="line.206">            return 
multiply;</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">        /**</a>
+<span class="sourceLineNo">210</span><a name="line.210">         * @return the 
cycle start.</a>
+<span class="sourceLineNo">211</span><a name="line.211">         */</a>
+<span class="sourceLineNo">212</span><a name="line.212">        public int 
getStart() {</a>
+<span class="sourceLineNo">213</span><a name="line.213">            return 
start;</a>
+<span class="sourceLineNo">214</span><a name="line.214">        }</a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span><a name="line.216">        /**</a>
+<span class="sourceLineNo">217</span><a name="line.217">         * @param 
state Current state.</a>
+<span class="sourceLineNo">218</span><a name="line.218">         * @return the 
new state.</a>
+<span class="sourceLineNo">219</span><a name="line.219">         */</a>
+<span class="sourceLineNo">220</span><a name="line.220">        long 
transform(long state) {</a>
+<span class="sourceLineNo">221</span><a name="line.221">            long s = 
state;</a>
+<span class="sourceLineNo">222</span><a name="line.222">            s *= 
multiply;</a>
+<span class="sourceLineNo">223</span><a name="line.223">            s = 
rotl(s);</a>
+<span class="sourceLineNo">224</span><a name="line.224">            s -= 
state;</a>
+<span class="sourceLineNo">225</span><a name="line.225">            return 
s;</a>
+<span class="sourceLineNo">226</span><a name="line.226">        }</a>
+<span class="sourceLineNo">227</span><a name="line.227"></a>
+<span class="sourceLineNo">228</span><a name="line.228">        /**</a>
+<span class="sourceLineNo">229</span><a name="line.229">         * @param 
state State.</a>
+<span class="sourceLineNo">230</span><a name="line.230">         * @return the 
rotated state.</a>
+<span class="sourceLineNo">231</span><a name="line.231">         */</a>
+<span class="sourceLineNo">232</span><a name="line.232">        private long 
rotl(long state) {</a>
+<span class="sourceLineNo">233</span><a name="line.233">            return 
(state &lt;&lt; rotate) | (state &gt;&gt;&gt; (64 - rotate));</a>
+<span class="sourceLineNo">234</span><a name="line.234">        }</a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236">        /** Factory. 
*/</a>
+<span class="sourceLineNo">237</span><a name="line.237">        static class 
Factory {</a>
+<span class="sourceLineNo">238</span><a name="line.238">            /** List 
of good "Cmres" subcycle generators. */</a>
+<span class="sourceLineNo">239</span><a name="line.239">            private 
static final List&lt;Cmres&gt; TABLE = new ArrayList&lt;Cmres&gt;();</a>
+<span class="sourceLineNo">240</span><a name="line.240"></a>
+<span class="sourceLineNo">241</span><a name="line.241">            /**</a>
+<span class="sourceLineNo">242</span><a name="line.242">             * 
Populates the table.</a>
+<span class="sourceLineNo">243</span><a name="line.243">             * It 
lists parameters known to be good (provided in</a>
+<span class="sourceLineNo">244</span><a name="line.244">             * the 
article referred to above).</a>
+<span class="sourceLineNo">245</span><a name="line.245">             * To 
maintain compatibility, new entries must be added</a>
+<span class="sourceLineNo">246</span><a name="line.246">             * only at 
the end of the table.</a>
+<span class="sourceLineNo">247</span><a name="line.247">             */</a>
+<span class="sourceLineNo">248</span><a name="line.248">            static 
{</a>
+<span class="sourceLineNo">249</span><a name="line.249">                
add(0xedce446814d3b3d9L, 33, 0x13b572e7);</a>
+<span class="sourceLineNo">250</span><a name="line.250">                
add(0xc5b3cf786c806df7L, 33, 0x13c8e18a);</a>
+<span class="sourceLineNo">251</span><a name="line.251">                
add(0xdd91bbb8ab9e0e65L, 31, 0x06dd03a6);</a>
+<span class="sourceLineNo">252</span><a name="line.252">                
add(0x7b69342c0790221dL, 31, 0x1646bb8b);</a>
+<span class="sourceLineNo">253</span><a name="line.253">                
add(0x0c72c0d18614c32bL, 33, 0x06014a3d);</a>
+<span class="sourceLineNo">254</span><a name="line.254">                
add(0xd8d98c13bebe26c9L, 33, 0x014e8475);</a>
+<span class="sourceLineNo">255</span><a name="line.255">                
add(0xcb039dc328bbc40fL, 31, 0x008684bd);</a>
+<span class="sourceLineNo">256</span><a name="line.256">                
add(0x858c5ef3c021ed2fL, 32, 0x0dc8d622);</a>
+<span class="sourceLineNo">257</span><a name="line.257">                
add(0x4c8be96bfc23b127L, 33, 0x0b6b20cc);</a>
+<span class="sourceLineNo">258</span><a name="line.258">                
add(0x11eab77f808cf641L, 32, 0x06534421);</a>
+<span class="sourceLineNo">259</span><a name="line.259">                
add(0xbc9bd78810fd28fdL, 31, 0x1d9ba40d);</a>
+<span class="sourceLineNo">260</span><a name="line.260">                
add(0x0f1505c780688cb5L, 33, 0x0b7b7b67);</a>
+<span class="sourceLineNo">261</span><a name="line.261">                
add(0xadc174babc2053afL, 31, 0x267f4197);</a>
+<span class="sourceLineNo">262</span><a name="line.262">                
add(0x900b6b82b31686d9L, 31, 0x023c6985);</a>
+<span class="sourceLineNo">263</span><a name="line.263">                // Add 
new entries here.</a>
+<span class="sourceLineNo">264</span><a name="line.264">            }</a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266">            /**</a>
+<span class="sourceLineNo">267</span><a name="line.267">             * @return 
the number of subcycle generators.</a>
+<span class="sourceLineNo">268</span><a name="line.268">             */</a>
+<span class="sourceLineNo">269</span><a name="line.269">            int 
numberOfSubcycleGenerators() {</a>
+<span class="sourceLineNo">270</span><a name="line.270">                return 
TABLE.size();</a>
+<span class="sourceLineNo">271</span><a name="line.271">            }</a>
+<span class="sourceLineNo">272</span><a name="line.272"></a>
+<span class="sourceLineNo">273</span><a name="line.273">            /**</a>
+<span class="sourceLineNo">274</span><a name="line.274">             * @param 
index Index into the list of available generators.</a>
+<span class="sourceLineNo">275</span><a name="line.275">             * @return 
the subcycle generator entry at index {@code index}.</a>
+<span class="sourceLineNo">276</span><a name="line.276">             */</a>
+<span class="sourceLineNo">277</span><a name="line.277">            Cmres 
get(int index) {</a>
+<span class="sourceLineNo">278</span><a name="line.278">                if 
(index &lt; 0 ||</a>
+<span class="sourceLineNo">279</span><a name="line.279">                    
index &gt;= TABLE.size()) {</a>
+<span class="sourceLineNo">280</span><a name="line.280">                    
throw new IndexOutOfBoundsException("Out of interval [0, " +</a>
+<span class="sourceLineNo">281</span><a name="line.281">                       
                                 (TABLE.size() - 1) + "]");</a>
+<span class="sourceLineNo">282</span><a name="line.282">                }</a>
+<span class="sourceLineNo">283</span><a name="line.283"></a>
+<span class="sourceLineNo">284</span><a name="line.284">                return 
TABLE.get(index);</a>
+<span class="sourceLineNo">285</span><a name="line.285">            }</a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287">            /**</a>
+<span class="sourceLineNo">288</span><a name="line.288">             * Adds an 
entry to the {@link Factory#TABLE}.</a>
+<span class="sourceLineNo">289</span><a name="line.289">             *</a>
+<span class="sourceLineNo">290</span><a name="line.290">             * @param 
multiply Multiplier.</a>
+<span class="sourceLineNo">291</span><a name="line.291">             * @param 
rotate Rotate.</a>
+<span class="sourceLineNo">292</span><a name="line.292">             * @param 
start Cycle start.</a>
+<span class="sourceLineNo">293</span><a name="line.293">             */</a>
+<span class="sourceLineNo">294</span><a name="line.294">            private 
static void add(long multiply,</a>
+<span class="sourceLineNo">295</span><a name="line.295">                       
             int rotate,</a>
+<span class="sourceLineNo">296</span><a name="line.296">                       
             int start) {</a>
+<span class="sourceLineNo">297</span><a name="line.297">                // 
Sanity check: if there are duplicates, the class initialization</a>
+<span class="sourceLineNo">298</span><a name="line.298">                // 
will fail (and the JVM will report "NoClassDefFoundError").</a>
+<span class="sourceLineNo">299</span><a name="line.299">                for 
(Cmres sg : TABLE) {</a>
+<span class="sourceLineNo">300</span><a name="line.300">                    if 
(multiply == sg.getMultiply()) {</a>
+<span class="sourceLineNo">301</span><a name="line.301">                       
 throw new IllegalStateException(INTERNAL_ERROR_MSG);</a>
+<span class="sourceLineNo">302</span><a name="line.302">                    
}</a>
+<span class="sourceLineNo">303</span><a name="line.303">                }</a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span><a name="line.305">                
TABLE.add(new Cmres(multiply, rotate, start));</a>
+<span class="sourceLineNo">306</span><a name="line.306">            }</a>
+<span class="sourceLineNo">307</span><a name="line.307">        }</a>
+<span class="sourceLineNo">308</span><a name="line.308">    }</a>
+<span class="sourceLineNo">309</span><a name="line.309">}</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/source64/XorShift1024Star.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source64/XorShift1024Star.html
 (added)
+++ 
websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/source64/XorShift1024Star.html
 Tue Aug 14 12:48:23 2018
@@ -0,0 +1,165 @@
+<!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.source64;</a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span><a name="line.20">import 
java.util.Arrays;</a>
+<span class="sourceLineNo">021</span><a name="line.21">import 
org.apache.commons.rng.core.util.NumberFactory;</a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span><a name="line.23">/**</a>
+<span class="sourceLineNo">024</span><a name="line.24"> * A fast RNG.</a>
+<span class="sourceLineNo">025</span><a name="line.25"> *</a>
+<span class="sourceLineNo">026</span><a name="line.26"> * @see &lt;a 
href="http://xorshift.di.unimi.it/xorshift1024star.c"&gt;</a>
+<span class="sourceLineNo">027</span><a name="line.27"> * Original source 
code&lt;/a&gt;</a>
+<span class="sourceLineNo">028</span><a name="line.28"> *</a>
+<span class="sourceLineNo">029</span><a name="line.29"> * @see &lt;a 
href="https://en.wikipedia.org/wiki/Xorshift"&gt;Xorshift 
(Wikipedia)&lt;/a&gt;</a>
+<span class="sourceLineNo">030</span><a name="line.30"> * @since 1.0</a>
+<span class="sourceLineNo">031</span><a name="line.31"> */</a>
+<span class="sourceLineNo">032</span><a name="line.32">public class 
XorShift1024Star extends LongProvider {</a>
+<span class="sourceLineNo">033</span><a name="line.33">    /** Size of the 
state vector. */</a>
+<span class="sourceLineNo">034</span><a name="line.34">    private static 
final int SEED_SIZE = 16;</a>
+<span class="sourceLineNo">035</span><a name="line.35">    /** State. */</a>
+<span class="sourceLineNo">036</span><a name="line.36">    private final 
long[] state = new long[SEED_SIZE];</a>
+<span class="sourceLineNo">037</span><a name="line.37">    /** Index in 
"state" array. */</a>
+<span class="sourceLineNo">038</span><a name="line.38">    private int 
index;</a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40">    /**</a>
+<span class="sourceLineNo">041</span><a name="line.41">     * Creates a new 
instance.</a>
+<span class="sourceLineNo">042</span><a name="line.42">     *</a>
+<span class="sourceLineNo">043</span><a name="line.43">     * @param seed 
Initial seed.</a>
+<span class="sourceLineNo">044</span><a name="line.44">     * If the length is 
larger than 16, only the first 16 elements will</a>
+<span class="sourceLineNo">045</span><a name="line.45">     * be used; if 
smaller, the remaining elements will be automatically</a>
+<span class="sourceLineNo">046</span><a name="line.46">     * set.</a>
+<span class="sourceLineNo">047</span><a name="line.47">     */</a>
+<span class="sourceLineNo">048</span><a name="line.48">    public 
XorShift1024Star(long[] seed) {</a>
+<span class="sourceLineNo">049</span><a name="line.49">        
setSeedInternal(seed);</a>
+<span class="sourceLineNo">050</span><a name="line.50">    }</a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52">    /** {@inheritDoc} 
*/</a>
+<span class="sourceLineNo">053</span><a name="line.53">    @Override</a>
+<span class="sourceLineNo">054</span><a name="line.54">    protected byte[] 
getStateInternal() {</a>
+<span class="sourceLineNo">055</span><a name="line.55">        final long[] s 
= Arrays.copyOf(state, SEED_SIZE + 1);</a>
+<span class="sourceLineNo">056</span><a name="line.56">        s[SEED_SIZE] = 
index;</a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58">        return 
NumberFactory.makeByteArray(s);</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 + 1) * 8);</a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span><a name="line.66">        final long[] 
tmp = NumberFactory.makeLongArray(s);</a>
+<span class="sourceLineNo">067</span><a name="line.67"></a>
+<span class="sourceLineNo">068</span><a name="line.68">        
System.arraycopy(tmp, 0, state, 0, SEED_SIZE);</a>
+<span class="sourceLineNo">069</span><a name="line.69">        index = (int) 
tmp[SEED_SIZE];</a>
+<span class="sourceLineNo">070</span><a name="line.70">    }</a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span><a name="line.72">    /**</a>
+<span class="sourceLineNo">073</span><a name="line.73">     * Seeds the 
RNG.</a>
+<span class="sourceLineNo">074</span><a name="line.74">     *</a>
+<span class="sourceLineNo">075</span><a name="line.75">     * @param seed 
Seed.</a>
+<span class="sourceLineNo">076</span><a name="line.76">     */</a>
+<span class="sourceLineNo">077</span><a name="line.77">    private void 
setSeedInternal(long[] seed) {</a>
+<span class="sourceLineNo">078</span><a name="line.78">        // Reset the 
whole state of this RNG (i.e. "state" and "index").</a>
+<span class="sourceLineNo">079</span><a name="line.79">        // Filling 
procedure is not part of the reference code.</a>
+<span class="sourceLineNo">080</span><a name="line.80">        
fillState(state, seed);</a>
+<span class="sourceLineNo">081</span><a name="line.81">        index = 0;</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">    /** {@inheritDoc} 
*/</a>
+<span class="sourceLineNo">085</span><a name="line.85">    @Override</a>
+<span class="sourceLineNo">086</span><a name="line.86">    public long next() 
{</a>
+<span class="sourceLineNo">087</span><a name="line.87">        final long s0 = 
state[index];</a>
+<span class="sourceLineNo">088</span><a name="line.88">        long s1 = 
state[index = (index + 1) &amp; 15];</a>
+<span class="sourceLineNo">089</span><a name="line.89">        s1 ^= s1 
&lt;&lt; 31; // a</a>
+<span class="sourceLineNo">090</span><a name="line.90">        state[index] = 
s1 ^ s0 ^ (s1 &gt;&gt;&gt; 11) ^ (s0 &gt;&gt;&gt; 30); // b,c</a>
+<span class="sourceLineNo">091</span><a name="line.91">        return 
state[index] * 1181783497276652981L;</a>
+<span class="sourceLineNo">092</span><a name="line.92">    }</a>
+<span class="sourceLineNo">093</span><a name="line.93">}</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/util/NumberFactory.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/util/NumberFactory.html
 (added)
+++ 
websites/production/commons/content/proper/commons-rng/commons-rng-core/javadocs/api-1.1/src-html/org/apache/commons/rng/core/util/NumberFactory.html
 Tue Aug 14 12:48:23 2018
@@ -0,0 +1,404 @@
+<!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.util;</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"></a>
+<span class="sourceLineNo">021</span><a name="line.21">/**</a>
+<span class="sourceLineNo">022</span><a name="line.22"> * Utility for creating 
number types from one or two {@code int} values</a>
+<span class="sourceLineNo">023</span><a name="line.23"> * or one {@code long} 
value, or a sequence of bytes.</a>
+<span class="sourceLineNo">024</span><a name="line.24"> */</a>
+<span class="sourceLineNo">025</span><a name="line.25">public final class 
NumberFactory {</a>
+<span class="sourceLineNo">026</span><a name="line.26">    /** See {@link 
#makeDouble(long)}. */</a>
+<span class="sourceLineNo">027</span><a name="line.27">    private static 
final long DOUBLE_HIGH_BITS = 0x3ffL &lt;&lt; 52;</a>
+<span class="sourceLineNo">028</span><a name="line.28">    /** See {@link 
#makeFloat(int)}. */</a>
+<span class="sourceLineNo">029</span><a name="line.29">    private static 
final float FLOAT_MULTIPLIER = 0x1.0p-23f;</a>
+<span class="sourceLineNo">030</span><a name="line.30">    /** See {@link 
#makeDouble(int, int)}. */</a>
+<span class="sourceLineNo">031</span><a name="line.31">    private static 
final double DOUBLE_MULTIPLIER = 0x1.0p-52d;</a>
+<span class="sourceLineNo">032</span><a name="line.32">    /** Lowest byte 
mask. */</a>
+<span class="sourceLineNo">033</span><a name="line.33">    private static 
final long LONG_LOWEST_BYTE_MASK = 0xffL;</a>
+<span class="sourceLineNo">034</span><a name="line.34">    /** Number of bytes 
in a {@code long}. */</a>
+<span class="sourceLineNo">035</span><a name="line.35">    private static 
final int LONG_SIZE = 8;</a>
+<span class="sourceLineNo">036</span><a name="line.36">    /** Lowest byte 
mask. */</a>
+<span class="sourceLineNo">037</span><a name="line.37">    private static 
final int INT_LOWEST_BYTE_MASK = 0xff;</a>
+<span class="sourceLineNo">038</span><a name="line.38">    /** Number of bytes 
in a {@code int}. */</a>
+<span class="sourceLineNo">039</span><a name="line.39">    private static 
final int INT_SIZE = 4;</a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span><a name="line.41">    /**</a>
+<span class="sourceLineNo">042</span><a name="line.42">     * Class contains 
only static methods.</a>
+<span class="sourceLineNo">043</span><a name="line.43">     */</a>
+<span class="sourceLineNo">044</span><a name="line.44">    private 
NumberFactory() {}</a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46">    /**</a>
+<span class="sourceLineNo">047</span><a name="line.47">     * @param v 
Number.</a>
+<span class="sourceLineNo">048</span><a name="line.48">     * @return a 
boolean.</a>
+<span class="sourceLineNo">049</span><a name="line.49">     */</a>
+<span class="sourceLineNo">050</span><a name="line.50">    public static 
boolean makeBoolean(int v) {</a>
+<span class="sourceLineNo">051</span><a name="line.51">        return (v 
&gt;&gt;&gt; 31) != 0;</a>
+<span class="sourceLineNo">052</span><a name="line.52">    }</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">     * @param v 
Number.</a>
+<span class="sourceLineNo">056</span><a name="line.56">     * @return a 
boolean.</a>
+<span class="sourceLineNo">057</span><a name="line.57">     */</a>
+<span class="sourceLineNo">058</span><a name="line.58">    public static 
boolean makeBoolean(long v) {</a>
+<span class="sourceLineNo">059</span><a name="line.59">        return (v 
&gt;&gt;&gt; 63) != 0;</a>
+<span class="sourceLineNo">060</span><a name="line.60">    }</a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62">    /**</a>
+<span class="sourceLineNo">063</span><a name="line.63">     * @param v 
Number.</a>
+<span class="sourceLineNo">064</span><a name="line.64">     * @return a {@code 
double} value in the interval {@code [0, 1]}.</a>
+<span class="sourceLineNo">065</span><a name="line.65">     */</a>
+<span class="sourceLineNo">066</span><a name="line.66">    public static 
double makeDouble(long v) {</a>
+<span class="sourceLineNo">067</span><a name="line.67">        // 
http://xorshift.di.unimi.it</a>
+<span class="sourceLineNo">068</span><a name="line.68">        return 
Double.longBitsToDouble(DOUBLE_HIGH_BITS | v &gt;&gt;&gt; 12) - 1d;</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">    /**</a>
+<span class="sourceLineNo">072</span><a name="line.72">     * @param v Number 
(high order bits).</a>
+<span class="sourceLineNo">073</span><a name="line.73">     * @param w Number 
(low order bits).</a>
+<span class="sourceLineNo">074</span><a name="line.74">     * @return a {@code 
double} value in the interval {@code [0, 1]}.</a>
+<span class="sourceLineNo">075</span><a name="line.75">     */</a>
+<span class="sourceLineNo">076</span><a name="line.76">    public static 
double makeDouble(int v,</a>
+<span class="sourceLineNo">077</span><a name="line.77">                        
            int w) {</a>
+<span class="sourceLineNo">078</span><a name="line.78">        final long high 
= ((long) (v &gt;&gt;&gt; 6)) &lt;&lt; 26;</a>
+<span class="sourceLineNo">079</span><a name="line.79">        final int low = 
w &gt;&gt;&gt; 6;</a>
+<span class="sourceLineNo">080</span><a name="line.80">        return (high | 
low) * DOUBLE_MULTIPLIER;</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">     * @param v 
Number.</a>
+<span class="sourceLineNo">085</span><a name="line.85">     * @return a {@code 
float} value in the interval {@code [0, 1]}.</a>
+<span class="sourceLineNo">086</span><a name="line.86">     */</a>
+<span class="sourceLineNo">087</span><a name="line.87">    public static float 
makeFloat(int v) {</a>
+<span class="sourceLineNo">088</span><a name="line.88">        return (v 
&gt;&gt;&gt; 9) * FLOAT_MULTIPLIER;</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">    /**</a>
+<span class="sourceLineNo">092</span><a name="line.92">     * @param v Number 
(high order bits).</a>
+<span class="sourceLineNo">093</span><a name="line.93">     * @param w Number 
(low order bits).</a>
+<span class="sourceLineNo">094</span><a name="line.94">     * @return a {@code 
long} value.</a>
+<span class="sourceLineNo">095</span><a name="line.95">     */</a>
+<span class="sourceLineNo">096</span><a name="line.96">    public static long 
makeLong(int v,</a>
+<span class="sourceLineNo">097</span><a name="line.97">                        
        int w) {</a>
+<span class="sourceLineNo">098</span><a name="line.98">        return (((long) 
v) &lt;&lt; 32) | (w &amp; 0xffffffffL);</a>
+<span class="sourceLineNo">099</span><a name="line.99">    }</a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101">    /**</a>
+<span class="sourceLineNo">102</span><a name="line.102">     * Creates an 
{@code int} from a {@code long}.</a>
+<span class="sourceLineNo">103</span><a name="line.103">     *</a>
+<span class="sourceLineNo">104</span><a name="line.104">     * @param v 
Number.</a>
+<span class="sourceLineNo">105</span><a name="line.105">     * @return an 
{@code int} value made from the "xor" of the</a>
+<span class="sourceLineNo">106</span><a name="line.106">     * {@link 
#extractHi(long) high order bits} and</a>
+<span class="sourceLineNo">107</span><a name="line.107">     * {@link 
#extractLo(long) low order bits} of {@code v}.</a>
+<span class="sourceLineNo">108</span><a name="line.108">     */</a>
+<span class="sourceLineNo">109</span><a name="line.109">    public static int 
makeInt(long v) {</a>
+<span class="sourceLineNo">110</span><a name="line.110">        return 
extractHi(v) ^ extractLo(v);</a>
+<span class="sourceLineNo">111</span><a name="line.111">    }</a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113">    /**</a>
+<span class="sourceLineNo">114</span><a name="line.114">     * Creates an 
{@code int} from a {@code long}, using the high order bits.</a>
+<span class="sourceLineNo">115</span><a name="line.115">     *</a>
+<span class="sourceLineNo">116</span><a name="line.116">     * &lt;p&gt;The 
returned value is such that if&lt;/p&gt;</a>
+<span class="sourceLineNo">117</span><a name="line.117">     * 
&lt;pre&gt;&lt;code&gt;</a>
+<span class="sourceLineNo">118</span><a name="line.118">     *  vL = 
extractLo(v);</a>
+<span class="sourceLineNo">119</span><a name="line.119">     *  vH = 
extractHi(v);</a>
+<span class="sourceLineNo">120</span><a name="line.120">     * 
&lt;/code&gt;&lt;/pre&gt;</a>
+<span class="sourceLineNo">121</span><a name="line.121">     *</a>
+<span class="sourceLineNo">122</span><a name="line.122">     * &lt;p&gt;then 
{@code v} is equal to {@link #makeLong(int,int) makeLong(vH, vL)}.&lt;/p&gt;</a>
+<span class="sourceLineNo">123</span><a name="line.123">     *</a>
+<span class="sourceLineNo">124</span><a name="line.124">     * @param v 
Number.</a>
+<span class="sourceLineNo">125</span><a name="line.125">     * @return an 
{@code int} value made from the most significant bits</a>
+<span class="sourceLineNo">126</span><a name="line.126">     * of {@code 
v}.</a>
+<span class="sourceLineNo">127</span><a name="line.127">     */</a>
+<span class="sourceLineNo">128</span><a name="line.128">    public static int 
extractHi(long v) {</a>
+<span class="sourceLineNo">129</span><a name="line.129">        return (int) 
(v &gt;&gt;&gt; 32);</a>
+<span class="sourceLineNo">130</span><a name="line.130">    }</a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132">    /**</a>
+<span class="sourceLineNo">133</span><a name="line.133">     * Creates an 
{@code int} from a {@code long}, using the low order bits.</a>
+<span class="sourceLineNo">134</span><a name="line.134">     *</a>
+<span class="sourceLineNo">135</span><a name="line.135">     * &lt;p&gt;The 
returned value is such that if&lt;/p&gt;</a>
+<span class="sourceLineNo">136</span><a name="line.136">     *</a>
+<span class="sourceLineNo">137</span><a name="line.137">     * 
&lt;pre&gt;&lt;code&gt;</a>
+<span class="sourceLineNo">138</span><a name="line.138">     *  vL = 
extractLo(v);</a>
+<span class="sourceLineNo">139</span><a name="line.139">     *  vH = 
extractHi(v);</a>
+<span class="sourceLineNo">140</span><a name="line.140">     * 
&lt;/code&gt;&lt;/pre&gt;</a>
+<span class="sourceLineNo">141</span><a name="line.141">     *</a>
+<span class="sourceLineNo">142</span><a name="line.142">     * &lt;p&gt;then 
{@code v} is equal to {@link #makeLong(int,int) makeLong(vH, vL)}.&lt;/p&gt;</a>
+<span class="sourceLineNo">143</span><a name="line.143">     *</a>
+<span class="sourceLineNo">144</span><a name="line.144">     * @param v 
Number.</a>
+<span class="sourceLineNo">145</span><a name="line.145">     * @return an 
{@code int} value made from the least significant bits</a>
+<span class="sourceLineNo">146</span><a name="line.146">     * of {@code 
v}.</a>
+<span class="sourceLineNo">147</span><a name="line.147">     */</a>
+<span class="sourceLineNo">148</span><a name="line.148">    public static int 
extractLo(long v) {</a>
+<span class="sourceLineNo">149</span><a name="line.149">        return (int) 
v;</a>
+<span class="sourceLineNo">150</span><a name="line.150">    }</a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span><a name="line.152">    /**</a>
+<span class="sourceLineNo">153</span><a name="line.153">     * Splits a {@code 
long} into 8 bytes.</a>
+<span class="sourceLineNo">154</span><a name="line.154">     *</a>
+<span class="sourceLineNo">155</span><a name="line.155">     * @param v 
Value.</a>
+<span class="sourceLineNo">156</span><a name="line.156">     * @return the 
bytes that compose the given value (least-significant</a>
+<span class="sourceLineNo">157</span><a name="line.157">     * byte first).</a>
+<span class="sourceLineNo">158</span><a name="line.158">     */</a>
+<span class="sourceLineNo">159</span><a name="line.159">    public static 
byte[] makeByteArray(long v) {</a>
+<span class="sourceLineNo">160</span><a name="line.160">        final byte[] b 
= new byte[LONG_SIZE];</a>
+<span class="sourceLineNo">161</span><a name="line.161"></a>
+<span class="sourceLineNo">162</span><a name="line.162">        for (int i = 
0; i &lt; LONG_SIZE; i++) {</a>
+<span class="sourceLineNo">163</span><a name="line.163">            final int 
shift = i * 8;</a>
+<span class="sourceLineNo">164</span><a name="line.164">            b[i] = 
(byte) ((v &gt;&gt;&gt; shift) &amp; LONG_LOWEST_BYTE_MASK);</a>
+<span class="sourceLineNo">165</span><a name="line.165">        }</a>
+<span class="sourceLineNo">166</span><a name="line.166"></a>
+<span class="sourceLineNo">167</span><a name="line.167">        return b;</a>
+<span class="sourceLineNo">168</span><a name="line.168">    }</a>
+<span class="sourceLineNo">169</span><a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170">    /**</a>
+<span class="sourceLineNo">171</span><a name="line.171">     * Creates a 
{@code long} from 8 bytes.</a>
+<span class="sourceLineNo">172</span><a name="line.172">     *</a>
+<span class="sourceLineNo">173</span><a name="line.173">     * @param input 
Input.</a>
+<span class="sourceLineNo">174</span><a name="line.174">     * @return the 
value that correspond to the given bytes assuming</a>
+<span class="sourceLineNo">175</span><a name="line.175">     * that the is 
ordered in increasing byte significance (i.e. the</a>
+<span class="sourceLineNo">176</span><a name="line.176">     * first byte in 
the array is the least-siginficant).</a>
+<span class="sourceLineNo">177</span><a name="line.177">     * @throws 
IllegalArgumentException if {@code input.length != 8}.</a>
+<span class="sourceLineNo">178</span><a name="line.178">     */</a>
+<span class="sourceLineNo">179</span><a name="line.179">    public static long 
makeLong(byte[] input) {</a>
+<span class="sourceLineNo">180</span><a name="line.180">        
checkSize(LONG_SIZE, input.length);</a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span><a name="line.182">        long v = 0;</a>
+<span class="sourceLineNo">183</span><a name="line.183">        for (int i = 
0; i &lt; LONG_SIZE; i++) {</a>
+<span class="sourceLineNo">184</span><a name="line.184">            final int 
shift = i * 8;</a>
+<span class="sourceLineNo">185</span><a name="line.185">            v |= 
(((long) input[i]) &amp; LONG_LOWEST_BYTE_MASK) &lt;&lt; shift;</a>
+<span class="sourceLineNo">186</span><a name="line.186">        }</a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188">        return v;</a>
+<span class="sourceLineNo">189</span><a name="line.189">    }</a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191">    /**</a>
+<span class="sourceLineNo">192</span><a name="line.192">     * Splits an array 
of {@code long} values into a sequence of bytes.</a>
+<span class="sourceLineNo">193</span><a name="line.193">     * This method 
calls {@link #makeByteArray(long)} for each element of</a>
+<span class="sourceLineNo">194</span><a name="line.194">     * the {@code 
input}.</a>
+<span class="sourceLineNo">195</span><a name="line.195">     *</a>
+<span class="sourceLineNo">196</span><a name="line.196">     * @param input 
Input.</a>
+<span class="sourceLineNo">197</span><a name="line.197">     * @return an 
array of bytes.</a>
+<span class="sourceLineNo">198</span><a name="line.198">     */</a>
+<span class="sourceLineNo">199</span><a name="line.199">    public static 
byte[] makeByteArray(long[] input) {</a>
+<span class="sourceLineNo">200</span><a name="line.200">        final int size 
= input.length * LONG_SIZE;</a>
+<span class="sourceLineNo">201</span><a name="line.201">        final byte[] b 
= new byte[size];</a>
+<span class="sourceLineNo">202</span><a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203">        for (int i = 
0; i &lt; input.length; i++) {</a>
+<span class="sourceLineNo">204</span><a name="line.204">            final 
byte[] current = makeByteArray(input[i]);</a>
+<span class="sourceLineNo">205</span><a name="line.205">            
System.arraycopy(current, 0, b, i * LONG_SIZE, LONG_SIZE);</a>
+<span class="sourceLineNo">206</span><a name="line.206">        }</a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span><a name="line.208">        return b;</a>
+<span class="sourceLineNo">209</span><a name="line.209">    }</a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211">    /**</a>
+<span class="sourceLineNo">212</span><a name="line.212">     * Creates an 
array of {@code long} values from a sequence of bytes.</a>
+<span class="sourceLineNo">213</span><a name="line.213">     * This method 
calls {@link #makeLong(byte[])} for each subsequence</a>
+<span class="sourceLineNo">214</span><a name="line.214">     * of 8 bytes.</a>
+<span class="sourceLineNo">215</span><a name="line.215">     *</a>
+<span class="sourceLineNo">216</span><a name="line.216">     * @param input 
Input.</a>
+<span class="sourceLineNo">217</span><a name="line.217">     * @return an 
array of {@code long}.</a>
+<span class="sourceLineNo">218</span><a name="line.218">     * @throws 
IllegalArgumentException if {@code input.length} is not</a>
+<span class="sourceLineNo">219</span><a name="line.219">     * a multiple of 
8.</a>
+<span class="sourceLineNo">220</span><a name="line.220">     */</a>
+<span class="sourceLineNo">221</span><a name="line.221">    public static 
long[] makeLongArray(byte[] input) {</a>
+<span class="sourceLineNo">222</span><a name="line.222">        final int size 
= input.length;</a>
+<span class="sourceLineNo">223</span><a name="line.223">        final int num 
= size / LONG_SIZE;</a>
+<span class="sourceLineNo">224</span><a name="line.224">        checkSize(num 
* LONG_SIZE, size);</a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226">        final long[] 
output = new long[num];</a>
+<span class="sourceLineNo">227</span><a name="line.227">        for (int i = 
0; i &lt; num; i++) {</a>
+<span class="sourceLineNo">228</span><a name="line.228">            final int 
from = i * LONG_SIZE;</a>
+<span class="sourceLineNo">229</span><a name="line.229">            final 
byte[] current = Arrays.copyOfRange(input, from, from + LONG_SIZE);</a>
+<span class="sourceLineNo">230</span><a name="line.230">            output[i] 
= makeLong(current);</a>
+<span class="sourceLineNo">231</span><a name="line.231">        }</a>
+<span class="sourceLineNo">232</span><a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233">        return 
output;</a>
+<span class="sourceLineNo">234</span><a name="line.234">    }</a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span><a name="line.236">    /**</a>
+<span class="sourceLineNo">237</span><a name="line.237">     * Splits an 
{@code int} into 4 bytes.</a>
+<span class="sourceLineNo">238</span><a name="line.238">     *</a>
+<span class="sourceLineNo">239</span><a name="line.239">     * @param v 
Value.</a>
+<span class="sourceLineNo">240</span><a name="line.240">     * @return the 
bytes that compose the given value (least-significant</a>
+<span class="sourceLineNo">241</span><a name="line.241">     * byte first).</a>
+<span class="sourceLineNo">242</span><a name="line.242">     */</a>
+<span class="sourceLineNo">243</span><a name="line.243">    public static 
byte[] makeByteArray(int v) {</a>
+<span class="sourceLineNo">244</span><a name="line.244">        final byte[] b 
= new byte[INT_SIZE];</a>
+<span class="sourceLineNo">245</span><a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246">        for (int i = 
0; i &lt; INT_SIZE; i++) {</a>
+<span class="sourceLineNo">247</span><a name="line.247">            final int 
shift = i * 8;</a>
+<span class="sourceLineNo">248</span><a name="line.248">            b[i] = 
(byte) ((v &gt;&gt;&gt; shift) &amp; INT_LOWEST_BYTE_MASK);</a>
+<span class="sourceLineNo">249</span><a name="line.249">        }</a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251">        return b;</a>
+<span class="sourceLineNo">252</span><a name="line.252">    }</a>
+<span class="sourceLineNo">253</span><a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254">    /**</a>
+<span class="sourceLineNo">255</span><a name="line.255">     * Creates an 
{@code int} from 4 bytes.</a>
+<span class="sourceLineNo">256</span><a name="line.256">     *</a>
+<span class="sourceLineNo">257</span><a name="line.257">     * @param input 
Input.</a>
+<span class="sourceLineNo">258</span><a name="line.258">     * @return the 
value that correspond to the given bytes assuming</a>
+<span class="sourceLineNo">259</span><a name="line.259">     * that the is 
ordered in increasing byte significance (i.e. the</a>
+<span class="sourceLineNo">260</span><a name="line.260">     * first byte in 
the array is the least-siginficant).</a>
+<span class="sourceLineNo">261</span><a name="line.261">     * @throws 
IllegalArgumentException if {@code input.length != 4}.</a>
+<span class="sourceLineNo">262</span><a name="line.262">     */</a>
+<span class="sourceLineNo">263</span><a name="line.263">    public static int 
makeInt(byte[] input) {</a>
+<span class="sourceLineNo">264</span><a name="line.264">        
checkSize(INT_SIZE, input.length);</a>
+<span class="sourceLineNo">265</span><a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266">        int v = 0;</a>
+<span class="sourceLineNo">267</span><a name="line.267">        for (int i = 
0; i &lt; INT_SIZE; i++) {</a>
+<span class="sourceLineNo">268</span><a name="line.268">            final int 
shift = i * 8;</a>
+<span class="sourceLineNo">269</span><a name="line.269">            v |= 
(((int) input[i]) &amp; INT_LOWEST_BYTE_MASK) &lt;&lt; shift;</a>
+<span class="sourceLineNo">270</span><a name="line.270">        }</a>
+<span class="sourceLineNo">271</span><a name="line.271"></a>
+<span class="sourceLineNo">272</span><a name="line.272">        return v;</a>
+<span class="sourceLineNo">273</span><a name="line.273">    }</a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span><a name="line.275">    /**</a>
+<span class="sourceLineNo">276</span><a name="line.276">     * Splits an array 
of {@code int} values into a sequence of bytes.</a>
+<span class="sourceLineNo">277</span><a name="line.277">     * This method 
calls {@link #makeByteArray(int)} for each element of</a>
+<span class="sourceLineNo">278</span><a name="line.278">     * the {@code 
input}.</a>
+<span class="sourceLineNo">279</span><a name="line.279">     *</a>
+<span class="sourceLineNo">280</span><a name="line.280">     * @param input 
Input.</a>
+<span class="sourceLineNo">281</span><a name="line.281">     * @return an 
array of bytes.</a>
+<span class="sourceLineNo">282</span><a name="line.282">     */</a>
+<span class="sourceLineNo">283</span><a name="line.283">    public static 
byte[] makeByteArray(int[] input) {</a>
+<span class="sourceLineNo">284</span><a name="line.284">        final int size 
= input.length * INT_SIZE;</a>
+<span class="sourceLineNo">285</span><a name="line.285">        final byte[] b 
= new byte[size];</a>
+<span class="sourceLineNo">286</span><a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287">        for (int i = 
0; i &lt; input.length; i++) {</a>
+<span class="sourceLineNo">288</span><a name="line.288">            final 
byte[] current = makeByteArray(input[i]);</a>
+<span class="sourceLineNo">289</span><a name="line.289">            
System.arraycopy(current, 0, b, i * INT_SIZE, INT_SIZE);</a>
+<span class="sourceLineNo">290</span><a name="line.290">        }</a>
+<span class="sourceLineNo">291</span><a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292">        return b;</a>
+<span class="sourceLineNo">293</span><a name="line.293">    }</a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span><a name="line.295">    /**</a>
+<span class="sourceLineNo">296</span><a name="line.296">     * Creates an 
array of {@code int} values from a sequence of bytes.</a>
+<span class="sourceLineNo">297</span><a name="line.297">     * This method 
calls {@link #makeInt(byte[])} for each subsequence</a>
+<span class="sourceLineNo">298</span><a name="line.298">     * of 4 bytes.</a>
+<span class="sourceLineNo">299</span><a name="line.299">     *</a>
+<span class="sourceLineNo">300</span><a name="line.300">     * @param input 
Input. Length must be a multiple of 4.</a>
+<span class="sourceLineNo">301</span><a name="line.301">     * @return an 
array of {@code int}.</a>
+<span class="sourceLineNo">302</span><a name="line.302">     * @throws 
IllegalArgumentException if {@code input.length} is not</a>
+<span class="sourceLineNo">303</span><a name="line.303">     * a multiple of 
4.</a>
+<span class="sourceLineNo">304</span><a name="line.304">     */</a>
+<span class="sourceLineNo">305</span><a name="line.305">    public static 
int[] makeIntArray(byte[] input) {</a>
+<span class="sourceLineNo">306</span><a name="line.306">        final int size 
= input.length;</a>
+<span class="sourceLineNo">307</span><a name="line.307">        final int num 
= size / INT_SIZE;</a>
+<span class="sourceLineNo">308</span><a name="line.308">        checkSize(num 
* INT_SIZE, size);</a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310">        final int[] 
output = new int[num];</a>
+<span class="sourceLineNo">311</span><a name="line.311">        for (int i = 
0; i &lt; num; i++) {</a>
+<span class="sourceLineNo">312</span><a name="line.312">            final int 
from = i * INT_SIZE;</a>
+<span class="sourceLineNo">313</span><a name="line.313">            final 
byte[] current = Arrays.copyOfRange(input, from, from + INT_SIZE);</a>
+<span class="sourceLineNo">314</span><a name="line.314">            output[i] 
= makeInt(current);</a>
+<span class="sourceLineNo">315</span><a name="line.315">        }</a>
+<span class="sourceLineNo">316</span><a name="line.316"></a>
+<span class="sourceLineNo">317</span><a name="line.317">        return 
output;</a>
+<span class="sourceLineNo">318</span><a name="line.318">    }</a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span><a name="line.320">    /**</a>
+<span class="sourceLineNo">321</span><a name="line.321">     * @param expected 
Expected value.</a>
+<span class="sourceLineNo">322</span><a name="line.322">     * @param actual 
Actual value.</a>
+<span class="sourceLineNo">323</span><a name="line.323">     * @throw 
IllegalArgumentException if {@code expected != actual}.</a>
+<span class="sourceLineNo">324</span><a name="line.324">     */</a>
+<span class="sourceLineNo">325</span><a name="line.325">    private static 
void checkSize(int expected,</a>
+<span class="sourceLineNo">326</span><a name="line.326">                       
           int actual) {</a>
+<span class="sourceLineNo">327</span><a name="line.327">        if (expected 
!= actual) {</a>
+<span class="sourceLineNo">328</span><a name="line.328">            throw new 
IllegalArgumentException("Array size: Expected " + expected +</a>
+<span class="sourceLineNo">329</span><a name="line.329">                       
                        " but was " + actual);</a>
+<span class="sourceLineNo">330</span><a name="line.330">        }</a>
+<span class="sourceLineNo">331</span><a name="line.331">    }</a>
+<span class="sourceLineNo">332</span><a name="line.332">}</a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


Reply via email to