## 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 | 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 | Description
    --- | --- | ---
    `CNode` | CNode.`getOutput()` |

    Methods in org.apache.sysds.hops.codegen.cplan that return types with arguments of type CNode
    Modifier and Type | Method | 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 | 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 | 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 | 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 | Description
    --- | ---
    `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
    Modifier and Type | Method | 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 | 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.`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
    Modifier and Type | Method | 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 | Description
    --- | --- | ---
    `static String` | Explain.`explain​(CNode node)` |
    `static String` | Explain.`explain​(CNode node, int level)` |