weka.core.pmml

## Class BuiltInMath

- java.lang.Object
- - weka.core.pmml.Function
  - - weka.core.pmml.BuiltInMath

- All Implemented Interfaces:
    java.io.Serializable

      public class BuiltInMath
      extends Function

  Built-in function for min, max, sum, avg, log10, ln, sqrt, abs, exp, pow, threshold, floor, ceil and round.
  Version:
    $Revision 1.0 $
  Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BuiltInMath(weka.core.pmml.BuiltInMath.MathFunc func)` Construct a new built-in pmml Math function.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Attribute` | `getOutputDef()` Get the structure of the result produced by this function.
    `java.lang.String[]` | `getParameterNames()` Returns an array of the names of the parameters expected as input by this function.
    `double` | `getResult(double[] incoming)` Get the result of applying this function.
    `void` | `setParameterDefs(java.util.ArrayList<Attribute> paramDefs)` Set the structure of the parameters that are expected as input by this function.
    `java.lang.String` | `toString()`

    - ### Methods inherited from class weka.core.pmml.Function

      `getFunction, getFunction, getName, toString`

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

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

- - ### Constructor Detail

    - #### BuiltInMath

          public BuiltInMath(weka.core.pmml.BuiltInMath.MathFunc func)

      Construct a new built-in pmml Math function.
      Parameters:
        `func` - the math function to use

  - ### Method Detail

    - #### setParameterDefs

          public void setParameterDefs(java.util.ArrayList<Attribute> paramDefs)
                                throws java.lang.Exception

      Set the structure of the parameters that are expected as input by this function. This must be called before getOutputDef() is called.
      Specified by:
        `setParameterDefs` in class `Function`
      Parameters:
        `paramDefs` - the structure of the input parameters
      Throws:
        `java.lang.Exception` - if the number or types of parameters are not acceptable by this function

    - #### getOutputDef

          public Attribute getOutputDef()

      Get the structure of the result produced by this function. Subclasses must implement.
      Specified by:
        `getOutputDef` in class `Function`
      Returns:
        the structure of the result produced by this function.

    - #### getParameterNames

          public java.lang.String[] getParameterNames()

      Returns an array of the names of the parameters expected as input by this function. May return null if the function can accept an unbounded number of arguments.
      Specified by:
        `getParameterNames` in class `Function`
      Returns:
        an array of the parameter names (or null if the function can accept any number of arguments).

    - #### getResult

          public double getResult(double[] incoming)
                           throws java.lang.Exception

      Get the result of applying this function.
      Specified by:
        `getResult` in class `Function`
      Parameters:
        `incoming` - the arguments to this function (supplied in order to match that of the parameter definitions
      Returns:
        the result of applying this function. When the optype is categorical or ordinal, an index into the values of the output definition is returned.
      Throws:
        `java.lang.Exception` - if there is a problem computing the result of this function

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `Function`