<!DOCTYPE html >
<html>
        <head>
          <title>batch_dotParam - MXNet - org.apache.mxnet.javaapi.batch_dotParam</title>
          <meta name="description" content="batch dotParam - MXNet - org.apache.mxnet.javaapi.batch dotParam" />
          <meta name="keywords" content="batch dotParam MXNet org.apache.mxnet.javaapi.batch dotParam" />
          <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
          
      <link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet" />
      <link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css" />
      <script type="text/javascript" src="../../../../lib/jquery.js" id="jquery-js"></script>
      <script type="text/javascript" src="../../../../lib/jquery-ui.js"></script>
      <script type="text/javascript" src="../../../../lib/template.js"></script>
      <script type="text/javascript" src="../../../../lib/tools.tooltip.js"></script>
      
      <script type="text/javascript">
         if(top === self) {
            var url = '../../../../index.html';
            var hash = 'org.apache.mxnet.javaapi.batch_dotParam';
            var anchor = window.location.hash;
            var anchor_opt = '';
            if (anchor.length >= 1)
              anchor_opt = '@' + anchor.substring(1);
            window.location.href = url + '#' + hash + anchor_opt;
         }
   	  </script>
    
        </head>
        <body class="type">
      <div id="definition">
        <img src="../../../../lib/class_big.png" />
        <p id="owner"><a href="../../../package.html" class="extype" name="org">org</a>.<a href="../../package.html" class="extype" name="org.apache">apache</a>.<a href="../package.html" class="extype" name="org.apache.mxnet">mxnet</a>.<a href="package.html" class="extype" name="org.apache.mxnet.javaapi">javaapi</a></p>
        <h1>batch_dotParam</h1><h3><span class="morelinks"><div>Related Doc:
            <a href="package.html" class="extype" name="org.apache.mxnet.javaapi">package javaapi</a>
          </div></span></h3><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      </div>

      <h4 id="signature" class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">class</span>
      </span>
      <span class="symbol">
        <span class="name">batch_dotParam</span><span class="result"> extends <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4>
      
          <div id="comment" class="fullcommenttop"><div class="comment cmt"><p>This Param Object is specifically used for batch_dot</p></div><div class="toggleContainer block">
          <span class="toggle">Linear Supertypes</span>
          <div class="superTypes hiddenContent"><span class="extype" name="scala.AnyRef">AnyRef</span>, <span class="extype" name="scala.Any">Any</span></div>
        </div></div>
        

      <div id="mbrsel">
        <div id="textfilter"><span class="pre"></span><span class="input"><input id="mbrsel-input" type="text" accesskey="/" /></span><span class="post"></span></div>
        <div id="order">
              <span class="filtertype">Ordering</span>
              <ol>
                
                <li class="alpha in"><span>Alphabetic</span></li>
                <li class="inherit out"><span>By inheritance</span></li>
              </ol>
            </div>
        <div id="ancestors">
                <span class="filtertype">Inherited<br />
                </span>
                <ol id="linearization">
                  <li class="in" name="org.apache.mxnet.javaapi.batch_dotParam"><span>batch_dotParam</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li>
                </ol>
              </div><div id="ancestors">
            <span class="filtertype"></span>
            <ol>
              <li class="hideall out"><span>Hide All</span></li>
              <li class="showall in"><span>Show all</span></li>
            </ol>
            <a href="http://docs.scala-lang.org/overviews/scaladoc/usage.html#members" target="_blank">Learn more about member selection</a>
          </div>
        <div id="visbl">
            <span class="filtertype">Visibility</span>
            <ol><li class="public in"><span>Public</span></li><li class="all out"><span>All</span></li></ol>
          </div>
      </div>

      <div id="template">
        <div id="allMembers">
        <div id="constructors" class="members">
              <h3>Instance Constructors</h3>
              <ol><li name="org.apache.mxnet.javaapi.batch_dotParam#&lt;init&gt;" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="&lt;init&gt;(lhs:org.apache.mxnet.javaapi.NDArray,rhs:org.apache.mxnet.javaapi.NDArray):org.apache.mxnet.javaapi.batch_dotParam"></a>
      <a id="&lt;init&gt;:batch_dotParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">new</span>
      </span>
      <span class="symbol">
        <span class="name">batch_dotParam</span><span class="params">(<span name="lhs">lhs: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>, <span name="rhs">rhs: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>)</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@&lt;init&gt;(lhs:org.apache.mxnet.javaapi.NDArray,rhs:org.apache.mxnet.javaapi.NDArray):org.apache.mxnet.javaapi.batch_dotParam" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt class="param">lhs</dt><dd class="cmt"><p>The first input</p></dd><dt class="param">rhs</dt><dd class="cmt"><p>The second input
