<!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>SummaryStatistics (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="SummaryStatistics (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/SummaryStatistics.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/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SynchronizedDescriptiveStatistics.html" title="class in org.apache.commons.math3.stat.descriptive"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" target="_top">Frames</a></li>
<li><a href="SummaryStatistics.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.stat.descriptive</div>
<h2 title="Class SummaryStatistics" class="title">Class SummaryStatistics</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.stat.descriptive.SummaryStatistics</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/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SynchronizedSummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SynchronizedSummaryStatistics</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">SummaryStatistics</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/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a>, <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"><p>
 Computes summary statistics for a stream of data values added using the
 <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> method. The data values are not stored in
 memory, so this class can be used to compute statistics for very large data
 streams.
 </p>
 <p>
 The <a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive"><code>StorelessUnivariateStatistic</code></a> instances used to maintain summary
 state and compute statistics are configurable via setters. For example, the
 default implementation for the variance can be overridden by calling
 <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setVarianceImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)"><code>setVarianceImpl(StorelessUnivariateStatistic)</code></a>. Actual parameters to
 these methods must implement the <a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive"><code>StorelessUnivariateStatistic</code></a>
 interface and configuration must be completed before <code>addValue</code>
 is called. No configuration is necessary to use the default, commons-math
 provided implementations.
 </p>
 <p>
 Note: This class is not thread-safe. Use
 <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SynchronizedSummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive"><code>SynchronizedSummaryStatistics</code></a> if concurrent access from multiple
 threads is required.
 </p></div>
<dl><dt><span class="strong">Version:</span></dt>
  <dd>$Id: SummaryStatistics.java 1520076 2013-09-04 17:24:02Z psteitz $</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../serialized-form.html#org.apache.commons.math3.stat.descriptive.SummaryStatistics">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/stat/descriptive/SummaryStatistics.html#SummaryStatistics()">SummaryStatistics</a></strong>()</code>
<div class="block">Construct a SummaryStatistics instance</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#SummaryStatistics(org.apache.commons.math3.stat.descriptive.SummaryStatistics)">SummaryStatistics</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SummaryStatistics</a>&nbsp;original)</code>
<div class="block">A copy constructor.</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/stat/descriptive/SummaryStatistics.html#addValue(double)">addValue</a></strong>(double&nbsp;value)</code>
<div class="block">Add a value to the data</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#clear()">clear</a></strong>()</code>
<div class="block">Resets all statistics and storage</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SummaryStatistics</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#copy()">copy</a></strong>()</code>
<div class="block">Returns a copy of this SummaryStatistics instance with the same internal state.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#copy(org.apache.commons.math3.stat.descriptive.SummaryStatistics, org.apache.commons.math3.stat.descriptive.SummaryStatistics)">copy</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SummaryStatistics</a>&nbsp;source,
    <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SummaryStatistics</a>&nbsp;dest)</code>
<div class="block">Copies source to dest.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#equals(java.lang.Object)">equals</a></strong>(<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>&nbsp;object)</code>
<div class="block">Returns true iff <code>object</code> is a
 <code>SummaryStatistics</code> instance and all statistics have the
 same values as this.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getGeoMeanImpl()">getGeoMeanImpl</a></strong>()</code>
<div class="block">Returns the currently configured geometric mean implementation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getGeometricMean()">getGeometricMean</a></strong>()</code>
<div class="block">Returns the geometric mean of the values that have been added.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getMax()">getMax</a></strong>()</code>
<div class="block">Returns the maximum of the values that have been added.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getMaxImpl()">getMaxImpl</a></strong>()</code>
<div class="block">Returns the currently configured maximum implementation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getMean()">getMean</a></strong>()</code>
<div class="block">Returns the mean of the values that have been added.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getMeanImpl()">getMeanImpl</a></strong>()</code>
<div class="block">Returns the currently configured mean implementation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getMin()">getMin</a></strong>()</code>
<div class="block">Returns the minimum of the values that have been added.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getMinImpl()">getMinImpl</a></strong>()</code>
<div class="block">Returns the currently configured minimum implementation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getN()">getN</a></strong>()</code>
<div class="block">Returns the number of available values</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getPopulationVariance()">getPopulationVariance</a></strong>()</code>
<div class="block">Returns the <a href="http://en.wikibooks.org/wiki/Statistics/Summary/Variance">
 population variance</a> of the values that have been added.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getSecondMoment()">getSecondMoment</a></strong>()</code>
