Package 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
Modifier and Type
Field
Description
`static final String`
`LINEAGE_TRACE`
`static HashMap<Builtins,Types.ParamBuiltinOp>`
`pbHopMap`
`static final String`
`TF_FN_PARAM_DATA`
`static final String`
`TF_FN_PARAM_EMBD`
`static final String`
`TF_FN_PARAM_MTD`
`static final String`
`TF_FN_PARAM_MTD2`
`static final String`
`TF_FN_PARAM_SPEC`

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`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, getValueType, isScalarBoolean, setBlocksize, setBooleanProperties, setDataType, setDimensions, setDimensionValueProperties, setFileFormat, setIntProperties, setNnz, 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`

## Field Details

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

public static final String TF_FN_PARAM_EMBD

See Also:
  - Constant Field Values

### LINEAGE_TRACE

public static final String LINEAGE_TRACE

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 Details

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

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