</p></dd></dl></div>
    </li></ol>
            </div>

        

        

        <div id="values" class="values members">
              <h3>Value Members</h3>
              <ol><li name="scala.AnyRef#!=" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="!=(x$1:Any):Boolean"></a>
      <a id="!=(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $bang$eq" class="name">!=</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@!=(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef###" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="##():Int"></a>
      <a id="##():Int"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $hash$hash" class="name">##</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@##():Int" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#==" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="==(x$1:Any):Boolean"></a>
      <a id="==(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span title="gt4s: $eq$eq" class="name">==</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@==(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.Any#asInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="asInstanceOf[T0]:T0"></a>
      <a id="asInstanceOf[T0]:T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Any.asInstanceOf.T0">T0</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@asInstanceOf[T0]:T0" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#clone" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="clone():Object"></a>
      <a id="clone():AnyRef"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">clone</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.AnyRef">AnyRef</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@clone():Object" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.CloneNotSupportedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#eq" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="eq(x$1:AnyRef):Boolean"></a>
      <a id="eq(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@eq(x$1:AnyRef):Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#equals" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="equals(x$1:Any):Boolean"></a>
      <a id="equals(Any):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">equals</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Any">Any</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@equals(x$1:Any):Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#finalize" visbl="prt" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="finalize():Unit"></a>
      <a id="finalize():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">finalize</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@finalize():Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Attributes</dt><dd>protected[<a href="../../../../java$lang.html" class="extype" name="java.lang">java.lang</a>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="symbol">classOf[java.lang.Throwable]</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#getClass" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="getClass():Class[_]"></a>
      <a id="getClass():Class[_]"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getClass</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Class">Class</span>[_]</span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@getClass():Class[_]" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#getForward_stype" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getForward_stype():String"></a>
      <a id="getForward_stype():String"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getForward_stype</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Predef.String">String</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@getForward_stype():String" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#getLhs" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getLhs():org.apache.mxnet.javaapi.NDArray"></a>
      <a id="getLhs():NDArray"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getLhs</span><span class="params">()</span><span class="result">: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@getLhs():org.apache.mxnet.javaapi.NDArray" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#getOut" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getOut():org.apache.mxnet.NDArray"></a>
      <a id="getOut():mxnet.NDArray"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getOut</span><span class="params">()</span><span class="result">: <span class="extype" name="org.apache.mxnet.NDArray">mxnet.NDArray</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@getOut():org.apache.mxnet.NDArray" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#getRhs" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getRhs():org.apache.mxnet.javaapi.NDArray"></a>
      <a id="getRhs():NDArray"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getRhs</span><span class="params">()</span><span class="result">: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@getRhs():org.apache.mxnet.javaapi.NDArray" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#getTranspose_a" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getTranspose_a():Boolean"></a>
      <a id="getTranspose_a():Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getTranspose_a</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@getTranspose_a():Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#getTranspose_b" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="getTranspose_b():Boolean"></a>
      <a id="getTranspose_b():Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">getTranspose_b</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@getTranspose_b():Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="scala.AnyRef#hashCode" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="hashCode():Int"></a>
      <a id="hashCode():Int"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">hashCode</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Int">Int</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@hashCode():Int" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.Any#isInstanceOf" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="isInstanceOf[T0]:Boolean"></a>
      <a id="isInstanceOf[T0]:Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@isInstanceOf[T0]:Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>Any</dd></dl></div>
    </li><li name="scala.AnyRef#ne" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="ne(x$1:AnyRef):Boolean"></a>
      <a id="ne(AnyRef):Boolean"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.AnyRef">AnyRef</span></span>)</span><span class="result">: <span class="extype" name="scala.Boolean">Boolean</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@ne(x$1:AnyRef):Boolean" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#notify" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="notify():Unit"></a>
      <a id="notify():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notify</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@notify():Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#notifyAll" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="notifyAll():Unit"></a>
      <a id="notifyAll():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">notifyAll</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@notifyAll():Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#setForward_stype" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setForward_stype(forward_stype:String):org.apache.mxnet.javaapi.batch_dotParam"></a>
      <a id="setForward_stype(String):batch_dotParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setForward_stype</span><span class="params">(<span name="forward_stype">forward_stype: <span class="extype" name="scala.Predef.String">String</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.batch_dotParam">batch_dotParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@setForward_stype(forward_stype:String):org.apache.mxnet.javaapi.batch_dotParam" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt class="param">forward_stype</dt><dd class="cmt"><p>The desired storage type of the forward output given by user, if thecombination of input storage types and this hint does not matchany implemented ones, the dot operator will perform fallback operationand still produce an output of the desired storage type.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#setOut" visbl="pub" data-isabs="false" fullComment="no" group="Ungrouped">
      <a id="setOut(out:org.apache.mxnet.javaapi.NDArray):org.apache.mxnet.javaapi.batch_dotParam"></a>
      <a id="setOut(NDArray):batch_dotParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setOut</span><span class="params">(<span name="out">out: <a href="NDArray.html" class="extype" name="org.apache.mxnet.javaapi.NDArray">NDArray</a></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.batch_dotParam">batch_dotParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@setOut(out:org.apache.mxnet.javaapi.NDArray):org.apache.mxnet.javaapi.batch_dotParam" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#setTranspose_a" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setTranspose_a(transpose_a:Boolean):org.apache.mxnet.javaapi.batch_dotParam"></a>
      <a id="setTranspose_a(Boolean):batch_dotParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setTranspose_a</span><span class="params">(<span name="transpose_a">transpose_a: <span class="extype" name="java.lang.Boolean">Boolean</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.batch_dotParam">batch_dotParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@setTranspose_a(transpose_a:Boolean):org.apache.mxnet.javaapi.batch_dotParam" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt class="param">transpose_a</dt><dd class="cmt"><p>If true then transpose the first input before dot.
</p></dd></dl></div>
    </li><li name="org.apache.mxnet.javaapi.batch_dotParam#setTranspose_b" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="setTranspose_b(transpose_b:Boolean):org.apache.mxnet.javaapi.batch_dotParam"></a>
      <a id="setTranspose_b(Boolean):batch_dotParam"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">setTranspose_b</span><span class="params">(<span name="transpose_b">transpose_b: <span class="extype" name="java.lang.Boolean">Boolean</span></span>)</span><span class="result">: <a href="" class="extype" name="org.apache.mxnet.javaapi.batch_dotParam">batch_dotParam</a></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@setTranspose_b(transpose_b:Boolean):org.apache.mxnet.javaapi.batch_dotParam" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <p class="shortcomment cmt"></p><div class="fullcomment"><div class="comment cmt"></div><dl class="paramcmts block"><dt class="param">transpose_b</dt><dd class="cmt"><p>If true then transpose the second input before dot.
</p></dd></dl></div>
    </li><li name="scala.AnyRef#synchronized" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="synchronized[T0](x$1:=&gt;T0):T0"></a>
      <a id="synchronized[T0](⇒T0):T0"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: ⇒ <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>)</span><span class="result">: <span class="extype" name="java.lang.AnyRef.synchronized.T0">T0</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@synchronized[T0](x$1:=&gt;T0):T0" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd></dl></div>
    </li><li name="scala.AnyRef#toString" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="toString():String"></a>
      <a id="toString():String"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier"></span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">toString</span><span class="params">()</span><span class="result">: <span class="extype" name="java.lang.String">String</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@toString():String" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait():Unit"></a>
      <a id="wait():Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">()</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@wait():Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait(x$1:Long,x$2:Int):Unit"></a>
      <a id="wait(Long,Int):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>, <span name="arg1">arg1: <span class="extype" name="scala.Int">Int</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@wait(x$1:Long,x$2:Int):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li><li name="scala.AnyRef#wait" visbl="pub" data-isabs="false" fullComment="yes" group="Ungrouped">
      <a id="wait(x$1:Long):Unit"></a>
      <a id="wait(Long):Unit"></a>
      <h4 class="signature">
      <span class="modifier_kind">
        <span class="modifier">final </span>
        <span class="kind">def</span>
      </span>
      <span class="symbol">
        <span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span class="extype" name="scala.Long">Long</span></span>)</span><span class="result">: <span class="extype" name="scala.Unit">Unit</span></span>
      </span>
      </h4><span class="permalink">
      <a href="../../../../index.html#org.apache.mxnet.javaapi.batch_dotParam@wait(x$1:Long):Unit" title="Permalink" target="_top">
        <img src="../../../../lib/permalink.png" />
      </a>
    </span>
      <div class="fullcomment"><dl class="attributes block"> <dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd>
                <span class="name">@throws</span><span class="args">(<span>
      
      <span class="defval" name="classOf[java.lang.InterruptedException]">...</span>
    </span>)</span>
              
        </dd></dl></div>
    </li></ol>
            </div>

        

        
        </div>

        <div id="inheritedMembers">
        <div class="parent" name="scala.AnyRef">
              <h3>Inherited from <span class="extype" name="scala.AnyRef">AnyRef</span></h3>
            </div><div class="parent" name="scala.Any">
              <h3>Inherited from <span class="extype" name="scala.Any">Any</span></h3>
            </div>
        
        </div>

        <div id="groupedMembers">
        <div class="group" name="Ungrouped">
              <h3>Ungrouped</h3>
              
            </div>
        </div>

      </div>

      <div id="tooltip"></div>

      <div id="footer">  </div>


    </body>
      </html>