<div class="block">Returns a statistic related to the Second Central Moment.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getStandardDeviation()">getStandardDeviation</a></strong>()</code>
<div class="block">Returns the standard deviation of the values that have been added.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getSum()">getSum</a></strong>()</code>
<div class="block">Returns the sum of the values that have been added</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getSumImpl()">getSumImpl</a></strong>()</code>
<div class="block">Returns the currently configured Sum implementation</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getSumLogImpl()">getSumLogImpl</a></strong>()</code>
<div class="block">Returns the currently configured sum of logs implementation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getSummary()">getSummary</a></strong>()</code>
<div class="block">Return a <a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummaryValues.html" title="class in org.apache.commons.math3.stat.descriptive"><code>StatisticalSummaryValues</code></a> instance reporting current
 statistics.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getSumOfLogs()">getSumOfLogs</a></strong>()</code>
<div class="block">Returns the sum of the logs of the values that have been added.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getSumsq()">getSumsq</a></strong>()</code>
<div class="block">Returns the sum of the squares of the values that have been added.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getSumsqImpl()">getSumsqImpl</a></strong>()</code>
<div class="block">Returns the currently configured sum of squares implementation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getVariance()">getVariance</a></strong>()</code>
<div class="block">Returns the (sample) variance of the available values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getVarianceImpl()">getVarianceImpl</a></strong>()</code>
<div class="block">Returns the currently configured variance implementation</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#hashCode()">hashCode</a></strong>()</code>
<div class="block">Returns hash code based on values of statistics</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setGeoMeanImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">setGeoMeanImpl</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;geoMeanImpl)</code>
<div class="block">
 Sets the implementation for the geometric mean.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setMaxImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">setMaxImpl</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;maxImpl)</code>
<div class="block">
 Sets the implementation for the maximum.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setMeanImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">setMeanImpl</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;meanImpl)</code>
<div class="block">
 Sets the implementation for the mean.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setMinImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">setMinImpl</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;minImpl)</code>
<div class="block">
 Sets the implementation for the minimum.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setSumImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">setSumImpl</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;sumImpl)</code>
<div class="block">
 Sets the implementation for the Sum.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setSumLogImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">setSumLogImpl</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;sumLogImpl)</code>
<div class="block">
 Sets the implementation for the sum of logs.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setSumsqImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">setSumsqImpl</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;sumsqImpl)</code>
<div class="block">
 Sets the implementation for the sum of squares.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#setVarianceImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">setVarianceImpl</a></strong>(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;varianceImpl)</code>
<div class="block">
 Sets the implementation for the variance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#toString()">toString</a></strong>()</code>
<div class="block">Generates a text report displaying summary statistics from values that
 have been added.</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#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#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#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="SummaryStatistics()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SummaryStatistics</h4>
<pre>public&nbsp;SummaryStatistics()</pre>
<div class="block">Construct a SummaryStatistics instance</div>
</li>
</ul>
<a name="SummaryStatistics(org.apache.commons.math3.stat.descriptive.SummaryStatistics)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SummaryStatistics</h4>
<pre>public&nbsp;SummaryStatistics(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SummaryStatistics</a>&nbsp;original)
                  throws <a href="../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></pre>
<div class="block">A copy constructor. Creates a deep-copy of the <code>original</code>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>original</code> - the <code>SummaryStatistics</code> instance to copy</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if original is null</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="getSummary()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSummary</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a>&nbsp;getSummary()</pre>
<div class="block">Return a <a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummaryValues.html" title="class in org.apache.commons.math3.stat.descriptive"><code>StatisticalSummaryValues</code></a> instance reporting current
 statistics.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Current values of statistics</dd></dl>
</li>
</ul>
<a name="addValue(double)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addValue</h4>
<pre>public&nbsp;void&nbsp;addValue(double&nbsp;value)</pre>
<div class="block">Add a value to the data</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - the value to add</dd></dl>
</li>
</ul>
<a name="getN()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getN</h4>
<pre>public&nbsp;long&nbsp;getN()</pre>
<div class="block">Returns the number of available values</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html#getN()">getN</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The number of available values</dd></dl>
</li>
</ul>
<a name="getSum()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSum</h4>
<pre>public&nbsp;double&nbsp;getSum()</pre>
<div class="block">Returns the sum of the values that have been added</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html#getSum()">getSum</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>The sum or <code>Double.NaN</code> if no values have been added</dd></dl>
</li>
</ul>
<a name="getSumsq()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSumsq</h4>
<pre>public&nbsp;double&nbsp;getSumsq()</pre>
<div class="block">Returns the sum of the squares of the values that have been added.
 <p>
 Double.NaN is returned if no values have been added.
 </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The sum of squares</dd></dl>
