Package com.singularsys.jep.functions

# Class SquareRoot

java.lang.Object
com.singularsys.jep.functions.PostfixMathCommand
com.singularsys.jep.functions.UnaryFunction
com.singularsys.jep.functions.SquareRoot

All Implemented Interfaces:
  `PostfixMathCommandI`, `RealUnaryFunction`, `Serializable`

public class SquareRoot extends UnaryFunction implements RealUnaryFunction
Square root function. Positive Number arguments returns double results. Negative Number arguments return Complex results by default or Double.NaN if the strict flag is set in constructor. Complex arguments return Complex results.

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class com.singularsys.jep.functions.UnaryFunction

  `UnaryFunction.FunctionWithException<T>`

- ## Field Summary

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

  `curNumberOfParameters, description, name, NaN, numberOfParameters`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SquareRoot()`
  Standard constructor, Complex results for negative Number arguments.
  `SquareRoot(boolean strict)`
  Controls behaviour for negative real arguments.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `eval(Object arg)`
  Evaluate the function
  `double`
  `evaluate(double val)`
  Evaluate the function
  `Object`
  `sqrt(Object x)`
  Calculates the square root of the parameter.

  ### Methods inherited from class com.singularsys.jep.functions.UnaryFunction

  `instanceOf, instanceOf, instanceOf, instanceOf, run`

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

  `asArray, asBool, asDouble, asInt, asLong, asStrictInt, asString, asType, checkNumberOfParameters, getDescription, getDescription, getDescriptionWithType, getName, getNumberOfParameters, setCurNumberOfParameters, setDescription, setName, toString, toString`

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

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

- ## Constructor Details

  - ### SquareRoot

    public SquareRoot()
    Standard constructor, Complex results for negative Number arguments.

  - ### SquareRoot

    public SquareRoot(boolean strict)
    Controls behaviour for negative real arguments.
    Parameters:
      `strict` - true then returns NaN for negative real arguments, false to return complex results for negative real arguments.

- ## Method Details

  - ### eval

    public Object eval(Object arg) throws EvaluationException
    Description copied from class: `UnaryFunction`
    Evaluate the function
    Specified by:
      `eval` in class `UnaryFunction`
    Parameters:
      `arg` - the single argument passed in
    Returns:
      the result of the function
    Throws:
      `EvaluationException` - on error

  - ### sqrt

    public Object sqrt(Object x) throws EvaluationException
    Calculates the square root of the parameter. The parameter must either be of type Double or Complex.
    Parameters:
      `x` - value
    Returns:
      The square root of the parameter.
    Throws:
      `EvaluationException` - if the calculation cannot be performed

  - ### evaluate

    public double evaluate(double val)
    Description copied from interface: `RealUnaryFunction`
    Evaluate the function
    Specified by:
      `evaluate` in interface `RealUnaryFunction`
    Parameters:
      `val` - the argument
    Returns:
      the result of applying the function to the argument