blob: 18121ea66c6b47f849b17fc12d3b0567c0e137ef [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>TensorBlock (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="TensorBlock (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":9,"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,"i35":10,"i36":10,"i37":10,"i38":10,"i39":9,"i40":10,"i41":10,"i42":10,"i43":10,"i44":10,"i45":10,"i46":10,"i47":10,"i48":10,"i49":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TensorBlock.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/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/sysds/runtime/data/TensorIndexes.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/sysds/runtime/data/TensorBlock.html" target="_top">Frames</a></li>
<li><a href="TensorBlock.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.sysds.runtime.data</div>
<h2 title="Class TensorBlock" class="title">Class TensorBlock</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.data.TensorBlock</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/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <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>, org.apache.hadoop.io.Writable, <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">TensorBlock</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>
implements <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></pre>
<div class="block">A <code>TensorBlock</code> is the most top level representation of a tensor. There are two types of data representation
which can be used: Basic/Homogeneous and Data/Heterogeneous
Basic supports only one <code>ValueType</code>, while Data supports multiple <code>ValueType</code>s along the column
axis.
The format determines if the <code>TensorBlock</code> uses a <code>BasicTensorBlock</code> or a <code>DataTensorBlock</code>
for storing the data.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.apache.sysds.runtime.data.TensorBlock">Serialized Form</a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#DEFAULT_DIMS">DEFAULT_DIMS</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#DEFAULT_VTYPE">DEFAULT_VTYPE</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#TensorBlock--">TensorBlock</a></span>()</code>
<div class="block">Create a <code>TensorBlock</code> with [0,0] dimension and homogeneous representation (aka.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#TensorBlock-org.apache.sysds.runtime.data.BasicTensorBlock-">TensorBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;basicTensor)</code>
<div class="block">Wrap the given <code>BasicTensorBlock</code> inside a <code>TensorBlock</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#TensorBlock-org.apache.sysds.runtime.data.DataTensorBlock-">TensorBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a>&nbsp;dataTensor)</code>
<div class="block">Wrap the given <code>DataTensorBlock</code> inside a <code>TensorBlock</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#TensorBlock-double-">TensorBlock</a></span>(double&nbsp;value)</code>
<div class="block">Create a [1,1] basic FP64 <code>TensorBlock</code> containing the given value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#TensorBlock-int:A-boolean-">TensorBlock</a></span>(int[]&nbsp;dims,
boolean&nbsp;basic)</code>
<div class="block">Create a <code>TensorBlock</code> with the given dimensions and the given data representation (basic/data).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#TensorBlock-org.apache.sysds.runtime.data.TensorBlock-">TensorBlock</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;that)</code>
<div class="block">Copy constructor</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#TensorBlock-org.apache.sysds.common.Types.ValueType:A-int:A-">TensorBlock</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
int[]&nbsp;dims)</code>
<div class="block">Create a data <code>TensorBlock</code> with the given schema and the given dimensions.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#TensorBlock-org.apache.sysds.common.Types.ValueType-int:A-">TensorBlock</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
int[]&nbsp;dims)</code>
<div class="block">Create a basic <code>TensorBlock</code> with the given <code>ValueType</code> and the given dimensions.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#allocateBlock--">allocateBlock</a></span>()</code>
<div class="block">If data is not yet allocated, allocate.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.data.TensorBlock-org.apache.sysds.runtime.data.TensorBlock-">binaryOperations</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,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;thatValue,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;result)</code>&nbsp;</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/data/TensorBlock.html#compactEmptyBlock--">compactEmptyBlock</a></span>()</code>
<div class="block">Free unnecessarily allocated empty block.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#copy-int:A-int:A-org.apache.sysds.runtime.data.TensorBlock-">copy</a></span>(int[]&nbsp;lower,
int[]&nbsp;upper,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;src)</code>
<div class="block">Copy a part of another <code>TensorBlock</code></div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#copy-org.apache.sysds.runtime.data.TensorBlock-">copy</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;src)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#copyExact-int:A-int:A-org.apache.sysds.runtime.data.TensorBlock-">copyExact</a></span>(int[]&nbsp;lower,
int[]&nbsp;upper,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;src)</code>
<div class="block">Copy a part of another <code>TensorBlock</code>.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><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></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#get-int:A-">get</a></span>(int[]&nbsp;ix)</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#get-int-int-">get</a></span>(int&nbsp;r,
int&nbsp;c)</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getBasicTensor--">getBasicTensor</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getDataCharacteristics--">getDataCharacteristics</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getDataTensor--">getDataTensor</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getDim-int-">getDim</a></span>(int&nbsp;i)</code>&nbsp;</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/data/TensorBlock.html#getDims--">getDims</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getExactBlockDataSerializedSize-org.apache.sysds.runtime.data.BasicTensorBlock-">getExactBlockDataSerializedSize</a></span>(<a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;bt)</code>
<div class="block">Get the exact serialized size of a <code>BasicTensorBlock</code> if written by
<code>TensorBlock.writeBlockData(DataOutput,BasicTensorBlock)</code>.</div>
</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/data/TensorBlock.html#getExactSerializedSize--">getExactSerializedSize</a></span>()</code>
<div class="block">Get the exact serialized size in bytes of the cache block.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getInMemorySize--">getInMemorySize</a></span>()</code>
<div class="block">Get the in-memory size in bytes of the cache block.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getLength--">getLength</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getLongDims--">getLongDims</a></span>()</code>&nbsp;</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/data/TensorBlock.html#getNextIndexes-int:A-">getNextIndexes</a></span>(int[]&nbsp;ix)</code>
<div class="block">Calculates the next index array.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNextIndexes-int:A-int:A-">getNextIndexes</a></span>(int[]&nbsp;dims,
int[]&nbsp;ix)</code>
<div class="block">Calculates the next index array.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNonZeros--">getNonZeros</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNumColumns--">getNumColumns</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNumDims--">getNumDims</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getNumRows--">getNumRows</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getSchema--">getSchema</a></span>()</code>
<div class="block">Get the schema if this <code>TensorBlock</code> is heterogeneous.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#getValueType--">getValueType</a></span>()</code>
<div class="block">Get the <code>ValueType</code> if this <code>TensorBlock</code> is homogeneous.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isAllocated--">isAllocated</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isBasic--">isBasic</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isEmpty--">isEmpty</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isEmpty-boolean-">isEmpty</a></span>(boolean&nbsp;safe)</code>&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isMatrix--">isMatrix</a></span>()</code>&nbsp;</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/data/TensorBlock.html#isShallowSerialize--">isShallowSerialize</a></span>()</code>
<div class="block">Indicates if the cache block is subject to shallow serialized,
which is generally true if in-memory size and serialized size
are almost identical allowing to avoid unnecessary deep serialize.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></span>(boolean&nbsp;inclConvert)</code>
<div class="block">Indicates if the cache block is subject to shallow serialized,
which is generally true if in-memory size and serialized size
are almost identical allowing to avoid unnecessary deep serialize.</div>
</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#isVector--">isVector</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/data/TensorBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a></span>(<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;that,
boolean&nbsp;appendOnly)</code>
<div class="block">Merge the given block into the current block.</div>
</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;in)</code>&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.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>&nbsp;</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#reset--">reset</a></span>()</code>
<div class="block">Reset all cells to 0.</div>
</td>
</tr>
<tr id="i38" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#reset-int:A-">reset</a></span>(int[]&nbsp;dims)</code>
<div class="block">Reset data with new dimensions.</div>
</td>
</tr>
<tr id="i39" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#resultValueType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ValueType-">resultValueType</a></span>(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;in1,
<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;in2)</code>&nbsp;</td>
</tr>
<tr id="i40" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#set-int:A-java.lang.Object-">set</a></span>(int[]&nbsp;ix,
<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>&nbsp;v)</code>
<div class="block">Set a cell to the value given as an `Object`.</div>
</td>
</tr>
<tr id="i41" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#set-int-int-double-">set</a></span>(int&nbsp;r,
int&nbsp;c,
double&nbsp;v)</code>
<div class="block">Set a cell in a 2-dimensional tensor.</div>
</td>
</tr>
<tr id="i42" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#set-org.apache.sysds.runtime.matrix.data.MatrixBlock-">set</a></span>(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;other)</code>&nbsp;</td>
</tr>
<tr id="i43" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#set-java.lang.Object-">set</a></span>(<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>&nbsp;v)</code>&nbsp;</td>
</tr>
<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#slice-int:A-org.apache.sysds.runtime.data.TensorBlock-">slice</a></span>(int[]&nbsp;offsets,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;outBlock)</code>
<div class="block">Slice the current block and write into the outBlock.</div>
</td>
</tr>
<tr id="i45" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></span>(int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu,
<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block)</code>
<div class="block">Slice a sub block out of the current block and write into the given output block.</div>
</td>
</tr>
<tr id="i46" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></span>()</code>
<div class="block">Converts a cache block that is not shallow serializable into
a form that is shallow serializable.</div>
</td>
</tr>
<tr id="i47" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.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>&nbsp;</td>
</tr>
<tr id="i48" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#writeBlockData-java.io.DataOutput-org.apache.sysds.runtime.data.BasicTensorBlock-">writeBlockData</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,
<a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;bt)</code>
<div class="block">Write a <code>BasicTensorBlock</code>.</div>
</td>
</tr>
<tr id="i49" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;out)</code>&nbsp;</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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_DIMS">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_DIMS</h4>
<pre>public static final&nbsp;int[] DEFAULT_DIMS</pre>
</li>
</ul>
<a name="DEFAULT_VTYPE">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DEFAULT_VTYPE</h4>
<pre>public static final&nbsp;<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a> DEFAULT_VTYPE</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="TensorBlock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TensorBlock</h4>
<pre>public&nbsp;TensorBlock()</pre>
<div class="block">Create a <code>TensorBlock</code> with [0,0] dimension and homogeneous representation (aka. basic).</div>
</li>
</ul>
<a name="TensorBlock-int:A-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TensorBlock</h4>
<pre>public&nbsp;TensorBlock(int[]&nbsp;dims,
boolean&nbsp;basic)</pre>
<div class="block">Create a <code>TensorBlock</code> with the given dimensions and the given data representation (basic/data).</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dims</code> - dimensions</dd>
<dd><code>basic</code> - if true then basic <code>TensorBlock</code> else a data type of <code>TensorBlock</code>.</dd>
</dl>
</li>
</ul>
<a name="TensorBlock-org.apache.sysds.common.Types.ValueType-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TensorBlock</h4>
<pre>public&nbsp;TensorBlock(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;vt,
int[]&nbsp;dims)</pre>
<div class="block">Create a basic <code>TensorBlock</code> with the given <code>ValueType</code> and the given dimensions.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>vt</code> - value type</dd>
<dd><code>dims</code> - dimensions</dd>
</dl>
</li>
</ul>
<a name="TensorBlock-org.apache.sysds.common.Types.ValueType:A-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TensorBlock</h4>
<pre>public&nbsp;TensorBlock(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;schema,
int[]&nbsp;dims)</pre>
<div class="block">Create a data <code>TensorBlock</code> with the given schema and the given dimensions.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>schema</code> - schema of the columns</dd>
<dd><code>dims</code> - dimensions</dd>
</dl>
</li>
</ul>
<a name="TensorBlock-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TensorBlock</h4>
<pre>public&nbsp;TensorBlock(double&nbsp;value)</pre>
<div class="block">Create a [1,1] basic FP64 <code>TensorBlock</code> containing the given value.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - value to put inside</dd>
</dl>
</li>
</ul>
<a name="TensorBlock-org.apache.sysds.runtime.data.BasicTensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TensorBlock</h4>
<pre>public&nbsp;TensorBlock(<a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;basicTensor)</pre>
<div class="block">Wrap the given <code>BasicTensorBlock</code> inside a <code>TensorBlock</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>basicTensor</code> - basic tensor block</dd>
</dl>
</li>
</ul>
<a name="TensorBlock-org.apache.sysds.runtime.data.DataTensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TensorBlock</h4>
<pre>public&nbsp;TensorBlock(<a href="../../../../../org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a>&nbsp;dataTensor)</pre>
<div class="block">Wrap the given <code>DataTensorBlock</code> inside a <code>TensorBlock</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataTensor</code> - basic tensor block</dd>
</dl>
</li>
</ul>
<a name="TensorBlock-org.apache.sysds.runtime.data.TensorBlock-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TensorBlock</h4>
<pre>public&nbsp;TensorBlock(<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;that)</pre>
<div class="block">Copy constructor</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>that</code> - <code>TensorBlock</code> to copy</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="reset--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset()</pre>
<div class="block">Reset all cells to 0.</div>
</li>
</ul>
<a name="reset-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reset</h4>
<pre>public&nbsp;void&nbsp;reset(int[]&nbsp;dims)</pre>
<div class="block">Reset data with new dimensions.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dims</code> - new dimensions</dd>
</dl>
</li>
</ul>
<a name="isBasic--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isBasic</h4>
<pre>public&nbsp;boolean&nbsp;isBasic()</pre>
</li>
</ul>
<a name="isAllocated--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAllocated</h4>
<pre>public&nbsp;boolean&nbsp;isAllocated()</pre>
</li>
</ul>
<a name="allocateBlock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>allocateBlock</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;allocateBlock()</pre>
<div class="block">If data is not yet allocated, allocate.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <code>TensorBlock</code></dd>
</dl>
</li>
</ul>
<a name="getBasicTensor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBasicTensor</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;getBasicTensor()</pre>
</li>
</ul>
<a name="getDataTensor--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataTensor</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/DataTensorBlock.html" title="class in org.apache.sysds.runtime.data">DataTensorBlock</a>&nbsp;getDataTensor()</pre>
</li>
</ul>
<a name="getValueType--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueType</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;getValueType()</pre>
<div class="block">Get the <code>ValueType</code> if this <code>TensorBlock</code> is homogeneous.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>ValueType</code> if homogeneous, null otherwise</dd>
</dl>
</li>
</ul>
<a name="getSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSchema</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>[]&nbsp;getSchema()</pre>
<div class="block">Get the schema if this <code>TensorBlock</code> is heterogeneous.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>value type if heterogeneous, null otherwise</dd>
</dl>
</li>
</ul>
<a name="getNumDims--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumDims</h4>
<pre>public&nbsp;int&nbsp;getNumDims()</pre>
</li>
</ul>
<a name="getNumRows--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumRows</h4>
<pre>public&nbsp;int&nbsp;getNumRows()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getNumRows--">getNumRows</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
</dl>
</li>
</ul>
<a name="getNumColumns--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNumColumns</h4>
<pre>public&nbsp;int&nbsp;getNumColumns()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getNumColumns--">getNumColumns</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
</dl>
</li>
</ul>
<a name="getDataCharacteristics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataCharacteristics</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/meta/DataCharacteristics.html" title="class in org.apache.sysds.runtime.meta">DataCharacteristics</a>&nbsp;getDataCharacteristics()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getDataCharacteristics--">getDataCharacteristics</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
</dl>
</li>
</ul>
<a name="getInMemorySize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInMemorySize</h4>
<pre>public&nbsp;long&nbsp;getInMemorySize()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getInMemorySize--">CacheBlock</a></code></span></div>
<div class="block">Get the in-memory size in bytes of the cache block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getInMemorySize--">getInMemorySize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>in-memory size in bytes of cache block</dd>
</dl>
</li>
</ul>
<a name="isShallowSerialize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isShallowSerialize</h4>
<pre>public&nbsp;boolean&nbsp;isShallowSerialize()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">CacheBlock</a></code></span></div>
<div class="block">Indicates if the cache block is subject to shallow serialized,
which is generally true if in-memory size and serialized size
are almost identical allowing to avoid unnecessary deep serialize.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize--">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if shallow serialized</dd>
</dl>
</li>
</ul>
<a name="isShallowSerialize-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isShallowSerialize</h4>
<pre>public&nbsp;boolean&nbsp;isShallowSerialize(boolean&nbsp;inclConvert)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">CacheBlock</a></code></span></div>
<div class="block">Indicates if the cache block is subject to shallow serialized,
which is generally true if in-memory size and serialized size
are almost identical allowing to avoid unnecessary deep serialize.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#isShallowSerialize-boolean-">isShallowSerialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>inclConvert</code> - if true report blocks as shallow serialize that are
currently not amenable but can be brought into an amenable form
via <a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--"><code>toShallowSerializeBlock</code></a>.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if shallow serialized</dd>
</dl>
</li>
</ul>
<a name="toShallowSerializeBlock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toShallowSerializeBlock</h4>
<pre>public&nbsp;void&nbsp;toShallowSerializeBlock()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">CacheBlock</a></code></span></div>
<div class="block">Converts a cache block that is not shallow serializable into
a form that is shallow serializable. This methods has no affect
if the given cache block is not amenable.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#toShallowSerializeBlock--">toShallowSerializeBlock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
</dl>
</li>
</ul>
<a name="compactEmptyBlock--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>compactEmptyBlock</h4>
<pre>public&nbsp;void&nbsp;compactEmptyBlock()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#compactEmptyBlock--">CacheBlock</a></code></span></div>
<div class="block">Free unnecessarily allocated empty block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#compactEmptyBlock--">compactEmptyBlock</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
</dl>
</li>
</ul>
<a name="slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;slice(int&nbsp;rl,
int&nbsp;ru,
int&nbsp;cl,
int&nbsp;cu,
<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;block)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">CacheBlock</a></code></span></div>
<div class="block">Slice a sub block out of the current block and write into the given output block.
This method returns the passed instance if not null.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#slice-int-int-int-int-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-">slice</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>rl</code> - row lower</dd>
<dd><code>ru</code> - row upper</dd>
<dd><code>cl</code> - column lower</dd>
<dd><code>cu</code> - column upper</dd>
<dd><code>block</code> - cache block</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>sub-block of cache block</dd>
</dl>
</li>
</ul>
<a name="merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>merge</h4>
<pre>public&nbsp;void&nbsp;merge(<a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a>&nbsp;that,
boolean&nbsp;appendOnly)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">CacheBlock</a></code></span></div>
<div class="block">Merge the given block into the current block. Both blocks needs to be of equal
dimensions and contain disjoint non-zero cells.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#merge-org.apache.sysds.runtime.controlprogram.caching.CacheBlock-boolean-">merge</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>that</code> - cache block</dd>
<dd><code>appendOnly</code> - ?</dd>
</dl>
</li>
</ul>
<a name="getDim-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDim</h4>
<pre>public&nbsp;int&nbsp;getDim(int&nbsp;i)</pre>
</li>
</ul>
<a name="getDims--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDims</h4>
<pre>public&nbsp;int[]&nbsp;getDims()</pre>
</li>
</ul>
<a name="getLongDims--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLongDims</h4>
<pre>public&nbsp;long[]&nbsp;getLongDims()</pre>
</li>
</ul>
<a name="getNextIndexes-int:A-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNextIndexes</h4>
<pre>public static&nbsp;void&nbsp;getNextIndexes(int[]&nbsp;dims,
int[]&nbsp;ix)</pre>
<div class="block">Calculates the next index array. Note that if the given index array was the last element, the next index will
be the first one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dims</code> - the dims array for which we have to decide the next index</dd>
<dd><code>ix</code> - the index array which will be incremented to the next index array</dd>
</dl>
</li>
</ul>
<a name="getNextIndexes-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNextIndexes</h4>
<pre>public&nbsp;void&nbsp;getNextIndexes(int[]&nbsp;ix)</pre>
<div class="block">Calculates the next index array. Note that if the given index array was the last element, the next index will
be the first one.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ix</code> - the index array which will be incremented to the next index array</dd>
</dl>
</li>
</ul>
<a name="isVector--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isVector</h4>
<pre>public&nbsp;boolean&nbsp;isVector()</pre>
</li>
</ul>
<a name="isMatrix--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMatrix</h4>
<pre>public&nbsp;boolean&nbsp;isMatrix()</pre>
</li>
</ul>
<a name="getLength--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLength</h4>
<pre>public&nbsp;long&nbsp;getLength()</pre>
</li>
</ul>
<a name="isEmpty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isEmpty()</pre>
</li>
</ul>
<a name="isEmpty-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre>public&nbsp;boolean&nbsp;isEmpty(boolean&nbsp;safe)</pre>
</li>
</ul>
<a name="getNonZeros--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNonZeros</h4>
<pre>public&nbsp;long&nbsp;getNonZeros()</pre>
</li>
</ul>
<a name="get-int:A-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre>public&nbsp;<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>&nbsp;get(int[]&nbsp;ix)</pre>
</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>
</li>
</ul>
<a name="set-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>public&nbsp;void&nbsp;set(<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>&nbsp;v)</pre>
</li>
</ul>
<a name="set-org.apache.sysds.runtime.matrix.data.MatrixBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>public&nbsp;void&nbsp;set(<a href="../../../../../org/apache/sysds/runtime/matrix/data/MatrixBlock.html" title="class in org.apache.sysds.runtime.matrix.data">MatrixBlock</a>&nbsp;other)</pre>
</li>
</ul>
<a name="set-int:A-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>public&nbsp;void&nbsp;set(int[]&nbsp;ix,
<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>&nbsp;v)</pre>
<div class="block">Set a cell to the value given as an `Object`.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>ix</code> - indexes in each dimension, starting with 0</dd>
<dd><code>v</code> - value to set</dd>
</dl>
</li>
</ul>
<a name="set-int-int-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>public&nbsp;void&nbsp;set(int&nbsp;r,
int&nbsp;c,
double&nbsp;v)</pre>
<div class="block">Set a cell in a 2-dimensional tensor.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>r</code> - row of the cell</dd>
<dd><code>c</code> - column of the cell</dd>
<dd><code>v</code> - value to set</dd>
</dl>
</li>
</ul>
<a name="slice-int:A-org.apache.sysds.runtime.data.TensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>slice</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;slice(int[]&nbsp;offsets,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;outBlock)</pre>
<div class="block">Slice the current block and write into the outBlock. The offsets determines where the slice starts,
the length of the blocks is given by the outBlock dimensions.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>offsets</code> - offsets where the slice starts</dd>
<dd><code>outBlock</code> - sliced result block</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the sliced result block</dd>
</dl>
</li>
</ul>
<a name="copy-org.apache.sysds.runtime.data.TensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;copy(<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;src)</pre>
</li>
</ul>
<a name="copy-int:A-int:A-org.apache.sysds.runtime.data.TensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copy</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;copy(int[]&nbsp;lower,
int[]&nbsp;upper,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;src)</pre>
<div class="block">Copy a part of another <code>TensorBlock</code></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lower</code> - lower index of elements to copy (inclusive)</dd>
<dd><code>upper</code> - upper index of elements to copy (exclusive)</dd>
<dd><code>src</code> - source <code>TensorBlock</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the shallow copy of the src <code>TensorBlock</code></dd>
</dl>
</li>
</ul>
<a name="copyExact-int:A-int:A-org.apache.sysds.runtime.data.TensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>copyExact</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;copyExact(int[]&nbsp;lower,
int[]&nbsp;upper,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;src)</pre>
<div class="block">Copy a part of another <code>TensorBlock</code>. The difference to <code>copy()</code> is that
this allows for exact sub-blocks instead of taking all consecutive data elements from lower to upper.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>lower</code> - lower index of elements to copy (inclusive)</dd>
<dd><code>upper</code> - upper index of elements to copy (exclusive)</dd>
<dd><code>src</code> - source <code>TensorBlock</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the deep copy of the src <code>TensorBlock</code></dd>
</dl>
</li>
</ul>
<a name="getExactSerializedSize--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExactSerializedSize</h4>
<pre>public&nbsp;long&nbsp;getExactSerializedSize()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getExactSerializedSize--">CacheBlock</a></code></span></div>
<div class="block">Get the exact serialized size in bytes of the cache block.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html#getExactSerializedSize--">getExactSerializedSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/sysds/runtime/controlprogram/caching/CacheBlock.html" title="interface in org.apache.sysds.runtime.controlprogram.caching">CacheBlock</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>exact serialized size in bytes of cache block</dd>
</dl>
</li>
</ul>
<a name="getExactBlockDataSerializedSize-org.apache.sysds.runtime.data.BasicTensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExactBlockDataSerializedSize</h4>
<pre>public&nbsp;long&nbsp;getExactBlockDataSerializedSize(<a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;bt)</pre>
<div class="block">Get the exact serialized size of a <code>BasicTensorBlock</code> if written by
<code>TensorBlock.writeBlockData(DataOutput,BasicTensorBlock)</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bt</code> - <code>BasicTensorBlock</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the size of the block data in serialized form</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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>write</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.io.Writable</code></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></dd>
</dl>
</li>
</ul>
<a name="writeBlockData-java.io.DataOutput-org.apache.sysds.runtime.data.BasicTensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeBlockData</h4>
<pre>public&nbsp;void&nbsp;writeBlockData(<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,
<a href="../../../../../org/apache/sysds/runtime/data/BasicTensorBlock.html" title="class in org.apache.sysds.runtime.data">BasicTensorBlock</a>&nbsp;bt)
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">Write a <code>BasicTensorBlock</code>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - output stream</dd>
<dd><code>bt</code> - source <code>BasicTensorBlock</code></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 writing with the output stream fails</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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>readFields</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.io.Writable</code></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></dd>
</dl>
</li>
</ul>
<a name="writeExternal-java.io.ObjectOutput-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeExternal</h4>
<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#writeExternal-java.io.ObjectOutput-" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></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></dd>
</dl>
</li>
</ul>
<a name="readExternal-java.io.ObjectInput-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readExternal</h4>
<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true#readExternal-java.io.ObjectInput-" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></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></dd>
</dl>
</li>
</ul>
<a name="binaryOperations-org.apache.sysds.runtime.matrix.operators.BinaryOperator-org.apache.sysds.runtime.data.TensorBlock-org.apache.sysds.runtime.data.TensorBlock-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>binaryOperations</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;binaryOperations(<a href="../../../../../org/apache/sysds/runtime/matrix/operators/BinaryOperator.html" title="class in org.apache.sysds.runtime.matrix.operators">BinaryOperator</a>&nbsp;op,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;thatValue,
<a href="../../../../../org/apache/sysds/runtime/data/TensorBlock.html" title="class in org.apache.sysds.runtime.data">TensorBlock</a>&nbsp;result)</pre>
</li>
</ul>
<a name="resultValueType-org.apache.sysds.common.Types.ValueType-org.apache.sysds.common.Types.ValueType-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>resultValueType</h4>
<pre>public static&nbsp;<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;resultValueType(<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;in1,
<a href="../../../../../org/apache/sysds/common/Types.ValueType.html" title="enum in org.apache.sysds.common">Types.ValueType</a>&nbsp;in2)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/TensorBlock.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/data/SparseRowVector.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/sysds/runtime/data/TensorIndexes.html" title="class in org.apache.sysds.runtime.data"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/sysds/runtime/data/TensorBlock.html" target="_top">Frames</a></li>
<li><a href="TensorBlock.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><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>