</li>
</ul>
<a name="getMean()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMean</h4>
<pre>public&nbsp;double&nbsp;getMean()</pre>
<div class="block">Returns the mean of the values that have been added.
 <p>
 Double.NaN is returned if no values have been added.
 </p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html#getMean()">getMean</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the mean</dd></dl>
</li>
</ul>
<a name="getStandardDeviation()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStandardDeviation</h4>
<pre>public&nbsp;double&nbsp;getStandardDeviation()</pre>
<div class="block">Returns the standard deviation of the values that have been added.
 <p>
 Double.NaN is returned if no values have been added.
 </p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html#getStandardDeviation()">getStandardDeviation</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the standard deviation</dd></dl>
</li>
</ul>
<a name="getVariance()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVariance</h4>
<pre>public&nbsp;double&nbsp;getVariance()</pre>
<div class="block">Returns the (sample) variance of the available values.

 <p>This method returns the bias-corrected sample variance (using <code>n - 1</code> in
 the denominator).  Use <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#getPopulationVariance()"><code>getPopulationVariance()</code></a> for the non-bias-corrected
 population variance.</p>

 <p>Double.NaN is returned if no values have been added.</p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html#getVariance()">getVariance</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the variance</dd></dl>
</li>
</ul>
<a name="getPopulationVariance()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPopulationVariance</h4>
<pre>public&nbsp;double&nbsp;getPopulationVariance()</pre>
<div class="block">Returns the <a href="http://en.wikibooks.org/wiki/Statistics/Summary/Variance">
 population variance</a> of the values that have been added.

 <p>Double.NaN is returned if no values have been added.</p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the population variance</dd></dl>
</li>
</ul>
<a name="getMax()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMax</h4>
<pre>public&nbsp;double&nbsp;getMax()</pre>
<div class="block">Returns the maximum of the values that have been added.
 <p>
 Double.NaN is returned if no values have been added.
 </p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html#getMax()">getMax</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the maximum</dd></dl>
</li>
</ul>
<a name="getMin()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMin</h4>
<pre>public&nbsp;double&nbsp;getMin()</pre>
<div class="block">Returns the minimum of the values that have been added.
 <p>
 Double.NaN is returned if no values have been added.
 </p></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html#getMin()">getMin</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/math3/stat/descriptive/StatisticalSummary.html" title="interface in org.apache.commons.math3.stat.descriptive">StatisticalSummary</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the minimum</dd></dl>
</li>
</ul>
<a name="getGeometricMean()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGeometricMean</h4>
<pre>public&nbsp;double&nbsp;getGeometricMean()</pre>
<div class="block">Returns the geometric mean of the values that have been added.
 <p>
 Double.NaN is returned if no values have been added.
 </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the geometric mean</dd></dl>
</li>
</ul>
<a name="getSumOfLogs()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSumOfLogs</h4>
<pre>public&nbsp;double&nbsp;getSumOfLogs()</pre>
<div class="block">Returns the sum of the logs of the values that have been added.
 <p>
 Double.NaN is returned if no values have been added.
 </p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the sum of logs</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="getSecondMoment()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSecondMoment</h4>
<pre>public&nbsp;double&nbsp;getSecondMoment()</pre>
<div class="block">Returns a statistic related to the Second Central Moment.  Specifically,
 what is returned is the sum of squared deviations from the sample mean
 among the values that have been added.
 <p>
 Returns <code>Double.NaN</code> if no data values have been added and
 returns <code>0</code> if there is just one value in the data set.</p>
 <p></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>second central moment statistic</dd><dt><span class="strong">Since:</span></dt>
  <dd>2.0</dd></dl>
</li>
</ul>
<a name="toString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<div class="block">Generates a text report displaying summary statistics from values that
 have been added.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>String with line feeds displaying statistics</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="clear()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>clear</h4>
