Package com.singularsys.jep.reals

# Class RealFunctionTable

java.lang.Object
com.singularsys.jep.FunctionTable
com.singularsys.jep.reals.RealFunctionTable

All Implemented Interfaces:
  `JepComponent`, `Serializable`

public class RealFunctionTable extends FunctionTable
Function table where evaluation is carried out using reals and never complex numbers. Evaluating `sqrt(-1)` will return NaN rather than a complex number. Function `asin(2), acos(2), acosh(0.5), atanh(2), ln(-1), log(-1), lg(-1)` also returns NaN. Furthermore, the constant `i` is not defined.

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class com.singularsys.jep.FunctionTable

  `table`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  ``
  `RealFunctionTable()`
  `protected`
  `RealFunctionTable(Map<String,PostfixMathCommandI> tbl)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FunctionTable`
  `shallowCopy()`
  Returns a new shallow copy of this function table.

  ### Methods inherited from class com.singularsys.jep.FunctionTable

  `addFunction, addFunctionIfSet, clear, containsKey, containsValue, copyFunctionsFrom, entrySet, getFunction, getLightWeightInstance, init, isEmpty, keySet, remove, size, threadSafeMapCopy, toString, values`

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

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

- ## Constructor Details

  - ### RealFunctionTable

    public RealFunctionTable()

  - ### RealFunctionTable

    protected RealFunctionTable(Map<String,PostfixMathCommandI> tbl)

- ## Method Details

  - ### shallowCopy

    public FunctionTable shallowCopy()
    Description copied from class: `FunctionTable`
    Returns a new shallow copy of this function table. Calls the `FunctionTable.threadSafeMapCopy()` method to ensure the table is safe to use a separate thread. All subclasses should override this method to create a function table of the matching type. A typical implementation would be

         @Override
         public FunctionTable shallowCopy() {
             Map<String,PostfixMathCommandI> newMap = this.threadSafeMapCopy();
             return new myFunctionTable(newMap);
         }

    using the `FunctionTable.threadSafeMapCopy()` method to return a copy of the map of functions and a constructor taking this map which uses the `FunctionTable(Map)` constructor.
    Overrides:
      `shallowCopy` in class `FunctionTable`
    Returns:
      a new shallow copy of this function table