blob: 87718a50ad48bd627bcd1fcfb1ac02878bb8eeba [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>LibMatrixOuterAgg (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="LibMatrixOuterAgg (SystemDS 2.1.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/LibMatrixOuterAgg.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/matrix/data/LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" target="_top">Frames</a></li>
<li><a href="LibMatrixOuterAgg.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>Nested&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.matrix.data</div>
<h2 title="Class LibMatrixOuterAgg" class="title">Class LibMatrixOuterAgg</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>org.apache.sysds.runtime.matrix.data.LibMatrixOuterAgg</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">LibMatrixOuterAgg</span>
extends <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></pre>
<div class="block">ACS:
Purpose of this library is to make some of the unary outer aggregate operator more efficient.
Today these operators are being handled through common operations.
This library will expand per need and priority to include these operators through this support.
To begin with, first operator being handled is unary aggregate for less than (&lt;), rowsum operation.
Other list will be added soon are rowsum on &gt;, &lt;=, &gt;=, ==, and != operation.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="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>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#adjustRowIndicesMax-int:A-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">adjustRowIndicesMax</a></span>(int[]&nbsp;vix,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</code>
<div class="block">This function adjusts indices to be leveraged in uarimaxXX functions.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#adjustRowIndicesMin-int:A-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">adjustRowIndicesMin</a></span>(int[]&nbsp;vix,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</code>
<div class="block">This function adjusts indices to be leveraged in uariminXX functions.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#aggregateMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">aggregateMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in1Val,
<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outVal,
double[]&nbsp;bv,
int[]&nbsp;bvi,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#isCompareOperator-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">isCompareOperator</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</code>
<div class="block">This will return if uaggOp is of type RowIndexMin</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#isRowIndexMax-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">isRowIndexMax</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>
<div class="block">This will return if uaggOp is of type RowIndexMax</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#isRowIndexMin-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">isRowIndexMin</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>
<div class="block">This will return if uaggOp is of type RowIndexMin</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#isSupportedUaggOp-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">isSupportedUaggOp</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#prepareRowIndices-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">prepareRowIndices</a></span>(int&nbsp;iCols,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#prepareRowIndicesMax-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">prepareRowIndicesMax</a></span>(int&nbsp;iCols,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</code>
<div class="block">This function will return max indices, based on column vector data.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#prepareRowIndicesMin-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">prepareRowIndicesMin</a></span>(int&nbsp;iCols,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</code>
<div class="block">This function will return min indices, based on column vector data.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#resetOutputMatrix-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">resetOutputMatrix</a></span>(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;in1Ix,
<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in1Val,
<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;outIx,
<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outVal,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</code>
<div class="block">ReSet output matrix</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#setMaxIndexInPartition-int:A-double:A-">setMaxIndexInPartition</a></span>(int[]&nbsp;vix,
double[]&nbsp;vmb)</code>
<div class="block">This function will set maximum index in the partition to all cells in partition.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#setMinIndexInPartition-int:A-double:A-">setMinIndexInPartition</a></span>(int[]&nbsp;vix,
double[]&nbsp;vmb)</code>
<div class="block">This function will set minimum index in the partition to all cells in partition.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#shiftLeft-int:A-double:A-">shiftLeft</a></span>(int[]&nbsp;vix,
double[]&nbsp;vmb)</code>
<div class="block">This function will shift indices from one partition to next in left direction.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html#shiftRight-int:A-double:A-">shiftRight</a></span>(int[]&nbsp;vix,
double[]&nbsp;vmb)</code>
<div class="block">This function will shift indices from one partition to next in right direction.</div>
</td>
</tr>
</table>
<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#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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="isRowIndexMax-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRowIndexMax</h4>
<pre>public static&nbsp;boolean&nbsp;isRowIndexMax(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</pre>
<div class="block">This will return if uaggOp is of type RowIndexMax</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uaggOp</code> - aggregate unary operator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if aggregate unary operator is of type rowIndexMax</dd>
</dl>
</li>
</ul>
<a name="isRowIndexMin-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRowIndexMin</h4>
<pre>public static&nbsp;boolean&nbsp;isRowIndexMin(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</pre>
<div class="block">This will return if uaggOp is of type RowIndexMin</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>uaggOp</code> - aggregate unary operator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if aggregate unary operator is of type rowIndexMin</dd>
</dl>
</li>
</ul>
<a name="isCompareOperator-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCompareOperator</h4>
<pre>public static&nbsp;boolean&nbsp;isCompareOperator(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</pre>
<div class="block">This will return if uaggOp is of type RowIndexMin</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bOp</code> - binary operator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true/false, based on if its one of the six operators (&lt;, &lt;=, &gt;, &gt;=, == and !=)</dd>
</dl>
</li>
</ul>
<a name="isSupportedUaggOp-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupportedUaggOp</h4>
<pre>public static&nbsp;boolean&nbsp;isSupportedUaggOp(<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</pre>
</li>
</ul>
<a name="prepareRowIndices-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareRowIndices</h4>
<pre>public static&nbsp;int[]&nbsp;prepareRowIndices(int&nbsp;iCols,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</pre>
</li>
</ul>
<a name="prepareRowIndicesMax-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareRowIndicesMax</h4>
<pre>public static&nbsp;int[]&nbsp;prepareRowIndicesMax(int&nbsp;iCols,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</pre>
<div class="block">This function will return max indices, based on column vector data.
This indices will be computed based on operator.
These indices can be used to compute max index for a given input value in subsequent operation.
e.g. Right Vector has data (V1) : 6 3 9 7 2 4 4 3
Original indices for this data will be (I1): 1 2 3 4 5 6 7 8
Sorting this data based on value will be (V2): 2 3 3 4 4 6 7 9
Then indices will be ordered as (I2): 5 2 8 6 7 1 4 3
CumMax of I2 will be A: (CumMin(I2)) 5 5 8 8 8 8 8 8
CumMax of I2 in reverse order be B: 8 8 8 7 7 4 4 3
Values from vector A is used to compute RowIndexMax for &gt; &amp; &gt;= operators
Values from vector B is used to compute RowIndexMax for &lt; &amp; &lt;= operators
Values from I2 is used to compute RowIndexMax for == operator.
Original values are directly used to compute RowIndexMax for != operator
Shifting values from vector A or B is required to compute final indices.
Once indices are shifted from vector A or B, their cell value corresponding to input data will be used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>iCols</code> - ?</dd>
<dd><code>vmb</code> - ?</dd>
<dd><code>bOp</code> - binary operator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>array of maximum row indices</dd>
</dl>
</li>
</ul>
<a name="prepareRowIndicesMin-int-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>prepareRowIndicesMin</h4>
<pre>public static&nbsp;int[]&nbsp;prepareRowIndicesMin(int&nbsp;iCols,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</pre>
<div class="block">This function will return min indices, based on column vector data.
This indices will be computed based on operator.
These indices can be used to compute min index for a given input value in subsequent operation.
e.g. Right Vector has data (V1) : 6 3 9 7 2 4 4 3
Original indices for this data will be (I1): 1 2 3 4 5 6 7 8
Sorting this data based on value will be (V2): 2 3 3 4 4 6 7 9
Then indices will be ordered as (I2): 5 2 8 6 7 1 4 3
CumMin of I2 will be A: (CumMin(I2)) 5 2 2 2 2 1 1 1
CumMin of I2 in reverse order be B: 1 1 1 1 1 1 3 3
Values from vector A is used to compute RowIndexMin for &gt; operator
Values from vector B is used to compute RowIndexMin for &lt;, &lt;= and &gt;= operators
Values from I2 is used to compute RowIndexMax for == operator.
Original values are directly used to compute RowIndexMax for != operator
Shifting values from vector A or B is required to compute final indices.
Once indices are shifted from vector A or B, their cell value corresponding to input data will be used.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>iCols</code> - ?</dd>
<dd><code>vmb</code> - ?</dd>
<dd><code>bOp</code> - binary operator</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>array of minimum row indices</dd>
</dl>
</li>
</ul>
<a name="resetOutputMatrix-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixIndexes-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>resetOutputMatrix</h4>
<pre>public static&nbsp;void&nbsp;resetOutputMatrix(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;in1Ix,
<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in1Val,
<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixIndexes.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixIndexes</a>&nbsp;outIx,
<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outVal,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</pre>
<div class="block">ReSet output matrix</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>in1Ix</code> - input matrix indexes</dd>
<dd><code>in1Val</code> - input matrix block</dd>
<dd><code>outIx</code> - output matrix indexes</dd>
<dd><code>outVal</code> - output matrix block</dd>
<dd><code>uaggOp</code> - aggregate unary operator</dd>
</dl>
</li>
</ul>
<a name="aggregateMatrix-org.apache.sysds.runtime.matrix.data.MatrixBlock-org.apache.sysds.runtime.matrix.data.MatrixBlock-double:A-int:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.matrix.operators.AggregateUnaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>aggregateMatrix</h4>
<pre>public static&nbsp;void&nbsp;aggregateMatrix(<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;in1Val,
<a href="../../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;outVal,
double[]&nbsp;bv,
int[]&nbsp;bvi,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/AggregateUnaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">AggregateUnaryOperator</a>&nbsp;uaggOp)</pre>
</li>
</ul>
<a name="adjustRowIndicesMax-int:A-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adjustRowIndicesMax</h4>
<pre>public static&nbsp;void&nbsp;adjustRowIndicesMax(int[]&nbsp;vix,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</pre>
<div class="block">This function adjusts indices to be leveraged in uarimaxXX functions.
Initially vector containing indices are sorted based on value and then CumMax/CumMin
per need for &lt;, &lt;=, &gt;, &gt;= operator, where as just sorted indices based on value for ==, and != operators.
There is need to shift these indices for different operators, which is handled through this function.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vix</code> - ?</dd>
<dd><code>vmb</code> - ?</dd>
<dd><code>bOp</code> - binary operator</dd>
</dl>
</li>
</ul>
<a name="adjustRowIndicesMin-int:A-double:A-org.apache.sysds.runtime.matrix.operators.BinaryOperator-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>adjustRowIndicesMin</h4>
<pre>public static&nbsp;void&nbsp;adjustRowIndicesMin(int[]&nbsp;vix,
double[]&nbsp;vmb,
<a href="../../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;bOp)</pre>
<div class="block">This function adjusts indices to be leveraged in uariminXX functions.
Initially vector containing indices are sorted based on value and then CumMin
per need for &lt;, &lt;=, &gt;, &gt;= operator, where as just sorted indices based on value for ==, and != operators.
There is need to shift these indices for different operators, which is handled through this function.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vix</code> - ?</dd>
<dd><code>vmb</code> - ?</dd>
<dd><code>bOp</code> - binary operator</dd>
</dl>
</li>
</ul>
<a name="shiftRight-int:A-double:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shiftRight</h4>
<pre>public static&nbsp;void&nbsp;shiftRight(int[]&nbsp;vix,
double[]&nbsp;vmb)</pre>
<div class="block">This function will shift indices from one partition to next in right direction.
For an example, if there are two sorted vector based on value like following, where
V2 is sorted data, and I2 are its corresponding indices.
Then this function will shift indices to right by one partition I2".
Left most partition remained untouched.
Sorting this data based on value will be (V2): 2 3 3 4 4 6 7 9
Then indices will be ordered as (I2): 5 2 8 6 7 1 4 3
Shift Right by one partition (I2") 5 5 2 8 6 7 1 4</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vix</code> - ?</dd>
<dd><code>vmb</code> - ?</dd>
</dl>
</li>
</ul>
<a name="shiftLeft-int:A-double:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shiftLeft</h4>
<pre>public static&nbsp;void&nbsp;shiftLeft(int[]&nbsp;vix,
double[]&nbsp;vmb)</pre>
<div class="block">This function will shift indices from one partition to next in left direction.
For an example, if there are two sorted vector based on value like following, where
V2 is sorted data, and I2 are its corresponding indices.
Then this function will shift indices to right by one partition I2".
Right most partition remained untouched.
Sorting this data based on value will be (V2): 2 3 3 4 4 6 7 9
Then indices will be ordered as (I2): 5 2 8 6 7 1 4 3
Shift Left by one partition (I2") 2 8 6 7 1 4 3 3</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vix</code> - ?</dd>
<dd><code>vmb</code> - ?</dd>
</dl>
</li>
</ul>
<a name="setMinIndexInPartition-int:A-double:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMinIndexInPartition</h4>
<pre>public static&nbsp;void&nbsp;setMinIndexInPartition(int[]&nbsp;vix,
double[]&nbsp;vmb)</pre>
<div class="block">This function will set minimum index in the partition to all cells in partition.
For an example, if there are two sorted vector based on value like following, where
V2 is sorted data, and I2 are its corresponding indices.
In this case, for partition with value = 4, has two different indices -- 6, and 7.
This function will set indices to both cells to minimum value of 6.
Sorting this data based on value will be (V2): 2 3 3 4 4 6 7 9
Then indices will be ordered as (I2): 5 2 8 6 7 1 4 3
Minimum indices set in the partition (I2") 5 2 8 6 6 1 4 3</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vix</code> - ?</dd>
<dd><code>vmb</code> - ?</dd>
</dl>
</li>
</ul>
<a name="setMaxIndexInPartition-int:A-double:A-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setMaxIndexInPartition</h4>
<pre>public static&nbsp;void&nbsp;setMaxIndexInPartition(int[]&nbsp;vix,
double[]&nbsp;vmb)</pre>
<div class="block">This function will set maximum index in the partition to all cells in partition.
For an example, if there are two sorted vector based on value like following, where
V2 is sorted data, and I2 are its corresponding indices.
In this case, for partition with value = 4, has two different indices -- 6, and 7.
This function will set indices to both cells to maximum value of 7.
Sorting this data based on value will be (V2): 2 3 3 4 4 6 7 9
Then indices will be ordered as (I2): 5 2 8 6 7 1 4 3
Maximum indices set in the partition (I2") 5 2 8 7 7 1 4 3</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vix</code> - ?</dd>
<dd><code>vmb</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/LibMatrixOuterAgg.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/matrix/data/LibMatrixNative.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/sysds/runtime/matrix/data/LibMatrixReorg.html" title="class in org.apache.sysds.runtime.matrix.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/sysds/runtime/matrix/data/LibMatrixOuterAgg.html" target="_top">Frames</a></li>
<li><a href="LibMatrixOuterAgg.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>Nested&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>