<pre>public&nbsp;void&nbsp;clear()</pre>
<div class="block">Resets all statistics and storage</div>
</li>
</ul>
<a name="equals(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(<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>&nbsp;object)</pre>
<div class="block">Returns true iff <code>object</code> is a
 <code>SummaryStatistics</code> instance and all statistics have the
 same values as this.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>object</code> - the object to test equality against.</dd>
<dt><span class="strong">Returns:</span></dt><dd>true if object equals this</dd></dl>
</li>
</ul>
<a name="hashCode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre>public&nbsp;int&nbsp;hashCode()</pre>
<div class="block">Returns hash code based on values of statistics</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>hash code</dd></dl>
</li>
</ul>
<a name="getSumImpl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSumImpl</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;getSumImpl()</pre>
<div class="block">Returns the currently configured Sum implementation</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the StorelessUnivariateStatistic implementing the sum</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="setSumImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSumImpl</h4>
<pre>public&nbsp;void&nbsp;setSumImpl(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;sumImpl)
                throws <a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></pre>
<div class="block"><p>
 Sets the implementation for the Sum.
 </p>
 <p>
 This method cannot be activated after data has been added - i.e.,
 after <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> has been used to add data.
 If it is activated after data has been added, an IllegalStateException
 will be thrown.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sumImpl</code> - the StorelessUnivariateStatistic instance to use for
        computing the Sum</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></code> - if data has already been added (i.e if n >0)</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="getSumsqImpl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSumsqImpl</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;getSumsqImpl()</pre>
<div class="block">Returns the currently configured sum of squares implementation</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the StorelessUnivariateStatistic implementing the sum of squares</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="setSumsqImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSumsqImpl</h4>
<pre>public&nbsp;void&nbsp;setSumsqImpl(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;sumsqImpl)
                  throws <a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></pre>
<div class="block"><p>
 Sets the implementation for the sum of squares.
 </p>
 <p>
 This method cannot be activated after data has been added - i.e.,
 after <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> has been used to add data.
 If it is activated after data has been added, an IllegalStateException
 will be thrown.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sumsqImpl</code> - the StorelessUnivariateStatistic instance to use for
        computing the sum of squares</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></code> - if data has already been added (i.e if n > 0)</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="getMinImpl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinImpl</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;getMinImpl()</pre>
<div class="block">Returns the currently configured minimum implementation</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the StorelessUnivariateStatistic implementing the minimum</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="setMinImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMinImpl</h4>
<pre>public&nbsp;void&nbsp;setMinImpl(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;minImpl)
                throws <a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></pre>
<div class="block"><p>
 Sets the implementation for the minimum.
 </p>
 <p>
 This method cannot be activated after data has been added - i.e.,
 after <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> has been used to add data.
 If it is activated after data has been added, an IllegalStateException
 will be thrown.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>minImpl</code> - the StorelessUnivariateStatistic instance to use for
        computing the minimum</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></code> - if data has already been added (i.e if n > 0)</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="getMaxImpl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxImpl</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;getMaxImpl()</pre>
<div class="block">Returns the currently configured maximum implementation</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the StorelessUnivariateStatistic implementing the maximum</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="setMaxImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxImpl</h4>
<pre>public&nbsp;void&nbsp;setMaxImpl(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;maxImpl)
                throws <a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></pre>
<div class="block"><p>
 Sets the implementation for the maximum.
 </p>
 <p>
 This method cannot be activated after data has been added - i.e.,
 after <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> has been used to add data.
 If it is activated after data has been added, an IllegalStateException
 will be thrown.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>maxImpl</code> - the StorelessUnivariateStatistic instance to use for
        computing the maximum</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></code> - if data has already been added (i.e if n > 0)</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="getSumLogImpl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSumLogImpl</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;getSumLogImpl()</pre>
<div class="block">Returns the currently configured sum of logs implementation</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the StorelessUnivariateStatistic implementing the log sum</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="setSumLogImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSumLogImpl</h4>
<pre>public&nbsp;void&nbsp;setSumLogImpl(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;sumLogImpl)
                   throws <a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></pre>
<div class="block"><p>
 Sets the implementation for the sum of logs.
 </p>
 <p>
 This method cannot be activated after data has been added - i.e.,
 after <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> has been used to add data.
 If it is activated after data has been added, an IllegalStateException
 will be thrown.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>sumLogImpl</code> - the StorelessUnivariateStatistic instance to use for
        computing the log sum</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></code> - if data has already been added (i.e if n > 0)</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="getGeoMeanImpl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGeoMeanImpl</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;getGeoMeanImpl()</pre>
