blob: e4279287adc286a7a46974b3a889d36b18e7cf01 [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>AbstractRandomGenerator (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="AbstractRandomGenerator (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/AbstractRandomGenerator.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>Prev Class</li>
<li><a href="../../../../../org/apache/commons/math3/random/AbstractWell.html" title="class 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/AbstractRandomGenerator.html" target="_top">Frames</a></li>
<li><a href="AbstractRandomGenerator.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 AbstractRandomGenerator" class="title">Class AbstractRandomGenerator</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>org.apache.commons.math3.random.AbstractRandomGenerator</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><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 abstract class <span class="strong">AbstractRandomGenerator</span>
extends <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>
implements <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random">RandomGenerator</a></pre>
<div class="block">Abstract class implementing the <a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html" title="interface in org.apache.commons.math3.random"><code>RandomGenerator</code></a> interface.
Default implementations for all methods other than <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextDouble()"><code>nextDouble()</code></a> and
<a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><code>setSeed(long)</code></a> are provided.
<p>
All data generation methods are based on <code>code nextDouble()</code>.
Concrete implementations <strong>must</strong> override
this method and <strong>should</strong> provide better / more
performant implementations of the other methods if the underlying PRNG
supplies them.</p></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>1.1</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: AbstractRandomGenerator.java 1538368 2013-11-03 13:57:37Z erans $</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/AbstractRandomGenerator.html#AbstractRandomGenerator()">AbstractRandomGenerator</a></strong>()</code>
<div class="block">Construct a RandomGenerator.</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>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()">clear</a></strong>()</code>
<div class="block">Clears the cache used by the default implementation of
<a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()"><code>nextGaussian()</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextBoolean()">nextBoolean</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed
<code>boolean</code> value from this random number generator's
sequence.</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/AbstractRandomGenerator.html#nextBytes(byte[])">nextBytes</a></strong>(byte[]&nbsp;bytes)</code>
<div class="block">Generates random bytes and places them into a user-supplied
byte array.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextDouble()">nextDouble</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed
<code>double</code> value between <code>0.0</code> and
<code>1.0</code> from this random number generator's sequence.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>float</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextFloat()">nextFloat</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>float</code>
value between <code>0.0</code> and <code>1.0</code> from this random
number generator's sequence.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()">nextGaussian</a></strong>()</code>
<div class="block">Returns the next pseudorandom, Gaussian ("normally") distributed
<code>double</code> value with mean <code>0.0</code> and standard
deviation <code>1.0</code> from this random number generator's sequence.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt()">nextInt</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>int</code>
value from this random number generator's sequence.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt(int)">nextInt</a></strong>(int&nbsp;n)</code>
<div class="block">Returns a pseudorandom, uniformly distributed <code>int</code> value
between 0 (inclusive) and the specified value (exclusive), drawn from
this random number generator's sequence.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextLong()">nextLong</a></strong>()</code>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>long</code>
value from this random number generator's sequence.</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/AbstractRandomGenerator.html#setSeed(int)">setSeed</a></strong>(int&nbsp;seed)</code>
<div class="block">Sets the seed of the underlying random number generator using an
<code>int</code> 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/AbstractRandomGenerator.html#setSeed(int[])">setSeed</a></strong>(int[]&nbsp;seed)</code>
<div class="block">Sets the seed of the underlying random number generator using an
<code>int</code> array seed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)">setSeed</a></strong>(long&nbsp;seed)</code>
<div class="block">Sets the seed of the underlying random number generator using a
<code>long</code> seed.</div>
</td>
</tr>
</table>
<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="AbstractRandomGenerator()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractRandomGenerator</h4>
<pre>public&nbsp;AbstractRandomGenerator()</pre>
<div class="block">Construct a RandomGenerator.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="clear()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<div class="block">Clears the cache used by the default implementation of
<a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextGaussian()"><code>nextGaussian()</code></a>. Implementations that do not override the
default implementation of <code>nextGaussian</code> should call this
method in the implementation of <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><code>setSeed(long)</code></a></div>
</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">Sets the seed of the underlying random number generator using an
<code>int</code> seed.
<p>Sequences of values generated starting with the same seeds
should be identical.
</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><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the seed value</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">Sets the seed of the underlying random number generator using an
<code>int</code> array seed.
<p>Sequences of values generated starting with the same seeds
should be identical.
</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><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the seed value</dd></dl>
</li>
</ul>
<a name="setSeed(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSeed</h4>
<pre>public abstract&nbsp;void&nbsp;setSeed(long&nbsp;seed)</pre>
<div class="block">Sets the seed of the underlying random number generator using a
<code>long</code> seed. Sequences of values generated starting with the
same seeds should be identical.
<p>
Implementations that do not override the default implementation of
<code>nextGaussian</code> should include a call to <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()"><code>clear()</code></a> in the
implementation of this method.</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><span class="strong">Parameters:</span></dt><dd><code>seed</code> - the seed value</dd></dl>
</li>
</ul>
<a name="nextBytes(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBytes</h4>
<pre>public&nbsp;void&nbsp;nextBytes(byte[]&nbsp;bytes)</pre>
<div class="block">Generates random bytes and places them into a user-supplied
byte array. The number of random bytes produced is equal to
the length of the byte array.
<p>
The default implementation fills the array with bytes extracted from
random integers generated using <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#nextInt()"><code>nextInt()</code></a>.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextBytes(byte[])">nextBytes</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><span class="strong">Parameters:</span></dt><dd><code>bytes</code> - the non-null byte array in which to put the
random bytes</dd></dl>
</li>
</ul>
<a name="nextInt()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextInt</h4>
<pre>public&nbsp;int&nbsp;nextInt()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>int</code>
value from this random number generator's sequence.
All 2<font size="-1"><sup>32</sup></font> possible <code>int</code> values
should be produced with (approximately) equal probability.
<p>
The default implementation provided here returns
<pre>
<code>(int) (nextDouble() * Integer.MAX_VALUE)</code>
</pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextInt()">nextInt</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><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed <code>int</code>
value from this random number generator's sequence</dd></dl>
</li>
</ul>
<a name="nextInt(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextInt</h4>
<pre>public&nbsp;int&nbsp;nextInt(int&nbsp;n)</pre>
<div class="block">Returns a pseudorandom, uniformly distributed <code>int</code> value
between 0 (inclusive) and the specified value (exclusive), drawn from
this random number generator's sequence.
<p>
The default implementation returns
<pre>
<code>(int) (nextDouble() * n</code>
</pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextInt(int)">nextInt</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><span class="strong">Parameters:</span></dt><dd><code>n</code> - the bound on the random number to be returned. Must be
positive.</dd>
<dt><span class="strong">Returns:</span></dt><dd>a pseudorandom, uniformly distributed <code>int</code>
value between 0 (inclusive) and n (exclusive).</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/exception/NotStrictlyPositiveException.html" title="class in org.apache.commons.math3.exception">NotStrictlyPositiveException</a></code> - if <code>n &lt;= 0</code>.</dd></dl>
</li>
</ul>
<a name="nextLong()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextLong</h4>
<pre>public&nbsp;long&nbsp;nextLong()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>long</code>
value from this random number generator's sequence. All
2<font size="-1"><sup>64</sup></font> possible <code>long</code> values
should be produced with (approximately) equal probability.
<p>
The default implementation returns
<pre>
<code>(long) (nextDouble() * Long.MAX_VALUE)</code>
</pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextLong()">nextLong</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><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed <code>long</code>
value from this random number generator's sequence</dd></dl>
</li>
</ul>
<a name="nextBoolean()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextBoolean</h4>
<pre>public&nbsp;boolean&nbsp;nextBoolean()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed
<code>boolean</code> value from this random number generator's
sequence.
<p>
The default implementation returns
<pre>
<code>nextDouble() <= 0.5</code>
</pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextBoolean()">nextBoolean</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><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed
<code>boolean</code> value from this random number generator's
sequence</dd></dl>
</li>
</ul>
<a name="nextFloat()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextFloat</h4>
<pre>public&nbsp;float&nbsp;nextFloat()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed <code>float</code>
value between <code>0.0</code> and <code>1.0</code> from this random
number generator's sequence.
<p>
The default implementation returns
<pre>
<code>(float) nextDouble() </code>
</pre></p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextFloat()">nextFloat</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><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed <code>float</code>
value between <code>0.0</code> and <code>1.0</code> from this
random number generator's sequence</dd></dl>
</li>
</ul>
<a name="nextDouble()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextDouble</h4>
<pre>public abstract&nbsp;double&nbsp;nextDouble()</pre>
<div class="block">Returns the next pseudorandom, uniformly distributed
<code>double</code> value between <code>0.0</code> and
<code>1.0</code> from this random number generator's sequence.
<p>
This method provides the underlying source of random data used by the
other methods.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextDouble()">nextDouble</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><span class="strong">Returns:</span></dt><dd>the next pseudorandom, uniformly distributed
<code>double</code> value between <code>0.0</code> and
<code>1.0</code> from this random number generator's sequence</dd></dl>
</li>
</ul>
<a name="nextGaussian()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>nextGaussian</h4>
<pre>public&nbsp;double&nbsp;nextGaussian()</pre>
<div class="block">Returns the next pseudorandom, Gaussian ("normally") distributed
<code>double</code> value with mean <code>0.0</code> and standard
deviation <code>1.0</code> from this random number generator's sequence.
<p>
The default implementation uses the <em>Polar Method</em>
due to G.E.P. Box, M.E. Muller and G. Marsaglia, as described in
D. Knuth, <u>The Art of Computer Programming</u>, 3.4.1C.</p>
<p>
The algorithm generates a pair of independent random values. One of
these is cached for reuse, so the full algorithm is not executed on each
activation. Implementations that do not override this method should
make sure to call <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#clear()"><code>clear()</code></a> to clear the cached value in the
implementation of <a href="../../../../../org/apache/commons/math3/random/AbstractRandomGenerator.html#setSeed(long)"><code>setSeed(long)</code></a>.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/commons/math3/random/RandomGenerator.html#nextGaussian()">nextGaussian</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><span class="strong">Returns:</span></dt><dd>the next pseudorandom, Gaussian ("normally") distributed
<code>double</code> value with mean <code>0.0</code> and
standard deviation <code>1.0</code> from this random number
generator's sequence</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/AbstractRandomGenerator.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>Prev Class</li>
<li><a href="../../../../../org/apache/commons/math3/random/AbstractWell.html" title="class 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/AbstractRandomGenerator.html" target="_top">Frames</a></li>
<li><a href="AbstractRandomGenerator.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>