Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.math.stat.descriptive.summary
Class Sum

    java.lang.Object
      org.apache.commons.math.stat.descriptive.AbstractUnivariateStatistic
          org.apache.commons.math.stat.descriptive.AbstractStorelessUnivariateStatistic
              org.apache.commons.math.stat.descriptive.summary.Sum

All Implemented Interfaces:
  java.io.Serializable, StorelessUnivariateStatistic, UnivariateStatistic

    public class Sum

extends AbstractStorelessUnivariateStatistic
implements java.io.Serializable

Returns the sum of the available values.

If there are no values in the dataset, or any of the values are `NaN`, then `NaN` is returned.

Note that this implementation is not synchronized. If multiple threads access an instance of this class concurrently, and at least one of the threads invokes the `increment()` or `clear()` method, it must be synchronized externally.

Version:
  $Revision: 917270 $ $Date: 2010-02-28 14:37:53 -0500 (Sun, 28 Feb 2010) $
See Also:
  Serialized Form

Field Summary
`private long` | `n`
`private static long` | `serialVersionUID` Serializable version identifier
`private double` | `value` The currently running sum.

Constructor Summary
`Sum()` Create a Sum instance
`Sum(Sum original)` Copy constructor, creates a new `Sum` identical to the `original`

Method Summary
`void` | `clear()` Clears the internal state of the Statistic
`Sum` | `copy()` Returns a copy of the statistic with the same internal state.
`static void` | `copy(Sum source, Sum dest)` Copies source to dest.
`double` | `evaluate(double[] values, double[] weights)` The weighted sum of the entries in the the input array.
`double` | `evaluate(double[] values, double[] weights, int begin, int length)` The weighted sum of the entries in the specified portion of the input array, or `Double.NaN` if the designated subarray is empty.
`double` | `evaluate(double[] values, int begin, int length)` The sum of the entries in the specified portion of the input array, or `Double.NaN` if the designated subarray is empty.
`long` | `getN()` Returns the number of values that have been added.
`double` | `getResult()` Returns the current value of the Statistic.
`void` | `increment(double d)` Updates the internal state of the statistic to reflect the addition of the new value.

Methods inherited from class org.apache.commons.math.stat.descriptive.AbstractStorelessUnivariateStatistic
`equals, evaluate, hashCode, incrementAll, incrementAll`

Methods inherited from class org.apache.commons.math.stat.descriptive.AbstractUnivariateStatistic
`test, test`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### serialVersionUID

    private static final long serialVersionUID

  Serializable version identifier

  See Also:
    Constant Field Values

### n

    private long n

### value

    private double value

  The currently running sum.

Constructor Detail

### Sum

    public Sum()

  Create a Sum instance

### Sum

    public Sum(Sum original)

  Copy constructor, creates a new `Sum` identical to the `original`

  Parameters:
    `original` - the `Sum` instance to copy

Method Detail

### increment

    public void increment(double d)

  Updates the internal state of the statistic to reflect the addition of the new value.

  Specified by:
    `increment` in interface `StorelessUnivariateStatistic`
  Specified by:
    `increment` in class `AbstractStorelessUnivariateStatistic`
  Parameters:
    `d` - the new value.

### getResult

    public double getResult()

  Returns the current value of the Statistic.

  Specified by:
    `getResult` in interface `StorelessUnivariateStatistic`
  Specified by:
    `getResult` in class `AbstractStorelessUnivariateStatistic`
  Returns:
    value of the statistic, `Double.NaN` if it has been cleared or just instantiated.

### getN

    public long getN()

  Returns the number of values that have been added.

  Specified by:
    `getN` in interface `StorelessUnivariateStatistic`
  Returns:
    the number of values.

### clear

    public void clear()

  Clears the internal state of the Statistic

  Specified by:
    `clear` in interface `StorelessUnivariateStatistic`
  Specified by:
    `clear` in class `AbstractStorelessUnivariateStatistic`

### evaluate

    public double evaluate(double[] values,
                           int begin,
                           int length)

  The sum of the entries in the specified portion of the input array, or `Double.NaN` if the designated subarray is empty.

  Throws `IllegalArgumentException` if the array is null.

  Specified by:
    `evaluate` in interface `UnivariateStatistic`
  Overrides:
    `evaluate` in class `AbstractStorelessUnivariateStatistic`
  Parameters:
    `values` - the input array
    `begin` - index of the first array element to include
    `length` - the number of elements to include
  Returns:
    the sum of the values or Double.NaN if length = 0
  Throws:
    `java.lang.IllegalArgumentException` - if the array is null or the array index parameters are not valid
  See Also:
    `UnivariateStatistic.evaluate(double[], int, int)`

### evaluate

    public double evaluate(double[] values,
                           double[] weights,
                           int begin,
                           int length)

  The weighted sum of the entries in the specified portion of the input array, or `Double.NaN` if the designated subarray is empty.

  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

  Uses the formula,

          weighted sum = Σ(values[i] * weights[i])

  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:
    the sum of the values or Double.NaN if length = 0
  Throws:
    `java.lang.IllegalArgumentException` - if the parameters are not valid
  Since:
    2.1

### evaluate

    public double evaluate(double[] values,
                           double[] weights)

  The weighted sum of the entries in the the input array.

  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

  Uses the formula,

          weighted sum = Σ(values[i] * weights[i])

  Parameters:
    `values` - the input array
    `weights` - the weights array
  Returns:
    the sum of the values or Double.NaN if length = 0
  Throws:
    `java.lang.IllegalArgumentException` - if the parameters are not valid
  Since:
    2.1

### copy

    public Sum copy()

  Returns a copy of the statistic with the same internal state.

  Specified by:
    `copy` in interface `StorelessUnivariateStatistic`
  Specified by:
    `copy` in interface `UnivariateStatistic`
  Specified by:
    `copy` in class `AbstractStorelessUnivariateStatistic`
  Returns:
    a copy of the statistic

### copy

    public static void copy(Sum source,
                            Sum dest)

  Copies source to dest.

  Neither source nor dest can be null.

  Parameters:
    `source` - Sum to copy
    `dest` - Sum to copy to
  Throws:
    `java.lang.NullPointerException` - if either source or dest is null

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2003-2011 Apache Software Foundation