blob: c4a57dce0c7dcab96e5445e5519835c1db3af75b [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TemplateOuterProduct (SystemDS 2.1.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="TemplateOuterProduct (SystemDS 2.1.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":9,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TemplateOuterProduct.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateMultiAgg.html" title="class in org.apache.sysds.hops.codegen.template"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateRow.html" title="class in org.apache.sysds.hops.codegen.template"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html" target="_top">Frames</a></li>
<li><a href="TemplateOuterProduct.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.hops.codegen.template.TemplateBase">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.sysds.hops.codegen.template</div>
<h2 title="Class TemplateOuterProduct" class="title">Class TemplateOuterProduct</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">org.apache.sysds.hops.codegen.template.TemplateBase</a></li>
<li>
<ul class="inheritance">
<li>org.apache.sysds.hops.codegen.template.TemplateOuterProduct</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">TemplateOuterProduct</span>
extends <a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.sysds.hops.codegen.template.TemplateBase">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.hops.codegen.template.<a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></h3>
<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.CloseType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.TemplateType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.TemplateType</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html#TemplateOuterProduct--">TemplateOuterProduct</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html#TemplateOuterProduct-org.apache.sysds.hops.codegen.template.TemplateBase.CloseType-">TemplateOuterProduct</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.CloseType</a>&nbsp;ctype)</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.CloseType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html#close-org.apache.sysds.hops.Hop-">close</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>
<div class="block">Indicates if the template must be closed at the current hop; either
due to final operations (e.g., aggregate) or unsupported operations.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>[],<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html#constructCplan-org.apache.sysds.hops.Hop-org.apache.sysds.hops.codegen.template.CPlanMemoTable-boolean-">constructCplan</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a>&nbsp;memo,
boolean&nbsp;compileLiterals)</code>
<div class="block">Constructs a single cplan rooted at the given hop, according
to the plan given in the memo structure for this particular
hop and its recursive inputs.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html#dropAlternativePlan-org.apache.sysds.hops.codegen.template.CPlanMemoTable-org.apache.sysds.hops.codegen.template.CPlanMemoTable.MemoTableEntry-org.apache.sysds.hops.codegen.template.CPlanMemoTable.MemoTableEntry-">dropAlternativePlan</a></span>(<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a>&nbsp;memo,
<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a>&nbsp;me1,
<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a>&nbsp;me2)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html#fuse-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">fuse</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>
<div class="block">Indicates if the template can be expanded to the given hop
starting from an open template at the input.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html#merge-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">merge</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</code>
<div class="block">Indicates if the template at the current hop can be expanded
by merging another template available for one of its other inputs
which is not yet covered by the template of the current hop.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html#open-org.apache.sysds.hops.Hop-">open</a></span>(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</code>
<div class="block">Indicates if this template can be opened at the given hop,
where hop represents bottom (first operation on the inputs)
of the fused operator.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.hops.codegen.template.TemplateBase">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.sysds.hops.codegen.template.<a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></h3>
<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#equals-java.lang.Object-">equals</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#getCType--">getCType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#getType--">getType</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#hashCode--">hashCode</a>, <a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#isClosed--">isClosed</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TemplateOuterProduct--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TemplateOuterProduct</h4>
<pre>public&nbsp;TemplateOuterProduct()</pre>
</li>
</ul>
<a name="TemplateOuterProduct-org.apache.sysds.hops.codegen.template.TemplateBase.CloseType-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TemplateOuterProduct</h4>
<pre>public&nbsp;TemplateOuterProduct(<a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.CloseType</a>&nbsp;ctype)</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="open-org.apache.sysds.hops.Hop-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>open</h4>
<pre>public&nbsp;boolean&nbsp;open(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#open-org.apache.sysds.hops.Hop-">TemplateBase</a></code></span></div>
<div class="block">Indicates if this template can be opened at the given hop,
where hop represents bottom (first operation on the inputs)
of the fused operator.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#open-org.apache.sysds.hops.Hop-">open</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hop</code> - current hop</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if template can be opened</dd>
</dl>
</li>
</ul>
<a name="fuse-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fuse</h4>
<pre>public&nbsp;boolean&nbsp;fuse(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#fuse-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TemplateBase</a></code></span></div>
<div class="block">Indicates if the template can be expanded to the given hop
starting from an open template at the input.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#fuse-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">fuse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hop</code> - current hop</dd>
<dd><code>input</code> - hop with open template of same type</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the current hop can be fused into the operator.</dd>
</dl>
</li>
</ul>
<a name="merge-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>merge</h4>
<pre>public&nbsp;boolean&nbsp;merge(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;input)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#merge-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">TemplateBase</a></code></span></div>
<div class="block">Indicates if the template at the current hop can be expanded
by merging another template available for one of its other inputs
which is not yet covered by the template of the current hop.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#merge-org.apache.sysds.hops.Hop-org.apache.sysds.hops.Hop-">merge</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hop</code> - current hop</dd>
<dd><code>input</code> - direct input of current hop with available template</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the the input hop can be fused into the current hop</dd>
</dl>
</li>
</ul>
<a name="close-org.apache.sysds.hops.Hop-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.CloseType.html" title="enum in org.apache.sysds.hops.codegen.template">TemplateBase.CloseType</a>&nbsp;close(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#close-org.apache.sysds.hops.Hop-">TemplateBase</a></code></span></div>
<div class="block">Indicates if the template must be closed at the current hop; either
due to final operations (e.g., aggregate) or unsupported operations.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#close-org.apache.sysds.hops.Hop-">close</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hop</code> - current hop</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>close type (closed invalid, closed valid, open)</dd>
</dl>
</li>
</ul>
<a name="constructCplan-org.apache.sysds.hops.Hop-org.apache.sysds.hops.codegen.template.CPlanMemoTable-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>constructCplan</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/matrix/data/Pair.html" title="class in org.apache.sysds.runtime.matrix.data">Pair</a>&lt;<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>[],<a href="../../../../../../org/apache/sysds/hops/codegen/cplan/CNodeTpl.html" title="class in org.apache.sysds.hops.codegen.cplan">CNodeTpl</a>&gt;&nbsp;constructCplan(<a href="../../../../../../org/apache/sysds/hops/Hop.html" title="class in org.apache.sysds.hops">Hop</a>&nbsp;hop,
<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a>&nbsp;memo,
boolean&nbsp;compileLiterals)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#constructCplan-org.apache.sysds.hops.Hop-org.apache.sysds.hops.codegen.template.CPlanMemoTable-boolean-">TemplateBase</a></code></span></div>
<div class="block">Constructs a single cplan rooted at the given hop, according
to the plan given in the memo structure for this particular
hop and its recursive inputs.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html#constructCplan-org.apache.sysds.hops.Hop-org.apache.sysds.hops.codegen.template.CPlanMemoTable-boolean-">constructCplan</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateBase.html" title="class in org.apache.sysds.hops.codegen.template">TemplateBase</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>hop</code> - root of cplan</dd>
<dd><code>memo</code> - memoization table for partial subplans</dd>
<dd><code>compileLiterals</code> - if true compile non-integer literals
as constants, otherwise variables. note: integer literals are
always compiled as constants.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>pair containing hops and code template</dd>
</dl>
</li>
</ul>
<a name="dropAlternativePlan-org.apache.sysds.hops.codegen.template.CPlanMemoTable-org.apache.sysds.hops.codegen.template.CPlanMemoTable.MemoTableEntry-org.apache.sysds.hops.codegen.template.CPlanMemoTable.MemoTableEntry-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>dropAlternativePlan</h4>
<pre>public static&nbsp;<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a>&nbsp;dropAlternativePlan(<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable</a>&nbsp;memo,
<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a>&nbsp;me1,
<a href="../../../../../../org/apache/sysds/hops/codegen/template/CPlanMemoTable.MemoTableEntry.html" title="class in org.apache.sysds.hops.codegen.template">CPlanMemoTable.MemoTableEntry</a>&nbsp;me2)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TemplateOuterProduct.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateMultiAgg.html" title="class in org.apache.sysds.hops.codegen.template"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/sysds/hops/codegen/template/TemplateRow.html" title="class in org.apache.sysds.hops.codegen.template"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/hops/codegen/template/TemplateOuterProduct.html" target="_top">Frames</a></li>
<li><a href="TemplateOuterProduct.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.classes.inherited.from.class.org.apache.sysds.hops.codegen.template.TemplateBase">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>