<div class="block">Returns the currently configured geometric mean implementation</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the StorelessUnivariateStatistic implementing the geometric mean</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="setGeoMeanImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGeoMeanImpl</h4>
<pre>public&nbsp;void&nbsp;setGeoMeanImpl(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;geoMeanImpl)
                    throws <a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></pre>
<div class="block"><p>
 Sets the implementation for the geometric mean.
 </p>
 <p>
 This method cannot be activated after data has been added - i.e.,
 after <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> has been used to add data.
 If it is activated after data has been added, an IllegalStateException
 will be thrown.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>geoMeanImpl</code> - the StorelessUnivariateStatistic instance to use for
        computing the geometric mean</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></code> - if data has already been added (i.e if n > 0)</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="getMeanImpl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMeanImpl</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;getMeanImpl()</pre>
<div class="block">Returns the currently configured mean implementation</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the StorelessUnivariateStatistic implementing the mean</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="setMeanImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMeanImpl</h4>
<pre>public&nbsp;void&nbsp;setMeanImpl(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;meanImpl)
                 throws <a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></pre>
<div class="block"><p>
 Sets the implementation for the mean.
 </p>
 <p>
 This method cannot be activated after data has been added - i.e.,
 after <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> has been used to add data.
 If it is activated after data has been added, an IllegalStateException
 will be thrown.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>meanImpl</code> - the StorelessUnivariateStatistic instance to use for
        computing the mean</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></code> - if data has already been added (i.e if n > 0)</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="getVarianceImpl()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVarianceImpl</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;getVarianceImpl()</pre>
<div class="block">Returns the currently configured variance implementation</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the StorelessUnivariateStatistic implementing the variance</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="setVarianceImpl(org.apache.commons.math3.stat.descriptive.StorelessUnivariateStatistic)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setVarianceImpl</h4>
<pre>public&nbsp;void&nbsp;setVarianceImpl(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive">StorelessUnivariateStatistic</a>&nbsp;varianceImpl)
                     throws <a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></pre>
<div class="block"><p>
 Sets the implementation for the variance.
 </p>
 <p>
 This method cannot be activated after data has been added - i.e.,
 after <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html#addValue(double)"><code>addValue</code></a> has been used to add data.
 If it is activated after data has been added, an IllegalStateException
 will be thrown.
 </p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>varianceImpl</code> - the StorelessUnivariateStatistic instance to use for
        computing the variance</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/MathIllegalStateException.html" title="class in org.apache.commons.math3.exception">MathIllegalStateException</a></code> - if data has already been added (i.e if n > 0)</dd><dt><span class="strong">Since:</span></dt>
  <dd>1.2</dd></dl>
</li>
</ul>
<a name="copy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SummaryStatistics</a>&nbsp;copy()</pre>
<div class="block">Returns a copy of this SummaryStatistics instance with the same internal state.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a copy of this</dd></dl>
</li>
</ul>
<a name="copy(org.apache.commons.math3.stat.descriptive.SummaryStatistics, org.apache.commons.math3.stat.descriptive.SummaryStatistics)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>copy</h4>
<pre>public static&nbsp;void&nbsp;copy(<a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SummaryStatistics</a>&nbsp;source,
        <a href="../../../../../../org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" title="class in org.apache.commons.math3.stat.descriptive">SummaryStatistics</a>&nbsp;dest)
                 throws <a href="../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></pre>
<div class="block">Copies source to dest.
 <p>Neither source nor dest can be null.</p></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>source</code> - SummaryStatistics to copy</dd><dd><code>dest</code> - SummaryStatistics to copy to</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/exception/NullArgumentException.html" title="class in org.apache.commons.math3.exception">NullArgumentException</a></code> - if either source or dest is null</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/SummaryStatistics.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/stat/descriptive/StorelessUnivariateStatistic.html" title="interface in org.apache.commons.math3.stat.descriptive"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/stat/descriptive/SynchronizedDescriptiveStatistics.html" title="class in org.apache.commons.math3.stat.descriptive"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/stat/descriptive/SummaryStatistics.html" target="_top">Frames</a></li>
<li><a href="SummaryStatistics.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>
