http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/27/27354bf085207fdee68c167e5b40da603e0f3bd4.svn-base ---------------------------------------------------------------------- diff --git a/commons-rng-core/site-content/.svn/pristine/27/27354bf085207fdee68c167e5b40da603e0f3bd4.svn-base b/commons-rng-core/site-content/.svn/pristine/27/27354bf085207fdee68c167e5b40da603e0f3bd4.svn-base new file mode 100644 index 0000000..50ec932 --- /dev/null +++ b/commons-rng-core/site-content/.svn/pristine/27/27354bf085207fdee68c167e5b40da603e0f3bd4.svn-base @@ -0,0 +1,290 @@ +<!DOCTYPE html> +<!-- + | Generated by Apache Maven Doxia at 10 September 2016 + | Rendered using Apache Maven Fluido Skin 1.3.0 +--> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta charset="UTF-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> + <meta name="author" content="Apache Commons Documentation Team" /> + <meta name="Date-Revision-yyyymmdd" content="20160910" /> + <meta http-equiv="Content-Language" content="en" /> + <title>Rng – Download Apache Commons Rng</title> + + <link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" /> + <link rel="stylesheet" href="./css/site.css" type="text/css" /> + <link rel="stylesheet" href="./css/print.css" media="print" /> + + <script type="text/javascript" src="./js/jquery.min.js"></script> + <script type="text/javascript" src="./js/bootstrap.min.js"></script> + <script type="text/javascript" src="./js/prettify.min.js"></script> + <script type="text/javascript" src="./js/site.js"></script> + + +<script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script> +<link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/> + </head> + + <body class="composite"> + <a href="http://commons.apache.org/" id="bannerLeft" title="Apache Commons logo"> + <img class="logo-left" src="./images/commons-logo.png" alt="Apache Commons logo"/> + </a> + <a href="index.html" id="bannerRight"> + <img class="logo-right" src="images/commons_rng.small.png" alt="Commons Rng"/> + </a> + <div class="clear"></div> + + <div class="navbar"> + <div class="navbar-inner"> + <div class="container-fluid"> + <a class="brand" href="http://commons.apache.org/proper/commons-rng/">Apache Commons Rng ™</a> + <ul class="nav"> + + <li id="publishDate">Last Published: 10 September 2016</li> + <li class="divider">|</li> <li id="projectVersion">Version: 1.0-SNAPSHOT</li> + </ul> + <div class="pull-right"> <ul class="nav"> + <li> + <a href="http://www.apachecon.com/" class="externalLink" title="ApacheCon"> + ApacheCon</a> + </li> + <li> + <a href="http://www.apache.org" class="externalLink" title="Apache"> + Apache</a> + </li> + <li> + <a href="../../" title="Commons"> + Commons</a> + </li> + </ul> +</div> + </div> + </div> + </div> + + <div class="container-fluid"> + <table class="layout-table"> + <tr> + <td class="sidebar"> + <div class="well sidebar-nav"> + <ul class="nav nav-list"> + <li class="nav-header">Rng</li> + <li class="none"> + <a href="index.html" title="Overview"> + Overview</a> + </li> + <li class="none"> + <a href="../../rng/download_rng.cgi" title="Downloads"> + Downloads</a> + </li> + <li class="none"> + <a href="apidocs/index.html" title="Latest API docs (development)"> + Latest API docs (development)</a> + </li> + <li class="none"> + <a href="../../rng/javadocs/api-1.0/index.html" title="Javadoc (1.0 release)"> + Javadoc (1.0 release)</a> + </li> + <li class="none"> + <a href="issue-tracking.html" title="Issue Tracking"> + Issue Tracking</a> + </li> + <li class="none"> + <a href="http://git-wip-us.apache.org/repos/asf/commons-rng.git" class="externalLink" title="Source Repository (current)"> + Source Repository (current)</a> + </li> + <li class="none"> + <a href="developers.html" title="Developers Guide"> + Developers Guide</a> + </li> + </ul> + <ul class="nav nav-list"> + <li class="nav-header"><i class="icon-book"></i>User Guide</li> + <li class="none"> + <a href="userguide/index.html" title="Contents"> + Contents</a> + </li> + </ul> + <ul class="nav nav-list"> + <li class="nav-header"><i class="icon-info-sign"></i>Project Documentation</li> + <li class="collapsed"> + <a href="project-info.html" title="Project Information"> + Project Information</a> + </li> + <li class="collapsed"> + <a href="project-reports.html" title="Project Reports"> + Project Reports</a> + </li> + </ul> + <ul class="nav nav-list"> + <li class="nav-header">Commons</li> + <li class="none"> + <a href="../../" title="Home"> + Home</a> + </li> + <li class="none"> + <a href="http://www.apache.org/licenses/" class="externalLink" title="License"> + License</a> + </li> + <li class="collapsed"> + <a href="../../components.html" title="Components"> + Components</a> + </li> + <li class="collapsed"> + <a href="../../sandbox/index.html" title="Sandbox"> + Sandbox</a> + </li> + <li class="collapsed"> + <a href="../../dormant/index.html" title="Dormant"> + Dormant</a> + </li> + </ul> + <ul class="nav nav-list"> + <li class="nav-header">General Information</li> + <li class="none"> + <a href="../../security.html" title="Security"> + Security</a> + </li> + <li class="none"> + <a href="../../volunteering.html" title="Volunteering"> + Volunteering</a> + </li> + <li class="none"> + <a href="../../patches.html" title="Contributing Patches"> + Contributing Patches</a> + </li> + <li class="none"> + <a href="../../building.html" title="Building Components"> + Building Components</a> + </li> + <li class="none"> + <a href="../../commons-parent-pom.html" title="Commons Parent Pom"> + Commons Parent Pom</a> + </li> + <li class="none"> + <a href="../../build-plugin/index.html" title="Commons Build Plugin"> + Commons Build Plugin</a> + </li> + <li class="none"> + <a href="../../releases/index.html" title="Releasing Components"> + Releasing Components</a> + </li> + <li class="none"> + <a href="http://wiki.apache.org/commons/FrontPage" class="externalLink" title="Wiki"> + Wiki</a> + </li> + </ul> + <ul class="nav nav-list"> + <li class="nav-header">ASF</li> + <li class="none"> + <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How the ASF works"> + How the ASF works</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/getinvolved.html" class="externalLink" title="Get Involved"> + Get Involved</a> + </li> + <li class="none"> + <a href="http://www.apache.org/dev/" class="externalLink" title="Developer Resources"> + Developer Resources</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/policies/conduct.html" class="externalLink" title="Code of Conduct"> + Code of Conduct</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship"> + Sponsorship</a> + </li> + <li class="none"> + <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks"> + Thanks</a> + </li> + </ul> + </div> + <div id="poweredBy"> + <a href="http://www.apache.org/events/current-event.html" title="ApacheCon" class="builtBy"> + <img class="builtBy" alt="ApacheCon" src="http://www.apache.org/events/current-event-125x125.png" /> + </a> + <a href="http://maven.apache.org/" title="Maven" class="builtBy"> + <img class="builtBy" alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png" /> + </a> + </div> + </td> + <td class="content"> + <!-- Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to You under the Apache License, Version 2.0 +(the "License"); you may not use this file except in compliance with +the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. --><!-- +======================================================================+ + |**** ****| + |**** THIS FILE IS GENERATED BY THE COMMONS BUILD PLUGIN ****| + |**** DO NOT EDIT DIRECTLY ****| + |**** ****| + +======================================================================+ + | TEMPLATE FILE: download-page-template.xml | + | commons-build-plugin/trunk/src/main/resources/commons-xdoc-templates | + +======================================================================+ + | | + | 1) Re-generate using: mvn commons:download-page | + | | + | 2) Set the following properties in the component's pom: | + | - commons.componentid (required, alphabetic, lower case) | + | - commons.release.version (required) | + | - commons.release.name (required) | + | - commons.binary.suffix (optional) | + | (defaults to "-bin", set to "" for pre-maven2 releases) | + | - commons.release.desc (optional) | + | - commons.release.subdir (optional) | + | | + | - commons.release.2/3.version (conditional) | + | - commons.release.2/3.name (conditional) | + | - commons.release.2/3.binary.suffix (optional) | + | - commons.release.2/3.desc (optional) | + | - commons.release.2/3.subdir (optional) | + | | + | 3) Example Properties | + | (commons.release.name inherited by parent: | + | ${project.artifactId}-${commons.release.version} | + | | + | <properties> | + | <commons.componentid>math</commons.componentid> | + | <commons.release.version>1.2</commons.release.version> | + | </properties> | + | | + +======================================================================+ --> + + <div class="section"> +<h2><a name="Download_Apache_Commons_Rng"></a>Download Apache Commons Rng</h2> + <!-- DO NOT RUN "mvn commons:download-page" until there is something to download + from this page --> + <i>Coming soon.</i> + </div> + + + </td> + </tr> + </table> + </div> + + <div class="footer"> + <p>Copyright © 2016 + <a href="https://www.apache.org/">The Apache Software Foundation</a>. + All Rights Reserved.</p> + +<div class="center">Apache Commons, Apache Commons Rng, Apache, the Apache feather logo, and the Apache Commons project logos are trademarks of The Apache Software Foundation. + All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div> + </div> + </body> + +</html> \ No newline at end of file
http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/27/278c018896cb37ac9ccdeef8e3b47ea647561b8b.svn-base ---------------------------------------------------------------------- diff --git a/commons-rng-core/site-content/.svn/pristine/27/278c018896cb37ac9ccdeef8e3b47ea647561b8b.svn-base b/commons-rng-core/site-content/.svn/pristine/27/278c018896cb37ac9ccdeef8e3b47ea647561b8b.svn-base new file mode 100644 index 0000000..2e86efa --- /dev/null +++ b/commons-rng-core/site-content/.svn/pristine/27/278c018896cb37ac9ccdeef8e3b47ea647561b8b.svn-base @@ -0,0 +1,63 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" /> +<title>Long2LongArray xref</title> +<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" /> +</head> +<body> +<div id="overview"><a href="../../../../../../../apidocs/org/apache/commons/rng/internal/util/Long2LongArray.html">View Javadoc</a></div><pre> +<a class="jxr_linenumber" name="L1" href="#L1">1</a> <em class="jxr_comment">/*</em> +<a class="jxr_linenumber" name="L2" href="#L2">2</a> <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em> +<a class="jxr_linenumber" name="L3" href="#L3">3</a> <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em> +<a class="jxr_linenumber" name="L4" href="#L4">4</a> <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em> +<a class="jxr_linenumber" name="L5" href="#L5">5</a> <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em> +<a class="jxr_linenumber" name="L6" href="#L6">6</a> <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em> +<a class="jxr_linenumber" name="L7" href="#L7">7</a> <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em> +<a class="jxr_linenumber" name="L8" href="#L8">8</a> <em class="jxr_comment"> *</em> +<a class="jxr_linenumber" name="L9" href="#L9">9</a> <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em> +<a class="jxr_linenumber" name="L10" href="#L10">10</a> <em class="jxr_comment"> *</em> +<a class="jxr_linenumber" name="L11" href="#L11">11</a> <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em> +<a class="jxr_linenumber" name="L12" href="#L12">12</a> <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em> +<a class="jxr_linenumber" name="L13" href="#L13">13</a> <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em> +<a class="jxr_linenumber" name="L14" href="#L14">14</a> <em class="jxr_comment"> * See the License for the specific language governing permissions and</em> +<a class="jxr_linenumber" name="L15" href="#L15">15</a> <em class="jxr_comment"> * limitations under the License.</em> +<a class="jxr_linenumber" name="L16" href="#L16">16</a> <em class="jxr_comment"> */</em> +<a class="jxr_linenumber" name="L17" href="#L17">17</a> <strong class="jxr_keyword">package</strong> org.apache.commons.rng.internal.util; +<a class="jxr_linenumber" name="L18" href="#L18">18</a> +<a class="jxr_linenumber" name="L19" href="#L19">19</a> <strong class="jxr_keyword">import</strong> org.apache.commons.rng.internal.source64.SplitMix64; +<a class="jxr_linenumber" name="L20" href="#L20">20</a> +<a class="jxr_linenumber" name="L21" href="#L21">21</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L22" href="#L22">22</a> <em class="jxr_javadoccomment"> * Uses a {@code Long} value to seed a {@link SplitMix64} RNG and</em> +<a class="jxr_linenumber" name="L23" href="#L23">23</a> <em class="jxr_javadoccomment"> * create a {@code long[]} with the requested number of random</em> +<a class="jxr_linenumber" name="L24" href="#L24">24</a> <em class="jxr_javadoccomment"> * values.</em> +<a class="jxr_linenumber" name="L25" href="#L25">25</a> <em class="jxr_javadoccomment"> *</em> +<a class="jxr_linenumber" name="L26" href="#L26">26</a> <em class="jxr_javadoccomment"> * @since 1.0</em> +<a class="jxr_linenumber" name="L27" href="#L27">27</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L28" href="#L28">28</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/commons/rng/internal/util/Long2LongArray.html">Long2LongArray</a> <strong class="jxr_keyword">implements</strong> SeedConverter<Long, <strong class="jxr_keyword">long</strong>[]> { +<a class="jxr_linenumber" name="L29" href="#L29">29</a> <em class="jxr_javadoccomment">/** Size of the output array. */</em> +<a class="jxr_linenumber" name="L30" href="#L30">30</a> <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> size; +<a class="jxr_linenumber" name="L31" href="#L31">31</a> +<a class="jxr_linenumber" name="L32" href="#L32">32</a> <em class="jxr_javadoccomment">/**</em> +<a class="jxr_linenumber" name="L33" href="#L33">33</a> <em class="jxr_javadoccomment"> * @param size Size of the output array.</em> +<a class="jxr_linenumber" name="L34" href="#L34">34</a> <em class="jxr_javadoccomment"> */</em> +<a class="jxr_linenumber" name="L35" href="#L35">35</a> <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/commons/rng/internal/util/Long2LongArray.html">Long2LongArray</a>(<strong class="jxr_keyword">int</strong> size) { +<a class="jxr_linenumber" name="L36" href="#L36">36</a> <strong class="jxr_keyword">this</strong>.size = size; +<a class="jxr_linenumber" name="L37" href="#L37">37</a> } +<a class="jxr_linenumber" name="L38" href="#L38">38</a> +<a class="jxr_linenumber" name="L39" href="#L39">39</a> <em class="jxr_javadoccomment">/** {@inheritDoc} */</em> +<a class="jxr_linenumber" name="L40" href="#L40">40</a> @Override +<a class="jxr_linenumber" name="L41" href="#L41">41</a> <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong>[] convert(Long seed) { +<a class="jxr_linenumber" name="L42" href="#L42">42</a> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong>[] out = <strong class="jxr_keyword">new</strong> <strong class="jxr_keyword">long</strong>[size]; +<a class="jxr_linenumber" name="L43" href="#L43">43</a> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/commons/rng/internal/source64/SplitMix64.html">SplitMix64</a> rng = <strong class="jxr_keyword">new</strong> <a href="../../../../../../org/apache/commons/rng/internal/source64/SplitMix64.html">SplitMix64</a>(seed); +<a class="jxr_linenumber" name="L44" href="#L44">44</a> <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i < size; i++) { +<a class="jxr_linenumber" name="L45" href="#L45">45</a> out[i] = rng.nextLong(); +<a class="jxr_linenumber" name="L46" href="#L46">46</a> } +<a class="jxr_linenumber" name="L47" href="#L47">47</a> +<a class="jxr_linenumber" name="L48" href="#L48">48</a> <strong class="jxr_keyword">return</strong> out; +<a class="jxr_linenumber" name="L49" href="#L49">49</a> } +<a class="jxr_linenumber" name="L50" href="#L50">50</a> } +</pre> +<hr/> +<div id="footer">Copyright © 2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div> +</body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/27/27ac0e0e037431ebd2ddab65e5ecbcc327647b99.svn-base ---------------------------------------------------------------------- diff --git a/commons-rng-core/site-content/.svn/pristine/27/27ac0e0e037431ebd2ddab65e5ecbcc327647b99.svn-base b/commons-rng-core/site-content/.svn/pristine/27/27ac0e0e037431ebd2ddab65e5ecbcc327647b99.svn-base new file mode 100644 index 0000000..8029ccf --- /dev/null +++ b/commons-rng-core/site-content/.svn/pristine/27/27ac0e0e037431ebd2ddab65e5ecbcc327647b99.svn-base @@ -0,0 +1,28 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!-- NewPage --> +<html lang="en"> +<head> +<!-- Generated by javadoc --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<title>org.apache.commons.rng.internal.source64 (Apache Commons Rng 1.0-SNAPSHOT API)</title> +<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style"> +<script type="text/javascript" src="../../../../../../script.js"></script> +</head> +<body> +<h1 class="bar"><a href="../../../../../../org/apache/commons/rng/internal/source64/package-summary.html" target="classFrame">org.apache.commons.rng.internal.source64</a></h1> +<div class="indexContainer"> +<h2 title="Interfaces">Interfaces</h2> +<ul title="Interfaces"> +<li><a href="RandomLongSource.html" title="interface in org.apache.commons.rng.internal.source64" target="classFrame"><span class="interfaceName">RandomLongSource</span></a></li> +</ul> +<h2 title="Classes">Classes</h2> +<ul title="Classes"> +<li><a href="LongProvider.html" title="class in org.apache.commons.rng.internal.source64" target="classFrame">LongProvider</a></li> +<li><a href="MersenneTwister64.html" title="class in org.apache.commons.rng.internal.source64" target="classFrame">MersenneTwister64</a></li> +<li><a href="SplitMix64.html" title="class in org.apache.commons.rng.internal.source64" target="classFrame">SplitMix64</a></li> +<li><a href="TwoCmres.html" title="class in org.apache.commons.rng.internal.source64" target="classFrame">TwoCmres</a></li> +<li><a href="XorShift1024Star.html" title="class in org.apache.commons.rng.internal.source64" target="classFrame">XorShift1024Star</a></li> +</ul> +</div> +</body> +</html> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/commons-rng/blob/d1b3113a/commons-rng-core/site-content/.svn/pristine/28/2813a312a4882a4e551cdb9e33d12a18ea84f92b.svn-base ---------------------------------------------------------------------- diff --git a/commons-rng-core/site-content/.svn/pristine/28/2813a312a4882a4e551cdb9e33d12a18ea84f92b.svn-base b/commons-rng-core/site-content/.svn/pristine/28/2813a312a4882a4e551cdb9e33d12a18ea84f92b.svn-base new file mode 100644 index 0000000..082662b --- /dev/null +++ b/commons-rng-core/site-content/.svn/pristine/28/2813a312a4882a4e551cdb9e33d12a18ea84f92b.svn-base @@ -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> * Licensed to the Apache Software Foundation (ASF) under one or more<a name="line.2"></a> +<span class="sourceLineNo">003</span> * contributor license agreements. See the NOTICE file distributed with<a name="line.3"></a> +<span class="sourceLineNo">004</span> * this work for additional information regarding copyright ownership.<a name="line.4"></a> +<span class="sourceLineNo">005</span> * The ASF licenses this file to You under the Apache License, Version 2.0<a name="line.5"></a> +<span class="sourceLineNo">006</span> * (the "License"); you may not use this file except in compliance with<a name="line.6"></a> +<span class="sourceLineNo">007</span> * the License. You may obtain a copy of the License at<a name="line.7"></a> +<span class="sourceLineNo">008</span> *<a name="line.8"></a> +<span class="sourceLineNo">009</span> * http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a> +<span class="sourceLineNo">010</span> *<a name="line.10"></a> +<span class="sourceLineNo">011</span> * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a> +<span class="sourceLineNo">012</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a> +<span class="sourceLineNo">013</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a> +<span class="sourceLineNo">014</span> * See the License for the specific language governing permissions and<a name="line.14"></a> +<span class="sourceLineNo">015</span> * limitations under the License.<a name="line.15"></a> +<span class="sourceLineNo">016</span> */<a name="line.16"></a> +<span class="sourceLineNo">017</span>package org.apache.commons.rng.internal.source32;<a name="line.17"></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> * This class implements the WELL19937a pseudo-random number generator<a name="line.20"></a> +<span class="sourceLineNo">021</span> * from Fran&ccedil;ois Panneton, Pierre L'Ecuyer and Makoto Matsumoto.<a name="line.21"></a> +<span class="sourceLineNo">022</span> * <p><a name="line.22"></a> +<span class="sourceLineNo">023</span> * This generator is described in a paper by Fran&ccedil;ois Panneton,<a name="line.23"></a> +<span class="sourceLineNo">024</span> * Pierre L'Ecuyer and Makoto Matsumoto<a name="line.24"></a> +<span class="sourceLineNo">025</span> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng.pdf"><a name="line.25"></a> +<span class="sourceLineNo">026</span> * Improved Long-Period Generators Based on Linear Recurrences Modulo 2</a><a name="line.26"></a> +<span class="sourceLineNo">027</span> * ACM Transactions on Mathematical Software, 32, 1 (2006).<a name="line.27"></a> +<span class="sourceLineNo">028</span> * The errata for the paper are in<a name="line.28"></a> +<span class="sourceLineNo">029</span> * <a href="http://www.iro.umontreal.ca/~lecuyer/myftp/papers/wellrng-errata.txt">wellrng-errata.txt</a>.<a name="line.29"></a> +<span class="sourceLineNo">030</span> * </p><a name="line.30"></a> +<span class="sourceLineNo">031</span> *<a name="line.31"></a> +<span class="sourceLineNo">032</span> * @see <a href="http://www.iro.umontreal.ca/~panneton/WELLRNG.html">WELL Random number generator</a><a name="line.32"></a> +<span class="sourceLineNo">033</span> * @since 1.0<a name="line.33"></a> +<span class="sourceLineNo">034</span> */<a name="line.34"></a> +<span class="sourceLineNo">035</span>public class Well19937a extends AbstractWell {<a name="line.35"></a> +<span class="sourceLineNo">036</span> /** Number of bits in the pool. */<a name="line.36"></a> +<span class="sourceLineNo">037</span> private static final int K = 19937;<a name="line.37"></a> +<span class="sourceLineNo">038</span> /** First parameter of the algorithm. */<a name="line.38"></a> +<span class="sourceLineNo">039</span> private static final int M1 = 70;<a name="line.39"></a> +<span class="sourceLineNo">040</span> /** Second parameter of the algorithm. */<a name="line.40"></a> +<span class="sourceLineNo">041</span> private static final int M2 = 179;<a name="line.41"></a> +<span class="sourceLineNo">042</span> /** Third parameter of the algorithm. */<a name="line.42"></a> +<span class="sourceLineNo">043</span> private static final int M3 = 449;<a name="line.43"></a> +<span class="sourceLineNo">044</span> /** The indirection index table. */<a name="line.44"></a> +<span class="sourceLineNo">045</span> private static final IndexTable TABLE = new IndexTable(K, M1, M2, M3);<a name="line.45"></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> * Creates a new random number generator.<a name="line.48"></a> +<span class="sourceLineNo">049</span> *<a name="line.49"></a> +<span class="sourceLineNo">050</span> * @param seed Initial seed.<a name="line.50"></a> +<span class="sourceLineNo">051</span> */<a name="line.51"></a> +<span class="sourceLineNo">052</span> public Well19937a(int[] seed) {<a name="line.52"></a> +<span class="sourceLineNo">053</span> super(K, seed);<a name="line.53"></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> /** {@inheritDoc} */<a name="line.56"></a> +<span class="sourceLineNo">057</span> @Override<a name="line.57"></a> +<span class="sourceLineNo">058</span> public int next() {<a name="line.58"></a> +<span class="sourceLineNo">059</span> final int indexRm1 = TABLE.getIndexPred(index);<a name="line.59"></a> +<span class="sourceLineNo">060</span> final int indexRm2 = TABLE.getIndexPred2(index);<a name="line.60"></a> +<span class="sourceLineNo">061</span><a name="line.61"></a> +<span class="sourceLineNo">062</span> final int v0 = v[index];<a name="line.62"></a> +<span class="sourceLineNo">063</span> final int vM1 = v[TABLE.getIndexM1(index)];<a name="line.63"></a> +<span class="sourceLineNo">064</span> final int vM2 = v[TABLE.getIndexM2(index)];<a name="line.64"></a> +<span class="sourceLineNo">065</span> final int vM3 = v[TABLE.getIndexM3(index)];<a name="line.65"></a> +<span class="sourceLineNo">066</span><a name="line.66"></a> +<span class="sourceLineNo">067</span> final int z0 = (0x80000000 & v[indexRm1]) ^ (0x7FFFFFFF & v[indexRm2]);<a name="line.67"></a> +<span class="sourceLineNo">068</span> final int z1 = (v0 ^ (v0 << 25)) ^ (vM1 ^ (vM1 >>> 27));<a name="line.68"></a> +<span class="sourceLineNo">069</span> final int z2 = (vM2 >>> 9) ^ (vM3 ^ (vM3 >>> 1));<a name="line.69"></a> +<span class="sourceLineNo">070</span> final int z3 = z1 ^ z2;<a name="line.70"></a> +<span class="sourceLineNo">071</span> final int z4 = z0 ^ (z1 ^ (z1 << 9)) ^ (z2 ^ (z2 << 21)) ^ (z3 ^ (z3 >>> 21));<a name="line.71"></a> +<span class="sourceLineNo">072</span><a name="line.72"></a> +<span class="sourceLineNo">073</span> v[index] = z3;<a name="line.73"></a> +<span class="sourceLineNo">074</span> v[indexRm1] = z4;<a name="line.74"></a> +<span class="sourceLineNo">075</span> v[indexRm2] &= 0x80000000;<a name="line.75"></a> +<span class="sourceLineNo">076</span> index = indexRm1;<a name="line.76"></a> +<span class="sourceLineNo">077</span><a name="line.77"></a> +<span class="sourceLineNo">078</span> return z4;<a name="line.78"></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> \ No newline at end of file