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

- Packages that use CNode
  Package | Description
  --- | ---
  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
    Modifier and Type | Class and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `CNode` | CNode.`getOutput()`

    Methods in org.apache.sysds.hops.codegen.cplan that return types with arguments of type CNode
    Modifier and Type | Method and Description
    --- | ---
    `ArrayList<CNode>` | CNode.`getInput()`
    `ArrayList<CNode>` | CNodeMultiAgg.`getOutputs()`

    Methods in org.apache.sysds.hops.codegen.cplan with parameters of type CNode
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Constructor and Description
    `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
    Constructor and Description
    `CNodeCell(ArrayList<CNode> inputs, CNode output)`
    `CNodeMultiAgg(ArrayList<CNode> inputs, ArrayList<CNode> outputs)`
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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.`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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `static String` | Explain.`explain(CNode node)`
    `static String` | Explain.`explain(CNode node, int level)`

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