org.apache.sysds.parser

## Class ParameterizedBuiltinFunctionExpression

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

All Implemented Interfaces:
  ParseInfo

    public class ParameterizedBuiltinFunctionExpression
    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`

### Field Summary

Fields
`static HashMap<Builtins,Types.ParamBuiltinOp>` `pbHopMap`
`static String` `TF_FN_PARAM_DATA`
`static String` `TF_FN_PARAM_MTD`
`static String` `TF_FN_PARAM_MTD2`
`static String` `TF_FN_PARAM_SPEC`

### Constructor Summary

Constructors
Constructor and Description
`ParameterizedBuiltinFunctionExpression(Builtins op, LinkedHashMap<String,Expression> varParams, ParseInfo parseInfo)`
`ParameterizedBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx, Builtins op, LinkedHashMap<String,Expression> varParams, String filename)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `addVarParam(String name, Expression value)`
`Builtins` `getOpCode()`
`static ParameterizedBuiltinFunctionExpression` `getParamBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx, String functionName, ArrayList<ParameterExpression> paramExprsPassed, String fileName)`
`Expression` `getVarParam(String name)`
`HashMap<String,Expression>` `getVarParams()`
`boolean` `multipleReturns()` Method to specify if an expression returns multiple outputs.
`Expression` `rewriteExpression(String prefix)`
`void` `setOpcode(Builtins op)`
`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`

### Field Detail

#### TF_FN_PARAM_DATA

    public static final String TF_FN_PARAM_DATA

See Also:
  Constant Field Values

#### TF_FN_PARAM_MTD2

    public static final String TF_FN_PARAM_MTD2

See Also:
  Constant Field Values

#### TF_FN_PARAM_SPEC

    public static final String TF_FN_PARAM_SPEC

See Also:
  Constant Field Values

#### TF_FN_PARAM_MTD

    public static final String TF_FN_PARAM_MTD

See Also:
  Constant Field Values

#### pbHopMap

    public static HashMap<Builtins,Types.ParamBuiltinOp> pbHopMap

### Constructor Detail

#### ParameterizedBuiltinFunctionExpression

    public ParameterizedBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx,
                                                  Builtins op,
                                                  LinkedHashMap<String,Expression> varParams,
                                                  String filename)

#### ParameterizedBuiltinFunctionExpression

    public ParameterizedBuiltinFunctionExpression(Builtins op,
                                                  LinkedHashMap<String,Expression> varParams,
                                                  ParseInfo parseInfo)

### Method Detail

#### getParamBuiltinFunctionExpression

    public static ParameterizedBuiltinFunctionExpression getParamBuiltinFunctionExpression(org.antlr.v4.runtime.ParserRuleContext ctx,
                                                                                           String functionName,
                                                                                           ArrayList<ParameterExpression> paramExprsPassed,
                                                                                           String fileName)

#### rewriteExpression

    public Expression rewriteExpression(String prefix)

Overrides:
  `rewriteExpression` in class `DataIdentifier`

#### setOpcode

    public void setOpcode(Builtins op)

#### getOpCode

    public Builtins getOpCode()

#### getVarParams

    public HashMap<String,Expression> getVarParams()

#### getVarParam

    public Expression getVarParam(String name)

#### addVarParam

    public void addVarParam(String name,
                            Expression value)

#### 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`

#### validateExpression

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

Overrides:
  `validateExpression` in class `Expression`

#### 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`

#### 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