org.apache.commons.math.stat.descriptive.summary

## Class SumOfSquares

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

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

      public class SumOfSquares
      extends AbstractStorelessUnivariateStatistic
      implements java.io.Serializable

  Returns the sum of the squares 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: 1006299 $ $Date: 2010-10-10 16:47:17 +0200 (dim. 10 oct. 2010) $
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private long` | `n`
    `private static long` | `serialVersionUID` Serializable version identifier
    `private double` | `value` The currently running sumSq

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SumOfSquares()` Create a SumOfSquares instance
    `SumOfSquares(SumOfSquares original)` Copy constructor, creates a new `SumOfSquares` identical to the `original`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Clears the internal state of the Statistic
    `SumOfSquares` | `copy()` Returns a copy of the statistic with the same internal state.
    `static void` | `copy(SumOfSquares source, SumOfSquares dest)` Copies source to dest.
    `double` | `evaluate(double[] values, int begin, int length)` Returns the sum of the squares 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

      `evaluate, getData, getDataRef, setData, setData, 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 sumSq

  - ### Constructor Detail

    - #### SumOfSquares

          public SumOfSquares()

      Create a SumOfSquares instance

    - #### SumOfSquares

          public SumOfSquares(SumOfSquares original)

      Copy constructor, creates a new `SumOfSquares` identical to the `original`
      Parameters:
        `original` - the `SumOfSquares` 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)

      Returns the sum of the squares 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 squares 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)`

    - #### copy

          public SumOfSquares 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(SumOfSquares source,
                  SumOfSquares dest)

      Copies source to dest.

      Neither source nor dest can be null.

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

Copyright (c) 2003-2013 Apache Software Foundation