com.singularsys.jep.functions

## Class Sum

- java.lang.Object
- - com.singularsys.jep.functions.PostfixMathCommand
  - - com.singularsys.jep.functions.Sum

- All Implemented Interfaces:
    PostfixMathCommandI, java.io.Serializable

      public class Sum
      extends PostfixMathCommand

  Adds it arguments `sum(1,2,3,4,5)` will be 15. Note does not expand array in its arguments so `sum([1,2],[3,4])` is `[4,6]` rather than 10.

  This class serves mainly as an example of a function that accepts any number of parameters. Note that the numberOfParameters is initialized to -1.

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static Add` | `addFun` Function used to add pairs of items.

    - ### Fields inherited from class com.singularsys.jep.functions.PostfixMathCommand

      `curNumberOfParameters, name, NaN, numberOfParameters`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Sum()` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `checkNumberOfParameters(int n)` Must have one or more parameter
    `void` | `run(java.util.Stack<java.lang.Object> stack)` Calculates the result of summing up all parameters.

    - ### Methods inherited from class com.singularsys.jep.functions.PostfixMathCommand

      `asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, getName, getNumberOfParameters, setCurNumberOfParameters, setName, toString, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### addFun

          protected static Add addFun

      Function used to add pairs of items.

  - ### Constructor Detail

    - #### Sum

          public Sum()

      Constructor.

  - ### Method Detail

    - #### checkNumberOfParameters

          public boolean checkNumberOfParameters(int n)

      Must have one or more parameter
      Specified by:
        `checkNumberOfParameters` in interface `PostfixMathCommandI`
      Overrides:
        `checkNumberOfParameters` in class `PostfixMathCommand`
      Parameters:
        `n` - number of parameters function will be called with.
      Returns:
        false if an illegal number of parameters is supplied, true otherwise.

    - #### run

          public void run(java.util.Stack<java.lang.Object> stack)
                   throws EvaluationException

      Calculates the result of summing up all parameters.
      Specified by:
        `run` in interface `PostfixMathCommandI`
      Overrides:
        `run` in class `PostfixMathCommand`
      Parameters:
        `stack` - arguments for function
      Throws:
        `EvaluationException` - if function cannot be evaluated

Copyright © 2018 Singular Systems http://www.singularsys.com/jep