blob: a2c8d5206872c6d67d4c5a50d5e8e49c7d5d4678 [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>ColGroupSDCZeros (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="ColGroupSDCZeros (SystemDS 2.1.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10};
var tabs = {65535:["t0","All 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/ColGroupSDCZeros.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/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" target="_top">Frames</a></li>
<li><a href="ColGroupSDCZeros.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.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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.runtime.compress.colgroup</div>
<h2 title="Class ColGroupSDCZeros" class="title">Class ColGroupSDCZeros</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/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.AColGroup</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">org.apache.sysds.runtime.compress.colgroup.ColGroupValue</a></li>
<li>
<ul class="inheritance">
<li>org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">ColGroupSDCZeros</span>
extends <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></pre>
<div class="block">Column group that sparsely encodes the dictionary values. The idea is that all values is encoded with indexes except
the most common one. the most common one can be inferred by not being included in the indexes.
If the values are very sparse then the most common one is zero. This is the case for this column group, that
specifically exploits that the column contain lots of zero values.
This column group is handy in cases where sparse unsafe operations is executed on very sparse columns.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../serialized-form.html#org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros">Serialized Form</a></dd>
</dl>
</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.runtime.compress.colgroup.AColGroup">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></li>
</ul>
</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="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/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
double[]&nbsp;v,
boolean&nbsp;sparseSafe,
boolean&nbsp;left)</code>
<div class="block">Perform a binary row operation.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></span>(int[]&nbsp;rnnz,
int&nbsp;rl,
int&nbsp;ru)</code>
<div class="block">Count the number of non-zeros per row</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></span>(double[]&nbsp;c,
int&nbsp;colpos,
int&nbsp;rl,
int&nbsp;ru)</code>
<div class="block">Decompress to dense array.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;colpos)</code>
<div class="block">Decompress to block.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;colpos,
int&nbsp;rl,
int&nbsp;ru)</code>
<div class="block">Decompress to block.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int[]&nbsp;colIndexTargets)</code>
<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;rl,
int&nbsp;ru,
int&nbsp;offT,
double[]&nbsp;values)</code>
<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
non zeros.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;rl,
int&nbsp;ru,
int&nbsp;offT,
double[]&nbsp;values)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#estimateInMemorySize--">estimateInMemorySize</a></span>()</code>
<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#get-int-int-">get</a></span>(int&nbsp;r,
int&nbsp;c)</code>
<div class="block">Get the value at a global row/column position.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getColGroupType--">getColGroupType</a></span>()</code>
<div class="block">Internally get the specific type of ColGroup, this could be extracted from the object but that does not allow for
nice switches in the code.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCompType--">getCompType</a></span>()</code>
<div class="block">Obtain the compression type.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCounts-int:A-">getCounts</a></span>(int[]&nbsp;counts)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getCounts-int-int-int:A-">getCounts</a></span>(int&nbsp;rl,
int&nbsp;ru,
int[]&nbsp;counts)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></span>()</code>
<div class="block">Returns the exact serialized size of column group.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getIndex-int-">getIndex</a></span>(int&nbsp;r)</code>&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#getIndexStructureHash--">getIndexStructureHash</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></span>(double[]&nbsp;a,
double[]&nbsp;c,
double[]&nbsp;values,
int&nbsp;numRows,
int&nbsp;numCols,
int&nbsp;rl,
int&nbsp;ru,
int&nbsp;voff)</code>
<div class="block">Multiply with a matrix on the left.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
double[]&nbsp;c,
double[]&nbsp;values,
int&nbsp;numRows,
int&nbsp;numCols,
int&nbsp;row,
double[]&nbsp;MaterializedRow)</code>
<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>double[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregate-double:A-int-">preAggregate</a></span>(double[]&nbsp;a,
int&nbsp;aRows)</code>
<div class="block">Pre aggregates for left multiplication</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</code>&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</code>&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>double[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></span>(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
int&nbsp;row)</code>
<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#readFields-java.io.DataInput-">readFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)</code>
<div class="block">Deserialize column group from data input.</div>
</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></span>(int[]&nbsp;outputColumns,
double[]&nbsp;preAggregatedB,
double[]&nbsp;c,
int&nbsp;thatNrColumns,
int&nbsp;rl,
int&nbsp;ru)</code>
<div class="block">Right multiply by matrix.</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></span>(double[]&nbsp;vector,
double[]&nbsp;c,
int&nbsp;rl,
int&nbsp;ru,
double[]&nbsp;dictVals)</code>
<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></span>(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</code>&nbsp;</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</code>
<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
cells if possible.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html#write-java.io.DataOutput-">write</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)</code>
<div class="block">Serializes column group to data output.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.ColGroupValue">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></h3>
<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#addMinMax-double:A-">addMinMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#applyBinaryRowOp-org.apache.sysds.runtime.functionobjects.ValueFunction-double:A-boolean-boolean-">applyBinaryRowOp</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#cleanupThreadLocalMemory--">cleanupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#containsValue-double-">containsValue</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copy--">copy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-org.apache.sysds.runtime.compress.colgroup.ADictionary-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#copyAndSet-int:A-double:A-">copyAndSet</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCachedCounts--">getCachedCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts--">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-">getCounts</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getDictionary--">getDictionary</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIfCountsType--">getIfCountsType</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMax--">getMax</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getMin--">getMin</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumberNonZeros--">getNumberNonZeros</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getNumValues--">getNumValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValues--">getValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getValuesAsBlock--">getValuesAsBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#isLossy--">isLossy</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByAggregatedColGroup-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-double:A-int-int-">leftMultByAggregatedColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultByRowVector-double:A-double:A-int-double:A-int-">leftMultByRowVector</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#leftMultBySelfDiagonalColGroup-double:A-int-">leftMultBySelfDiagonalColGroup</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-org.apache.sysds.runtime.data.SparseBlock-">preAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateCONST-org.apache.sysds.runtime.compress.colgroup.ColGroupConst-">preAggregateCONST</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preaggValues-int-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int-int-int-">preaggValues</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preCallAggregate-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">preCallAggregate</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#setupThreadLocalMemory-int-">setupThreadLocalMemory</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sliceColumns-int-int-">sliceColumns</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-">unaryAggregateOperations</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#unaryAggregateOperations-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-double:A-int-int-">unaryAggregateOperations</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.apache.sysds.runtime.compress.colgroup.AColGroup">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.sysds.runtime.compress.colgroup.<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></h3>
<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToArray-double:A-int-java.util.List-">decompressColumnToArray</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-java.util.List-">decompressColumnToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-java.util.List-">decompressColumnToBlockUnSafe</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-boolean-">decompressToBlock</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndex-int-">getColIndex</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColIndices--">getColIndices</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumCols--">getNumCols</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getNumRows--">getNumRows</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#isDense--">isDense</a>, <a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#shiftColIndices-int-">shiftColIndices</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#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <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#hashCode--" title="class or interface in java.lang">hashCode</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#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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getCompType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCompType</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.CompressionType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.CompressionType</a>&nbsp;getCompType()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">AColGroup</a></code></span></div>
<div class="block">Obtain the compression type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getCompType--">getCompType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>How the elements of the column group are compressed.</dd>
</dl>
</li>
</ul>
<a name="getColGroupType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColGroupType</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.ColGroupType.html" title="enum in org.apache.sysds.runtime.compress.colgroup">AColGroup.ColGroupType</a>&nbsp;getColGroupType()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">AColGroup</a></code></span></div>
<div class="block">Internally get the specific type of ColGroup, this could be extracted from the object but that does not allow for
nice switches in the code.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getColGroupType--">getColGroupType</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ColGroupType of the object.</dd>
</dl>
</li>
</ul>
<a name="decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompressToBlockSafe</h4>
<pre>public&nbsp;void&nbsp;decompressToBlockSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;rl,
int&nbsp;ru,
int&nbsp;offT,
double[]&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">AColGroup</a></code></span></div>
<div class="block">Decompress the contents of this column group into the specified full matrix block without managing the number of
non zeros.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - a matrix block where the columns covered by this column group have not yet been filled in.</dd>
<dd><code>rl</code> - row lower</dd>
<dd><code>ru</code> - row upper</dd>
<dd><code>offT</code> - Offset into target to assign from</dd>
<dd><code>values</code> - The Values materialized in the dictionary</dd>
</dl>
</li>
</ul>
<a name="decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompressToBlockUnSafe</h4>
<pre>public&nbsp;void&nbsp;decompressToBlockUnSafe(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;rl,
int&nbsp;ru,
int&nbsp;offT,
double[]&nbsp;values)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlockUnSafe-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-double:A-">decompressToBlockUnSafe</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
</dl>
</li>
</ul>
<a name="decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompressToBlock</h4>
<pre>public&nbsp;void&nbsp;decompressToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int[]&nbsp;colIndexTargets)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">AColGroup</a></code></span></div>
<div class="block">Decompress the contents of this column group into uncompressed packed columns</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int:A-">decompressToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - a dense matrix block. The block must have enough space to hold the contents of this column
group.</dd>
<dd><code>colIndexTargets</code> - array that maps column indices in the original matrix block to columns of target.</dd>
</dl>
</li>
</ul>
<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompressColumnToBlock</h4>
<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;colpos)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">AColGroup</a></code></span></div>
<div class="block">Decompress to block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - dense output vector</dd>
<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
</dl>
</li>
</ul>
<a name="decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompressColumnToBlock</h4>
<pre>public&nbsp;void&nbsp;decompressColumnToBlock(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;target,
int&nbsp;colpos,
int&nbsp;rl,
int&nbsp;ru)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">AColGroup</a></code></span></div>
<div class="block">Decompress to block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - dense output vector</dd>
<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
<dd><code>rl</code> - the Row to start decompression from</dd>
<dd><code>ru</code> - the Row to end decompression at</dd>
</dl>
</li>
</ul>
<a name="decompressColumnToBlock-double:A-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decompressColumnToBlock</h4>
<pre>public&nbsp;void&nbsp;decompressColumnToBlock(double[]&nbsp;c,
int&nbsp;colpos,
int&nbsp;rl,
int&nbsp;ru)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">AColGroup</a></code></span></div>
<div class="block">Decompress to dense array.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#decompressColumnToBlock-double:A-int-int-int-">decompressColumnToBlock</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>c</code> - dense output vector double array.</dd>
<dd><code>colpos</code> - column to decompress, error if larger or equal numCols</dd>
<dd><code>rl</code> - the Row to start decompression from</dd>
<dd><code>ru</code> - the Row to end decompression at</dd>
</dl>
</li>
</ul>
<a name="get-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;double&nbsp;get(int&nbsp;r,
int&nbsp;c)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">AColGroup</a></code></span></div>
<div class="block">Get the value at a global row/column position.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#get-int-int-">get</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>r</code> - row</dd>
<dd><code>c</code> - column</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>value at the row/column position</dd>
</dl>
</li>
</ul>
<a name="countNonZerosPerRow-int:A-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>countNonZerosPerRow</h4>
<pre>public&nbsp;void&nbsp;countNonZerosPerRow(int[]&nbsp;rnnz,
int&nbsp;rl,
int&nbsp;ru)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">AColGroup</a></code></span></div>
<div class="block">Count the number of non-zeros per row</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#countNonZerosPerRow-int:A-int-int-">countNonZerosPerRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rnnz</code> - non-zeros per row</dd>
<dd><code>rl</code> - row lower bound, inclusive</dd>
<dd><code>ru</code> - row upper bound, exclusive</dd>
</dl>
</li>
</ul>
<a name="getCounts-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCounts</h4>
<pre>public&nbsp;int[]&nbsp;getCounts(int[]&nbsp;counts)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="getCounts-int-int-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCounts</h4>
<pre>public&nbsp;int[]&nbsp;getCounts(int&nbsp;rl,
int&nbsp;ru,
int[]&nbsp;counts)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getCounts-int-int-int:A-">getCounts</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="getIndex-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIndex</h4>
<pre>public&nbsp;int&nbsp;getIndex(int&nbsp;r)</pre>
</li>
</ul>
<a name="leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leftMultByMatrix</h4>
<pre>public&nbsp;void&nbsp;leftMultByMatrix(double[]&nbsp;a,
double[]&nbsp;c,
double[]&nbsp;values,
int&nbsp;numRows,
int&nbsp;numCols,
int&nbsp;rl,
int&nbsp;ru,
int&nbsp;voff)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">AColGroup</a></code></span></div>
<div class="block">Multiply with a matrix on the left.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultByMatrix-double:A-double:A-double:A-int-int-int-int-int-">leftMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>a</code> - matrix to left multiply</dd>
<dd><code>c</code> - matrix block result</dd>
<dd><code>values</code> - The materialized list of values contained in the dictionary.</dd>
<dd><code>numRows</code> - The number of rows in the matrix input</dd>
<dd><code>numCols</code> - The number of columns in the colGroups parent matrix.</dd>
<dd><code>rl</code> - The row to start the matrix multiplication from</dd>
<dd><code>ru</code> - The row to stop the matrix multiplication at.</dd>
<dd><code>voff</code> - The offset into the first argument matrix to start at.</dd>
</dl>
</li>
</ul>
<a name="leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>leftMultBySparseMatrix</h4>
<pre>public&nbsp;void&nbsp;leftMultBySparseMatrix(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
double[]&nbsp;c,
double[]&nbsp;values,
int&nbsp;numRows,
int&nbsp;numCols,
int&nbsp;row,
double[]&nbsp;MaterializedRow)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">AColGroup</a></code></span></div>
<div class="block">Multiply with a sparse matrix on the left hand side, and add the values to the output result</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#leftMultBySparseMatrix-org.apache.sysds.runtime.data.SparseBlock-double:A-double:A-int-int-int-double:A-">leftMultBySparseMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sb</code> - The sparse block to multiply with</dd>
<dd><code>c</code> - The linearized output matrix</dd>
<dd><code>values</code> - The dictionary values materialized</dd>
<dd><code>numRows</code> - The number of rows in the left hand side input matrix (the sparse one)</dd>
<dd><code>numCols</code> - The number of columns in the compression.</dd>
<dd><code>row</code> - The row index of the sparse row to multiply with.</dd>
<dd><code>MaterializedRow</code> - A Temporary dense row vector to materialize the sparse values into used for OLE</dd>
</dl>
</li>
</ul>
<a name="preAggregate-double:A-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preAggregate</h4>
<pre>public&nbsp;double[]&nbsp;preAggregate(double[]&nbsp;a,
int&nbsp;aRows)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">ColGroupValue</a></code></span></div>
<div class="block">Pre aggregates for left multiplication</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregate-double:A-int-">preAggregate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>a</code> - The input dense vector or matrix to aggregate</dd>
<dd><code>aRows</code> - The row index to aggregate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The pre-aggregated values.</dd>
</dl>
</li>
</ul>
<a name="preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preAggregateSparse</h4>
<pre>public&nbsp;double[]&nbsp;preAggregateSparse(<a href="../../../../../../org/apache/sysds/runtime/data/SparseBlock.html" title="class in org.apache.sysds.runtime.data">SparseBlock</a>&nbsp;sb,
int&nbsp;row)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">ColGroupValue</a></code></span></div>
<div class="block">Pre aggregate for left multiplication of sparse vector or matrix.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSparse-org.apache.sysds.runtime.data.SparseBlock-int-">preAggregateSparse</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>sb</code> - The input sparse vector or matrix to aggregate</dd>
<dd><code>row</code> - The row index to aggregate</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The pre-aggregated values.</dd>
</dl>
</li>
</ul>
<a name="estimateInMemorySize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>estimateInMemorySize</h4>
<pre>public&nbsp;long&nbsp;estimateInMemorySize()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">AColGroup</a></code></span></div>
<div class="block">Note: Must be overridden by child classes to account for additional data and metadata</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#estimateInMemorySize--">estimateInMemorySize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an upper bound on the number of bytes used to store this ColGroup in memory.</dd>
</dl>
</li>
</ul>
<a name="rightMultByVector-double:A-double:A-int-int-double:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rightMultByVector</h4>
<pre>public&nbsp;void&nbsp;rightMultByVector(double[]&nbsp;vector,
double[]&nbsp;c,
int&nbsp;rl,
int&nbsp;ru,
double[]&nbsp;dictVals)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">AColGroup</a></code></span></div>
<div class="block">Multiply the slice of the matrix that this column group represents by a vector on the right.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByVector-double:A-double:A-int-int-double:A-">rightMultByVector</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vector</code> - Vector to multiply by (tall vector)</dd>
<dd><code>c</code> - Accumulator for holding the result</dd>
<dd><code>rl</code> - Row to start at</dd>
<dd><code>ru</code> - Row to stop at</dd>
<dd><code>dictVals</code> - The dictionary values materialized</dd>
</dl>
</li>
</ul>
<a name="rightMultByMatrix-int:A-double:A-double:A-int-int-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rightMultByMatrix</h4>
<pre>public&nbsp;void&nbsp;rightMultByMatrix(int[]&nbsp;outputColumns,
double[]&nbsp;preAggregatedB,
double[]&nbsp;c,
int&nbsp;thatNrColumns,
int&nbsp;rl,
int&nbsp;ru)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">AColGroup</a></code></span></div>
<div class="block">Right multiply by matrix. for which the compressed matrix is on the left and the uncompressed is on the right.
Note that there is no b argument, but the b is aggregated into the values needed for assignment and addition into
output.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#rightMultByMatrix-int:A-double:A-double:A-int-int-int-">rightMultByMatrix</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>outputColumns</code> - The Columns that are affected by the right multiplication.</dd>
<dd><code>preAggregatedB</code> - The preAggregated values that is to be put into c</dd>
<dd><code>c</code> - The output matrix</dd>
<dd><code>thatNrColumns</code> - The number of columns in B (before aggregation)</dd>
<dd><code>rl</code> - The row index to start the multiplication from</dd>
<dd><code>ru</code> - The row index to stop the multiplication at</dd>
</dl>
</li>
</ul>
<a name="scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>scalarOperation</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;scalarOperation(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/ScalarOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">ScalarOperator</a>&nbsp;op)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">AColGroup</a></code></span></div>
<div class="block">Perform the specified scalar operation directly on the compressed column group, without decompressing individual
cells if possible.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#scalarOperation-org.apache.sysds.runtime.matrix.operators.ScalarOperator-">scalarOperation</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>op</code> - operation to perform</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>version of this column group with the operation applied</dd>
</dl>
</li>
</ul>
<a name="binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binaryRowOp</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a>&nbsp;binaryRowOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
double[]&nbsp;v,
boolean&nbsp;sparseSafe,
boolean&nbsp;left)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">AColGroup</a></code></span></div>
<div class="block">Perform a binary row operation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#binaryRowOp-org.apache.sysds.runtime.matrix.operators.BinaryOperator-double:A-boolean-boolean-">binaryRowOp</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html" title="class in org.apache.sysds.runtime.compress.colgroup">AColGroup</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>op</code> - The operation to execute</dd>
<dd><code>v</code> - The vector of values to apply, should be same length as dictionary length.</dd>
<dd><code>sparseSafe</code> - True if the operation return 0 on all instances of values in v -- op(v[?], 0)</dd>
<dd><code>left</code> - Specifies if the operation is executed on the left or right side of the values contained.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A updated column group with the new values.</dd>
</dl>
</li>
</ul>
<a name="write-java.io.DataOutput-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>write</h4>
<pre>public&nbsp;void&nbsp;write(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataOutput.html?is-external=true" title="class or interface in java.io">DataOutput</a>&nbsp;out)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#write-java.io.DataOutput-">AColGroup</a></code></span></div>
<div class="block">Serializes column group to data output.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#write-java.io.DataOutput-">write</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - data output</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
</dl>
</li>
</ul>
<a name="readFields-java.io.DataInput-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readFields</h4>
<pre>public&nbsp;void&nbsp;readFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/DataInput.html?is-external=true" title="class or interface in java.io">DataInput</a>&nbsp;in)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#readFields-java.io.DataInput-">AColGroup</a></code></span></div>
<div class="block">Deserialize column group from data input.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#readFields-java.io.DataInput-">readFields</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>in</code> - data input</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code> - if IOException occurs</dd>
</dl>
</li>
</ul>
<a name="getExactSizeOnDisk--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExactSizeOnDisk</h4>
<pre>public&nbsp;long&nbsp;getExactSizeOnDisk()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/AColGroup.html#getExactSizeOnDisk--">AColGroup</a></code></span></div>
<div class="block">Returns the exact serialized size of column group. This can be used for example for buffer preallocation.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getExactSizeOnDisk--">getExactSizeOnDisk</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>exact serialized size for column group</dd>
</dl>
</li>
</ul>
<a name="sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sameIndexStructure</h4>
<pre>public&nbsp;boolean&nbsp;sameIndexStructure(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a>&nbsp;that)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#sameIndexStructure-org.apache.sysds.runtime.compress.colgroup.ColGroupValue-">sameIndexStructure</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="getIndexStructureHash--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIndexStructureHash</h4>
<pre>public&nbsp;int&nbsp;getIndexStructureHash()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#getIndexStructureHash--">getIndexStructureHash</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#toString--">toString</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preAggregateDDC</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateDDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupDDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupDDC</a>&nbsp;lhs)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateDDC-org.apache.sysds.runtime.compress.colgroup.ColGroupDDC-">preAggregateDDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preAggregateSDC</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDC(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDC.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDC</a>&nbsp;lhs)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDC-org.apache.sysds.runtime.compress.colgroup.ColGroupSDC-">preAggregateSDC</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preAggregateSDCSingle</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingle(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingle.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingle</a>&nbsp;lhs)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingle-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingle-">preAggregateSDCSingle</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preAggregateSDCZeros</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCZeros</a>&nbsp;lhs)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCZeros-">preAggregateSDCZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preAggregateSDCSingleZeros</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateSDCSingleZeros(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupSDCSingleZeros</a>&nbsp;lhs)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateSDCSingleZeros-org.apache.sysds.runtime.compress.colgroup.ColGroupSDCSingleZeros-">preAggregateSDCSingleZeros</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>preAggregateOLE</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateOLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupOLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupOLE</a>&nbsp;lhs)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateOLE-org.apache.sysds.runtime.compress.colgroup.ColGroupOLE-">preAggregateOLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</li>
</ul>
<a name="preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>preAggregateRLE</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/pre/IPreAggregate.html" title="interface in org.apache.sysds.runtime.compress.colgroup.pre">IPreAggregate</a>&nbsp;preAggregateRLE(<a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupRLE.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupRLE</a>&nbsp;lhs)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html#preAggregateRLE-org.apache.sysds.runtime.compress.colgroup.ColGroupRLE-">preAggregateRLE</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupValue.html" title="class in org.apache.sysds.runtime.compress.colgroup">ColGroupValue</a></code></dd>
</dl>
</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/ColGroupSDCZeros.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/runtime/compress/colgroup/ColGroupSDCSingleZeros.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/sysds/runtime/compress/colgroup/ColGroupSizes.html" title="class in org.apache.sysds.runtime.compress.colgroup"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/compress/colgroup/ColGroupSDCZeros.html" target="_top">Frames</a></li>
<li><a href="ColGroupSDCZeros.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.runtime.compress.colgroup.AColGroup">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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>