## Uses of Class
org.apache.sysds.hops.codegen.cplan.CNode

Packages that use CNode
org.apache.sysds.hops.codegen.cplan
org.apache.sysds.hops.codegen.template
org.apache.sysds.utils

### Uses of CNode in org.apache.sysds.hops.codegen.cplan

Subclasses of CNode in org.apache.sysds.hops.codegen.cplan
`class` `CNodeBinary`
`class` `CNodeCell`
`class` `CNodeData`
`class` `CNodeMultiAgg`
`class` `CNodeNary`
`class` `CNodeOuterProduct`
`class` `CNodeRow`
`class` `CNodeTernary`
`class` `CNodeTpl`
`class` `CNodeUnary`

Methods in org.apache.sysds.hops.codegen.cplan that return CNode
`CNode` CNode.`getOutput()`

Methods in org.apache.sysds.hops.codegen.cplan that return types with arguments of type CNode
`ArrayList<CNode>` CNode.`getInput()`
`ArrayList<CNode>` CNodeMultiAgg.`getOutputs()`

Methods in org.apache.sysds.hops.codegen.cplan with parameters of type CNode
`void` CNodeTpl.`addInput​(CNode in)`
`void` CNodeTpl.`rReorderCommutativeBinaryOps​(CNode node, long mainHopID)`
`void` CNode.`setOutput​(CNode output)`

Method parameters in org.apache.sysds.hops.codegen.cplan with type arguments of type CNode
`String` CNodeNary.NaryType.`getTemplate​(boolean sparseGen, long len, ArrayList<CNode> inputs, SpoofCompiler.GeneratorAPI api)`
`static void` CNodeTpl.`resetVisitStatus​(List<CNode> outputs)`

Constructors in org.apache.sysds.hops.codegen.cplan with parameters of type CNode
`CNodeBinary​(CNode in1, CNode in2, CNodeBinary.BinType type)`
`CNodeCell​(ArrayList<CNode> inputs, CNode output)`
`CNodeNary​(CNode[] inputs, CNodeNary.NaryType type)`
`CNodeOuterProduct​(ArrayList<CNode> inputs, CNode output, MMTSJ.MMTSJType mmtsj)`
`CNodeRow​(ArrayList<CNode> inputs, CNode output)`
`CNodeTernary​(CNode in1, CNode in2, CNode in3, CNodeTernary.TernaryType type)`
`CNodeTpl​(ArrayList<CNode> inputs, CNode output)`
`CNodeUnary​(CNode in1, CNodeUnary.UnaryType type)`

Constructor parameters in org.apache.sysds.hops.codegen.cplan with type arguments of type CNode
`CNodeCell​(ArrayList<CNode> inputs, CNode output)`
`CNodeMultiAgg​(ArrayList<CNode> inputs, ArrayList<CNode> outputs)`
`CNodeOuterProduct​(ArrayList<CNode> inputs, CNode output, MMTSJ.MMTSJType mmtsj)`
`CNodeRow​(ArrayList<CNode> inputs, CNode output)`
`CNodeTpl​(ArrayList<CNode> inputs, CNode output)`

### Uses of CNode in org.apache.sysds.hops.codegen.template

Methods in org.apache.sysds.hops.codegen.template that return CNode
`static CNode` TemplateUtils.`skipTranspose​(CNode cdataOrig, Hop hop, HashMap<Long,​CNode> tmp, boolean compileLiterals)`
`static CNode` TemplateUtils.`wrapLookupIfNecessary​(CNode node, Hop hop)`
`static CNode` TemplateUtils.`wrapLookupIfNecessary​(CNode node, Hop hop, boolean rowTpl)`

