org.apache.sysds.parser

## Class BuiltinFunctionExpression

- java.lang.Object
- - org.apache.sysds.parser.Expression
  - - org.apache.sysds.parser.Identifier
    - - org.apache.sysds.parser.DataIdentifier
      - - org.apache.sysds.parser.BuiltinFunctionExpression

- All Implemented Interfaces:
    ParseInfo

      public class BuiltinFunctionExpression
      extends DataIdentifier

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.sysds.parser.Expression

      `Expression.BinaryOp, Expression.BooleanOp, Expression.DataOp, Expression.FunctCallOp, Expression.RelationalOp`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BuiltinFunctionExpression(Builtins bifop, Expression[] args, ParseInfo parseInfo)`
    `BuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx, Builtins bifop, ArrayList<ParameterExpression> args, String fname)`
    `BuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx, Builtins bifop, Expression[] args, String fname)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Expression[]` | `getAllExpr()`
    `static BuiltinFunctionExpression` | `getBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx, String functionName, ArrayList<ParameterExpression> paramExprsPassed, String filename)`
    `Expression` | `getEighthExpr()`
    `Expression` | `getExpr(int i)`
    `Expression` | `getFifthExpr()`
    `Expression` | `getFirstExpr()`
    `Expression` | `getFourthExpr()`
    `Builtins` | `getOpCode()`
    `Expression` | `getSecondExpr()`
    `Expression` | `getSeventhExpr()`
    `Expression` | `getSixthExpr()`
    `Expression` | `getThirdExpr()`
    `static Builtins` | `getValueTypeCastOperator(Types.ValueType vt)` Convert a value type (double, int, or boolean) to a built-in function operator.
    `boolean` | `multipleReturns()` Method to specify if an expression returns multiple outputs.
    `Expression` | `rewriteExpression(String prefix)`
    `String` | `toString()`
    `void` | `validateExpression(HashMap<String,DataIdentifier> ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)` Validate parse tree : Process BuiltinFunction Expression in an assignment statement
    `void` | `validateExpression(MultiAssignmentStatement stmt, HashMap<String,DataIdentifier> ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)`
    `VariableSet` | `variablesRead()`
    `VariableSet` | `variablesUpdated()`

    - ### Methods inherited from class org.apache.sysds.parser.DataIdentifier

      `equals, getName, hashCode, setName`

    - ### Methods inherited from class org.apache.sysds.parser.Identifier

      `computeDataType, dimsKnown, getBlocksize, getDataType, getDim1, getDim2, getFileFormat, getNnz, getPrivacy, getValueType, isScalarBoolean, setBlocksize, setBooleanProperties, setDataType, setDimensions, setDimensionValueProperties, setFileFormat, setIntProperties, setNnz, setPrivacy, setPrivacy, setProperties, setValueType`

    - ### Methods inherited from class org.apache.sysds.parser.Expression

      `computeDataType, computeDataType, computeValueType, computeValueType, computeValueType, convertFormatType, getBeginColumn, getBeginLine, getBinaryMatrixCharacteristics, getBinaryOp, getBooleanOp, getEndColumn, getEndLine, getFilename, getOutput, getOutputs, getParseExceptionList, getRelationalOp, getTempName, getText, printErrorLocation, printInfoLocation, printWarningLocation, raiseValidateError, raiseValidateError, raiseValidateError, setBeginColumn, setBeginLine, setCtxValues, setCtxValuesAndFilename, setEndColumn, setEndLine, setFilename, setOutput, setParseExceptionList, setParseInfo, setText`

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

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.sysds.parser.ParseInfo

      `ctxAndFilenameToParseInfo`

- - ### Constructor Detail

    - #### BuiltinFunctionExpression

          public BuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx,
                                           Builtins bifop,
                                           ArrayList<ParameterExpression> args,
                                           String fname)

    - #### BuiltinFunctionExpression

          public BuiltinFunctionExpression(Builtins bifop,
                                           Expression[] args,
                                           ParseInfo parseInfo)

    - #### BuiltinFunctionExpression

          public BuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx,
                                           Builtins bifop,
                                           Expression[] args,
                                           String fname)

  - ### Method Detail

    - #### rewriteExpression

          public Expression rewriteExpression(String prefix)

      Overrides:
        `rewriteExpression` in class `DataIdentifier`

    - #### getOpCode

          public Builtins getOpCode()

    - #### getFirstExpr

          public Expression getFirstExpr()

    - #### getSecondExpr

          public Expression getSecondExpr()

    - #### getThirdExpr

          public Expression getThirdExpr()

    - #### getFourthExpr

          public Expression getFourthExpr()

    - #### getFifthExpr

          public Expression getFifthExpr()

    - #### getSixthExpr

          public Expression getSixthExpr()

    - #### getSeventhExpr

          public Expression getSeventhExpr()

    - #### getEighthExpr

          public Expression getEighthExpr()

    - #### getAllExpr

          public Expression[] getAllExpr()

    - #### getExpr

          public Expression getExpr(int i)

    - #### validateExpression

          public void validateExpression(MultiAssignmentStatement stmt,
                                         HashMap<String,DataIdentifier> ids,
                                         HashMap<String,ConstIdentifier> constVars,
                                         boolean conditional)

      Overrides:
        `validateExpression` in class `Expression`

    - #### validateExpression

          public void validateExpression(HashMap<String,DataIdentifier> ids,
                                         HashMap<String,ConstIdentifier> constVars,
                                         boolean conditional)

      Validate parse tree : Process BuiltinFunction Expression in an assignment statement
      Overrides:
        `validateExpression` in class `Identifier`

    - #### multipleReturns

          public boolean multipleReturns()

      Description copied from class: `DataIdentifier`
      Method to specify if an expression returns multiple outputs. This method must be overridden by all child classes.
      Overrides:
        `multipleReturns` in class `DataIdentifier`
      Returns:
        true if expression returns multiple outputs

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `DataIdentifier`

    - #### variablesRead

          public VariableSet variablesRead()

      Overrides:
        `variablesRead` in class `DataIdentifier`

    - #### variablesUpdated

          public VariableSet variablesUpdated()

      Overrides:
        `variablesUpdated` in class `DataIdentifier`

    - #### getBuiltinFunctionExpression

          public static BuiltinFunctionExpression getBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx,
                                                                               String functionName,
                                                                               ArrayList<ParameterExpression> paramExprsPassed,
                                                                               String filename)

    - #### getValueTypeCastOperator

          public static Builtins getValueTypeCastOperator(Types.ValueType vt)

      Convert a value type (double, int, or boolean) to a built-in function operator.
      Parameters:
        `vt` - Value type (`ValueType.DOUBLE`, `ValueType.INT`, or `ValueType.BOOLEAN`).
      Returns:
        Built-in function operator (`Builtins.AS_DOUBLE`, `Builtins.AS_INT`, or `Builtins.AS_BOOLEAN`).

Copyright © 2021 The Apache Software Foundation. All rights reserved.