Package org.apache.sysds.parser
Class FunctionStatementBlock
- java.lang.Object
- 
- org.apache.sysds.parser.LiveVariableAnalysis
- 
- org.apache.sysds.parser.StatementBlock
- 
- org.apache.sysds.parser.FunctionStatementBlock
 
 
 
- 
- All Implemented Interfaces:
- Types.FunctionBlock,- ParseInfo
 
 public class FunctionStatementBlock extends StatementBlock implements Types.FunctionBlock 
- 
- 
Field Summary- 
Fields inherited from class org.apache.sysds.parser.StatementBlockDEFAULT_LOOP_REPETITIONS
 
- 
 - 
Constructor SummaryConstructors Constructor Description FunctionStatementBlock()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description VariableSetanalyze(VariableSet loPassed)VariableSetanalyze(VariableSet liPassed, VariableSet loPassed)Types.FunctionBlockcloneFunctionBlock()FunctionOp.FunctionTypegetFunctionOpType()VariableSetinitializebackwardLV(VariableSet loPassed)VariableSetinitializeforwardLV(VariableSet activeInPassed)For each statement: gen rule: for each variable read in current statement but not updated in any PRIOR statement, add to gen Handles case where variable both read and updated in same statement (i = i + 1, i needs to be added to gen) kill rule: for each variable updated in current statement but not read in this or any PRIOR statement, add to kill.booleanisNondeterministic()booleanisRecompileOnce()voidsetNondeterministic(boolean flag)voidsetRecompileOnce(boolean flag)voidupdateRepetitionEstimates(double repetitions)Updates the repetition estimate for this statement block and all contained hops.VariableSetvalidate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional)TODO: DRB: This needs to be changed to reflect: 1) Default values for variables -- need to add R styled check here to make sure that once vars with default values start, they keep going to the right 2) The other parameters for External Functions- 
Methods inherited from class org.apache.sysds.parser.StatementBlockaddStatement, addStatementBlock, getBeginColumn, getBeginLine, getConstIn, getConstOut, getDMLProg, getEndColumn, getEndLine, getFilename, getHops, getInputstoSB, getLops, getName, getNumStatements, getOutputNamesofSB, getOutputsofSB, getSBID, getStatement, getStatements, getText, getUpdateInPlaceVars, hasHops, isMergeableFunctionCallBlock, isRewritableFunctionCall, isSplitDag, mergeable, mergeFunctionCalls, mergeStatementBlocks, printBlockErrorLocation, printErrorLocation, printWarningLocation, raiseValidateError, raiseValidateError, requiresRecompilation, rewriteFunctionCallStatements, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, rHoistFunctionCallsFromExpressions, setBeginColumn, setBeginLine, setDMLProg, setEndColumn, setEndLine, setFilename, setHops, setLops, setParseInfo, setSplitDag, setStatementFormatType, setStatementFormatType, setStatements, setText, setUpdateInPlaceVars, toString, updateRecompilationFlag
 - 
Methods inherited from class org.apache.sysds.parser.LiveVariableAnalysisgetGen, getKill, getWarn, liveIn, liveOut, setGen, setKill, setLiveIn, setLiveOut, setReadVariables, setUpdatedVariables, updateLiveVariablesOut, variablesRead, variablesUpdated
 
- 
 
- 
- 
- 
Method Detail- 
validatepublic VariableSet validate(DMLProgram dmlProg, VariableSet ids, HashMap<String,ConstIdentifier> constVars, boolean conditional) TODO: DRB: This needs to be changed to reflect: 1) Default values for variables -- need to add R styled check here to make sure that once vars with default values start, they keep going to the right 2) The other parameters for External Functions- Overrides:
- validatein class- StatementBlock
 
 - 
getFunctionOpTypepublic FunctionOp.FunctionType getFunctionOpType() 
 - 
initializeforwardLVpublic VariableSet initializeforwardLV(VariableSet activeInPassed) Description copied from class:StatementBlockFor each statement: gen rule: for each variable read in current statement but not updated in any PRIOR statement, add to gen Handles case where variable both read and updated in same statement (i = i + 1, i needs to be added to gen) kill rule: for each variable updated in current statement but not read in this or any PRIOR statement, add to kill.- Overrides:
- initializeforwardLVin class- StatementBlock
 
 - 
initializebackwardLVpublic VariableSet initializebackwardLV(VariableSet loPassed) - Overrides:
- initializebackwardLVin class- StatementBlock
 
 - 
analyzepublic VariableSet analyze(VariableSet loPassed) - Overrides:
- analyzein class- StatementBlock
 
 - 
analyzepublic VariableSet analyze(VariableSet liPassed, VariableSet loPassed) 
 - 
setRecompileOncepublic void setRecompileOnce(boolean flag) 
 - 
isRecompileOncepublic boolean isRecompileOnce() 
 - 
setNondeterministicpublic void setNondeterministic(boolean flag) - Overrides:
- setNondeterministicin class- StatementBlock
 
 - 
isNondeterministicpublic boolean isNondeterministic() - Overrides:
- isNondeterministicin class- StatementBlock
 
 - 
cloneFunctionBlockpublic Types.FunctionBlock cloneFunctionBlock() - Specified by:
- cloneFunctionBlockin interface- Types.FunctionBlock
 
 - 
updateRepetitionEstimatespublic void updateRepetitionEstimates(double repetitions) Description copied from class:StatementBlockUpdates the repetition estimate for this statement block and all contained hops. FunctionStatementBlocks are loaded from the function dictionary and repetitions are estimated for the contained statement blocks. This method is overridden in the subclasses of StatementBlock.- Overrides:
- updateRepetitionEstimatesin class- StatementBlock
- Parameters:
- repetitions- estimated for this statement block
 
 
- 
 
-