Methods in org.apache.sysds.hops.codegen.template with parameters of type CNode
`static boolean` TemplateUtils.`containsBinary​(CNode node, CNodeBinary.BinType type)`
`static int` TemplateUtils.`countVectorIntermediates​(CNode node)`
`static int` TemplateUtils.`determineMinVectorIntermediates​(CNode node, CNode main)`
`static Map<Long,​Set<Long>>` TemplateUtils.`getAllParents​(CNode node)`
`static void` TemplateUtils.`getAllParents​(CNode node, Map<Long,​Set<Long>> parents)`
`static CNodeData` TemplateUtils.`getLiteral​(CNode node)`
`static int` TemplateUtils.`getMaxLiveVectorIntermediates​(CNode node, CNode main, Map<Long,​Set<Long>> parents, Set<org.apache.commons.lang3.tuple.Pair<Long,​Long>> stack)`
`static int` TemplateUtils.`getMaxVectorIntermediates​(CNode node)`
`static boolean` TemplateUtils.`hasOnlyDataNodeOrLookupInputs​(CNode node)`
`static boolean` TemplateUtils.`isBinary​(CNode node, CNodeBinary.BinType... types)`
`static boolean` TemplateUtils.`isColVector​(CNode hop)`
`static boolean` TemplateUtils.`isLiteral​(CNode node)`
`static boolean` TemplateUtils.`isLiteral​(CNode node, String val)`
`static boolean` TemplateUtils.`isLookup​(CNode node, boolean includeRC1)`
`static boolean` TemplateUtils.`isMatrix​(CNode hop)`
`static boolean` TemplateUtils.`isRowVector​(CNode hop)`
`static boolean` TemplateUtils.`isTernary​(CNode node, CNodeTernary.TernaryType... types)`
`static boolean` TemplateUtils.`isUnary​(CNode node, CNodeUnary.UnaryType... types)`
`static boolean` TemplateUtils.`isUnaryOperatorPipeline​(CNode node)`
`static boolean` TemplateUtils.`isUnaryRowAgg​(CNode node)`
`static boolean` TemplateUtils.`isValidNumVectorIntermediates​(CNode node, CNode main, Map<Long,​Set<Long>> parents, Map<Long,​org.apache.commons.lang3.tuple.Pair<Long,​org.apache.commons.lang3.mutable.MutableInt>> inUse, Set<Long> inUse2, int count)`
`static boolean` TemplateUtils.`rContainsBinary​(CNode node, CNodeBinary.BinType type)`
`static boolean` TemplateUtils.`rContainsInput​(CNode node, long hopID)`
`static void` TemplateUtils.`rFlipVectorLookups​(CNode current)`
`static boolean` TemplateUtils.`rIsSparseSafeOnly​(CNode node, CNodeBinary.BinType... types)`
`static boolean` TemplateUtils.`rIsValidNumVectorIntermediates​(CNode node, CNode main, Map<Long,​Set<Long>> parents, Map<Long,​org.apache.commons.lang3.tuple.Pair<Long,​org.apache.commons.lang3.mutable.MutableInt>> inUse, Set<Long> inUse2, IDSequence buff)`
`static CNode` TemplateUtils.`skipTranspose​(CNode cdataOrig, Hop hop, HashMap<Long,​CNode> tmp, boolean compileLiterals)`
`static CNode` TemplateUtils.`wrapLookupIfNecessary​(CNode node, Hop hop)`
`static CNode` TemplateUtils.`wrapLookupIfNecessary​(CNode node, Hop hop, boolean rowTpl)`

Method parameters in org.apache.sysds.hops.codegen.template with type arguments of type CNode
`static long` TemplateUtils.`skipConditionalInOuterProduct​(Hop hop, HashMap<Long,​CNode> tmp, HashSet<Hop> inHops)`
`static CNode` TemplateUtils.`skipTranspose​(CNode cdataOrig, Hop hop, HashMap<Long,​CNode> tmp, boolean compileLiterals)`

### Uses of CNode in org.apache.sysds.utils

Methods in org.apache.sysds.utils with parameters of type CNode
`static String` Explain.`explain​(CNode node)`
`static String` Explain.`explain​(CNode node, int level)`