blob: 28efd986f0bfc45f0062317b12850ccba99bde46 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>MersenneTwister (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MersenneTwister (Apache Commons Math 3.3 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MersenneTwister.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/random/JDKRandomGenerator.html" title="class in org.apache.commons.math3.random"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/random/NormalizedRandomGenerator.html" title="interface in org.apache.commons.math3.random"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/random/MersenneTwister.html" target="_top">Frames</a></li>
<li><a href="MersenneTwister.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.random</div>
<h2 title="Class MersenneTwister" class="title">Class MersenneTwister</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html" title="class in org.apache.commons.math3.random">org.apache.commons.math3.random.BitsStreamGenerator</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.random.MersenneTwister</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">MersenneTwister</span>
extends <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html" title="class in org.apache.commons.math3.random">BitsStreamGenerator</a>
implements <a href="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">This class implements a powerful pseudo-random number generator
developed by Makoto Matsumoto and Takuji Nishimura during
1996-1997.
<p>This generator features an extremely long period
(2<sup>19937</sup>-1) and 623-dimensional equidistribution up to 32
bits accuracy. The home page for this generator is located at <a
href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html">
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html</a>.</p>
<p>This generator is described in a paper by Makoto Matsumoto and
Takuji Nishimura in 1998: <a
href="http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf">Mersenne
Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random
Number Generator</a>, ACM Transactions on Modeling and Computer
Simulation, Vol. 8, No. 1, January 1998, pp 3--30</p>
<p>This class is mainly a Java port of the 2002-01-26 version of
the generator written in C by Makoto Matsumoto and Takuji
Nishimura. Here is their original copyright:</p>
<table border="0" width="80%" cellpadding="10" align="center" bgcolor="#E0E0E0">
<tr><td>Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura,
All rights reserved.</td></tr>
<tr><td>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
<ol>
<li>Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.</li>
<li>Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.</li>
<li>The names of its contributors may not be used to endorse or promote
products derived from this software without specific prior written
permission.</li>
</ol></td></tr>
<tr><td><strong>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.</strong></td></tr>
</table></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>2.0</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: MersenneTwister.java 1416643 2012-12-03 19:37:14Z tn $</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../serialized-form.html#org.apache.commons.math3.random.MersenneTwister">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#MersenneTwister()">MersenneTwister</a></strong>()</code>
<div class="block">Creates a new random number generator.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#MersenneTwister(int)">MersenneTwister</a></strong>(int&nbsp;seed)</code>
<div class="block">Creates a new random number generator using a single int seed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#MersenneTwister(int[])">MersenneTwister</a></strong>(int[]&nbsp;seed)</code>
<div class="block">Creates a new random number generator using an int array seed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#MersenneTwister(long)">MersenneTwister</a></strong>(long&nbsp;seed)</code>
<div class="block">Creates a new random number generator using a single long seed.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#next(int)">next</a></strong>(int&nbsp;bits)</code>
<div class="block">Generate next pseudorandom number.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#setSeed(int)">setSeed</a></strong>(int&nbsp;seed)</code>
<div class="block">Reinitialize the generator as if just built with the given int seed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#setSeed(int[])">setSeed</a></strong>(int[]&nbsp;seed)</code>
<div class="block">Reinitialize the generator as if just built with the given int array seed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#setSeed(long)">setSeed</a></strong>(long&nbsp;seed)</code>
<div class="block">Reinitialize the generator as if just built with the given long seed.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.random.BitsStreamGenerator">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.random.<a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html" title="class in org.apache.commons.math3.random">BitsStreamGenerator</a></h3>
<code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#clear()">clear</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextBoolean()">nextBoolean</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextBytes(byte[])">nextBytes</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextDouble()">nextDouble</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextFloat()">nextFloat</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextGaussian()">nextGaussian</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextInt()">nextInt</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextInt(int)">nextInt</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextLong()">nextLong</a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextLong(long)">nextLong</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="MersenneTwister()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MersenneTwister</h4>
<pre>public&nbsp;MersenneTwister()</pre>
<div class="block">Creates a new random number generator.
<p>The instance is initialized using the current time plus the
system identity hash code of this instance as the seed.</p></div>
</li>
</ul>
<a name="MersenneTwister(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MersenneTwister</h4>
<pre>public&nbsp;MersenneTwister(int&nbsp;seed)</pre>
<div class="block">Creates a new random number generator using a single int seed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the initial seed (32 bits integer)</dd></dl>
</li>
</ul>
<a name="MersenneTwister(int[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MersenneTwister</h4>
<pre>public&nbsp;MersenneTwister(int[]&nbsp;seed)</pre>
<div class="block">Creates a new random number generator using an int array seed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the initial seed (32 bits integers array), if null
the seed of the generator will be related to the current time</dd></dl>
</li>
</ul>
<a name="MersenneTwister(long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MersenneTwister</h4>
<pre>public&nbsp;MersenneTwister(long&nbsp;seed)</pre>
<div class="block">Creates a new random number generator using a single long seed.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the initial seed (64 bits integer)</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="setSeed(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSeed</h4>
<pre>public&nbsp;void&nbsp;setSeed(int&nbsp;seed)</pre>
<div class="block">Reinitialize the generator as if just built with the given int seed.
<p>The state of the generator is exactly the same as a new
generator built with the same seed.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(int)">setSeed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#setSeed(int)">setSeed</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html" title="class in org.apache.commons.math3.random">BitsStreamGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the initial seed (32 bits integer)</dd></dl>
</li>
</ul>
<a name="setSeed(int[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSeed</h4>
<pre>public&nbsp;void&nbsp;setSeed(int[]&nbsp;seed)</pre>
<div class="block">Reinitialize the generator as if just built with the given int array seed.
<p>The state of the generator is exactly the same as a new
generator built with the same seed.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(int[])">setSeed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#setSeed(int[])">setSeed</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html" title="class in org.apache.commons.math3.random">BitsStreamGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the initial seed (32 bits integers array), if null
the seed of the generator will be the current system time plus the
system identity hash code of this instance</dd></dl>
</li>
</ul>
<a name="setSeed(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSeed</h4>
<pre>public&nbsp;void&nbsp;setSeed(long&nbsp;seed)</pre>
<div class="block">Reinitialize the generator as if just built with the given long seed.
<p>The state of the generator is exactly the same as a new
generator built with the same seed.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#setSeed(long)">setSeed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></code></dd>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#setSeed(long)">setSeed</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html" title="class in org.apache.commons.math3.random">BitsStreamGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the initial seed (64 bits integer)</dd></dl>
</li>
</ul>
<a name="next(int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>next</h4>
<pre>protected&nbsp;int&nbsp;next(int&nbsp;bits)</pre>
<div class="block">Generate next pseudorandom number.
<p>This method is the core generation algorithm. It is used by all the
public generation methods for the various primitive types <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextBoolean()"><code>BitsStreamGenerator.nextBoolean()</code></a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextBytes(byte[])"><code>BitsStreamGenerator.nextBytes(byte[])</code></a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextDouble()"><code>BitsStreamGenerator.nextDouble()</code></a>,
<a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextFloat()"><code>BitsStreamGenerator.nextFloat()</code></a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextGaussian()"><code>BitsStreamGenerator.nextGaussian()</code></a>, <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextInt()"><code>BitsStreamGenerator.nextInt()</code></a>,
<a href="../../../../../org/apache/commons/math3/random/MersenneTwister.html#next(int)"><code>next(int)</code></a> and <a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#nextLong()"><code>BitsStreamGenerator.nextLong()</code></a>.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html#next(int)">next</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/commons/math3/random/BitsStreamGenerator.html" title="class in org.apache.commons.math3.random">BitsStreamGenerator</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>bits</code> - number of random bits to produce</dd>
<dt><span class="strong">Returns:</span></dt><dd>random bits generated</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MersenneTwister.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/commons/math3/random/JDKRandomGenerator.html" title="class in org.apache.commons.math3.random"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../org/apache/commons/math3/random/NormalizedRandomGenerator.html" title="interface in org.apache.commons.math3.random"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/commons/math3/random/MersenneTwister.html" target="_top">Frames</a></li>
<li><a href="MersenneTwister.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>