org.apache.commons.math.stat.descriptive
Class AbstractUnivariateStatistic

java.lang.Object
  extended by org.apache.commons.math.stat.descriptive.AbstractUnivariateStatistic
All Implemented Interfaces:
UnivariateStatistic
Direct Known Subclasses:
AbstractStorelessUnivariateStatistic, Percentile, SemiVariance

public abstract class AbstractUnivariateStatistic
extends java.lang.Object
implements UnivariateStatistic

Abstract base class for all implementations of the UnivariateStatistic interface.

Provides a default implementation of evaluate(double[]), delegating to evaluate(double[], int, int) in the natural way.

Also includes a test method that performs generic parameter validation for the evaluate methods.

Version:
$Revision: 1006299 $ $Date: 2010-10-10 16:47:17 +0200 (dim. 10 oct. 2010) $

Field Summary
private  double[] storedData
          Stored data.
 
Constructor Summary
AbstractUnivariateStatistic()
           
 
Method Summary
abstract  UnivariateStatistic copy()
          Returns a copy of the statistic with the same internal state.
 double evaluate()
          Returns the result of evaluating the statistic over the stored data.
 double evaluate(double[] values)
          Returns the result of evaluating the statistic over the input array.
abstract  double evaluate(double[] values, int begin, int length)
          Returns the result of evaluating the statistic over the specified entries in the input array.
 double[] getData()
          Get a copy of the stored data array.
protected  double[] getDataRef()
          Get a reference to the stored data array.
 void setData(double[] values)
          Set the data array.
 void setData(double[] values, int begin, int length)
          Set the data array.
protected  boolean test(double[] values, double[] weights, int begin, int length)
          This method is used by evaluate(double[], double[], int, int) methods to verify that the begin and length parameters designate a subarray of positive length and the weights are all non-negative, non-NaN, finite, and not all zero.
protected  boolean test(double[] values, int begin, int length)
          This method is used by evaluate(double[], int, int) methods to verify that the input parameters designate a subarray of positive length.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

storedData

private double[] storedData
Stored data.

Constructor Detail

AbstractUnivariateStatistic

public AbstractUnivariateStatistic()
Method Detail

setData

public void setData(double[] values)
Set the data array.

The stored value is a copy of the parameter array, not the array itself

Parameters:
values - data array to store (may be null to remove stored data)
See Also:
evaluate()

getData

public double[] getData()
Get a copy of the stored data array.

Returns:
copy of the stored data array (may be null)

getDataRef

protected double[] getDataRef()
Get a reference to the stored data array.

Returns:
reference to the stored data array (may be null)

setData

public void setData(double[] values,
                    int begin,
                    int length)
Set the data array.

Parameters:
values - data array to store
begin - the index of the first element to include
length - the number of elements to include
See Also:
evaluate()

evaluate

public double evaluate()
Returns the result of evaluating the statistic over the stored data.

The stored array is the one which was set by previous calls to

Returns:
the value of the statistic applied to the stored data

evaluate

public double evaluate(double[] values)
Returns the result of evaluating the statistic over the input array.

Specified by:
evaluate in interface UnivariateStatistic
Parameters:
values - input array
Returns:
the value of the statistic applied to the input array

evaluate

public abstract double evaluate(double[] values,
                                int begin,
                                int length)
Returns the result of evaluating the statistic over the specified entries in the input array.

Specified by:
evaluate in interface UnivariateStatistic
Parameters:
values - the input array
begin - the index of the first element to include
length - the number of elements to include
Returns:
the value of the statistic applied to the included array entries

copy

public abstract UnivariateStatistic copy()
Returns a copy of the statistic with the same internal state.

Specified by:
copy in interface UnivariateStatistic
Returns:
a copy of the statistic

test

protected boolean test(double[] values,
                       int begin,
                       int length)
This method is used by evaluate(double[], int, int) methods to verify that the input parameters designate a subarray of positive length.

Parameters:
values - the input array
begin - index of the first array element to include
length - the number of elements to include
Returns:
true if the parameters are valid and designate a subarray of positive length
Throws:
java.lang.IllegalArgumentException - if the indices are invalid or the array is null

test

protected boolean test(double[] values,
                       double[] weights,
                       int begin,
                       int length)
This method is used by evaluate(double[], double[], int, int) methods to verify that the begin and length parameters designate a subarray of positive length and the weights are all non-negative, non-NaN, finite, and not all zero.

  • returns true iff the parameters designate a subarray of positive length and the weights array contains legitimate values.
  • throws IllegalArgumentException if any of the following are true:
    • the values array is null
    • the weights array is null
    • the weights array does not have the same length as the values array
    • the weights array contains one or more infinite values
    • the weights array contains one or more NaN values
    • the weights array contains negative values
    • the start and length arguments do not determine a valid array
  • returns false
  • if the array is non-null, but length is 0.

Parameters:
values - the input array
weights - the weights array
begin - index of the first array element to include
length - the number of elements to include
Returns:
true if the parameters are valid and designate a subarray of positive length
Throws:
java.lang.IllegalArgumentException - if the indices are invalid or the array is null
Since:
2.1


Copyright (c) 2003-2013 Apache Software Foundation