| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| <meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| <meta name="generator" content="Doxygen 1.8.17"/> |
| <meta name="viewport" content="width=device-width, initial-scale=1"/> |
| <title>mxnet: /work/mxnet/3rdparty/mshadow/mshadow/expression.h Source File</title> |
| <link href="tabs.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="jquery.js"></script> |
| <script type="text/javascript" src="dynsections.js"></script> |
| <link href="search/search.css" rel="stylesheet" type="text/css"/> |
| <script type="text/javascript" src="search/searchdata.js"></script> |
| <script type="text/javascript" src="search/search.js"></script> |
| <link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| </head> |
| <body> |
| <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| <div id="titlearea"> |
| <table cellspacing="0" cellpadding="0"> |
| <tbody> |
| <tr style="height: 56px;"> |
| <td id="projectalign" style="padding-left: 0.5em;"> |
| <div id="projectname">mxnet |
| </div> |
| </td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| <!-- end header part --> |
| <!-- Generated by Doxygen 1.8.17 --> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| var searchBox = new SearchBox("searchBox", "search",false,'Search'); |
| /* @license-end */ |
| </script> |
| <script type="text/javascript" src="menudata.js"></script> |
| <script type="text/javascript" src="menu.js"></script> |
| <script type="text/javascript"> |
| /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ |
| $(function() { |
| initMenu('',true,false,'search.php','Search'); |
| $(document).ready(function() { init_search(); }); |
| }); |
| /* @license-end */</script> |
| <div id="main-nav"></div> |
| <!-- window showing the filter options --> |
| <div id="MSearchSelectWindow" |
| onmouseover="return searchBox.OnSearchSelectShow()" |
| onmouseout="return searchBox.OnSearchSelectHide()" |
| onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| </div> |
| |
| <!-- iframe showing the search results (closed by default) --> |
| <div id="MSearchResultsWindow"> |
| <iframe src="javascript:void(0)" frameborder="0" |
| name="MSearchResults" id="MSearchResults"> |
| </iframe> |
| </div> |
| |
| <div id="nav-path" class="navpath"> |
| <ul> |
| <li class="navelem"><a class="el" href="dir_8cab8f464681f7cc51cee77e79a434cd.html">3rdparty</a></li><li class="navelem"><a class="el" href="dir_3e48ced36faa4eaa1b41f6d960bf0edb.html">mshadow</a></li><li class="navelem"><a class="el" href="dir_00b035bb2ad81894e6ad291054ea5f82.html">mshadow</a></li> </ul> |
| </div> |
| </div><!-- top --> |
| <div class="header"> |
| <div class="headertitle"> |
| <div class="title">expression.h</div> </div> |
| </div><!--header--> |
| <div class="contents"> |
| <a href="expression_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> |
| <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment"> * Licensed to the Apache Software Foundation (ASF) under one</span></div> |
| <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * or more contributor license agreements. See the NOTICE file</span></div> |
| <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> * distributed with this work for additional information</span></div> |
| <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * regarding copyright ownership. The ASF licenses this file</span></div> |
| <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> * to you under the Apache License, Version 2.0 (the</span></div> |
| <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * "License"); you may not use this file except in compliance</span></div> |
| <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * with the License. You may obtain a copy of the License at</span></div> |
| <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> *</span></div> |
| <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * http://www.apache.org/licenses/LICENSE-2.0</span></div> |
| <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> *</span></div> |
| <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * Unless required by applicable law or agreed to in writing,</span></div> |
| <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * software distributed under the License is distributed on an</span></div> |
| <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span></div> |
| <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * KIND, either express or implied. See the License for the</span></div> |
| <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * specific language governing permissions and limitations</span></div> |
| <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * under the License.</span></div> |
| <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> */</span></div> |
| <div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  </div> |
| <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#ifndef MSHADOW_EXPRESSION_H_</span></div> |
| <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#define MSHADOW_EXPRESSION_H_</span></div> |
| <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include "<a class="code" href="3rdparty_2mshadow_2mshadow_2base_8h.html">./base.h</a>"</span></div> |
| <div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div> |
| <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">namespace </span><a class="code" href="namespacemshadow.html">mshadow</a> {</div> |
| <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">namespace </span>expr {</div> |
| <div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr_1_1type.html"> 38</a></span> <span class="keyword">namespace </span>type {</div> |
| <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// type expression type are defined as bitmask</span></div> |
| <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// subtype relationshop kRValue < kMapper < kPull < kComplex</span></div> |
| <div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr_1_1type.html#a087b8526cc89b1ecf343d0ba363c4bc6"> 45</a></span> <span class="comment"></span><span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespacemshadow_1_1expr_1_1type.html#a087b8526cc89b1ecf343d0ba363c4bc6">kRValue</a> = 0;</div> |
| <div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca"> 50</a></span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">kMapper</a> = 1;</div> |
| <div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr_1_1type.html#a4b13cee4847e885783f2d60deac391df"> 56</a></span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespacemshadow_1_1expr_1_1type.html#a4b13cee4847e885783f2d60deac391df">kChainer</a> = 3;</div> |
| <div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr_1_1type.html#a2c0e6f39c75bd68402f9ad902bb452c2"> 58</a></span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="namespacemshadow_1_1expr_1_1type.html#a2c0e6f39c75bd68402f9ad902bb452c2">kComplex</a> = 7;</div> |
| <div class="line"><a name="l00059"></a><span class="lineno"> 59</span> } <span class="comment">// namespace type</span></div> |
| <div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"></span><span class="keyword">template</span><<span class="keyword">typename</span> Saver, <span class="keyword">typename</span> RValue, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html">ExpEngine</a>;</div> |
| <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment">// template<typename EType></span></div> |
| <div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment">// inline static void Eval(RValue *dst, const EType &exp);</span></div> |
| <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment"></span><span class="keyword">template</span><<span class="keyword">typename</span> SubType, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> exp_type></div> |
| <div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1Exp.html"> 79</a></span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a> {</div> |
| <div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keyword">public</span>:</div> |
| <div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f"> 82</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> SubType& <span class="keyword">self</span>(void) <span class="keyword">const</span> {</div> |
| <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordflow">return</span> *<span class="keyword">static_cast<</span><span class="keyword">const </span>SubType*<span class="keyword">></span>(<span class="keyword">this</span>);</div> |
| <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  }</div> |
| <div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22"> 86</a></span>  <span class="keyword">inline</span> SubType* <a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(<span class="keywordtype">void</span>) {</div> |
| <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>SubType*<span class="keyword">></span>(<span class="keyword">this</span>);</div> |
| <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  }</div> |
| <div class="line"><a name="l00089"></a><span class="lineno"> 89</span> };</div> |
| <div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">template</span><<span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1ScalarExp.html"> 95</a></span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1ScalarExp.html">ScalarExp</a>: <span class="keyword">public</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a><ScalarExp<DType>, DType, type::kMapper> {</div> |
| <div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1ScalarExp.html#a8c1e8ed3c405b3fc464861a47ab13a0a"> 97</a></span>  DType <a class="code" href="structmshadow_1_1expr_1_1ScalarExp.html#a8c1e8ed3c405b3fc464861a47ab13a0a">scalar_</a>;</div> |
| <div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1ScalarExp.html#ac0000fe460cacabcaca616b2102cd7b2"> 99</a></span>  <a class="code" href="structmshadow_1_1expr_1_1ScalarExp.html#ac0000fe460cacabcaca616b2102cd7b2">ScalarExp</a>(DType <a class="code" href="namespacemshadow_1_1expr.html#ac547eb1dceee713542019c2cc6da378b">scalar</a>) : <a class="code" href="structmshadow_1_1expr_1_1ScalarExp.html#a8c1e8ed3c405b3fc464861a47ab13a0a">scalar_</a>(<a class="code" href="namespacemshadow_1_1expr.html#ac547eb1dceee713542019c2cc6da378b">scalar</a>) {} <span class="comment">// NOLINT(*)</span></div> |
| <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> };</div> |
| <div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">template</span><<span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#ac547eb1dceee713542019c2cc6da378b"> 103</a></span> <span class="keyword">inline</span> <a class="code" href="structmshadow_1_1expr_1_1ScalarExp.html">ScalarExp<DType></a> <a class="code" href="namespacemshadow_1_1expr.html#ac547eb1dceee713542019c2cc6da378b">scalar</a>(DType s) {</div> |
| <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1ScalarExp.html">ScalarExp<DType></a>(s);</div> |
| <div class="line"><a name="l00105"></a><span class="lineno"> 105</span> }</div> |
| <div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">template</span><<span class="keyword">typename</span> DstDType, <span class="keyword">typename</span> SrcDType, <span class="keyword">typename</span> EType, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TypecastExp.html"> 114</a></span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1TypecastExp.html">TypecastExp</a>:</div> |
| <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keyword">public</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a><TypecastExp<DstDType, SrcDType, EType, etype>,</div> |
| <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  DstDType, etype> {</div> |
| <div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TypecastExp.html#ab06a667c92d1e065532653024e603719"> 118</a></span>  <span class="keyword">const</span> EType &<a class="code" href="structmshadow_1_1expr_1_1TypecastExp.html#ab06a667c92d1e065532653024e603719">exp</a>;</div> |
| <div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TypecastExp.html#aaea147667aa7a286cd47ea0406da2b83"> 120</a></span>  <span class="keyword">explicit</span> <a class="code" href="structmshadow_1_1expr_1_1TypecastExp.html#aaea147667aa7a286cd47ea0406da2b83">TypecastExp</a>(<span class="keyword">const</span> EType &e) : <a class="code" href="structmshadow_1_1expr_1_1TypecastExp.html#ab06a667c92d1e065532653024e603719">exp</a>(e) {}</div> |
| <div class="line"><a name="l00121"></a><span class="lineno"> 121</span> };</div> |
| <div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">template</span><<span class="keyword">typename</span> DstDType, <span class="keyword">typename</span> SrcDType,</div> |
| <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keyword">typename</span> EType, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">inline</span> TypecastExp<DstDType, SrcDType, EType, (etype|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a513b76339ce18f021c559e17759137fd"> 126</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a513b76339ce18f021c559e17759137fd">tcast</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<EType, SrcDType, etype></a> &exp) {</div> |
| <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1TypecastExp.html">TypecastExp<DstDType, SrcDType, EType, (etype|type::kMapper)></a>(exp.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div> |
| <div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="keyword">template</span><<span class="keyword">typename</span> EType, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00131"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TransposeExp.html"> 131</a></span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp</a>: <span class="keyword">public</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a><TransposeExp<EType, DType>,</div> |
| <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  DType, type::kChainer> {</div> |
| <div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9"> 134</a></span>  <span class="keyword">const</span> EType &<a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9">exp</a>;</div> |
| <div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TransposeExp.html#aedd49aa2530e247ea7a38ac4046f91be"> 136</a></span>  <span class="keyword">explicit</span> <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#aedd49aa2530e247ea7a38ac4046f91be">TransposeExp</a>(<span class="keyword">const</span> EType &e) : <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9">exp</a>(e) {}</div> |
| <div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TransposeExp.html#add20967231669c6eaf184845787af184"> 138</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> EType &<a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#add20967231669c6eaf184845787af184">T</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{</div> |
| <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9">exp</a>;</div> |
| <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div> |
| <div class="line"><a name="l00141"></a><span class="lineno"> 141</span> };</div> |
| <div class="line"><a name="l00147"></a><span class="lineno"> 147</span> <span class="keyword">template</span><<span class="keyword">typename</span> Container, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html"> 148</a></span> <span class="keyword">class </span><a class="code" href="classmshadow_1_1expr_1_1RValueExp.html">RValueExp</a>: <span class="keyword">public</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a><Container, DType, type::kRValue> {</div> |
| <div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keyword">public</span>:</div> |
| <div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#afbddc739cc4f38e6509be4fcab0c6158"> 154</a></span>  <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp<Container, DType></a> <a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#afbddc739cc4f38e6509be4fcab0c6158">T</a>(<span class="keywordtype">void</span>)<span class="keyword"> const </span>{</div> |
| <div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp<Container, DType></a>(this-><span class="keyword">self</span>());</div> |
| <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  }</div> |
| <div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#a9b71e7ff1b97916f59e80189d00c3397"> 158</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a9b71e7ff1b97916f59e80189d00c3397">operator+=</a>(DType s) {</div> |
| <div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::plusto, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), scalar<DType>(s));</div> |
| <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div> |
| <div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#a5a57ebc2e4664dbd449d5fad81437971"> 163</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a5a57ebc2e4664dbd449d5fad81437971">operator-=</a>(DType s) {</div> |
| <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::minusto, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), scalar<DType>(s));</div> |
| <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div> |
| <div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#a2e48826ba1a6652d414fc3f18e7da7d3"> 168</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a2e48826ba1a6652d414fc3f18e7da7d3">operator*=</a>(DType s) {</div> |
| <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::multo, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), scalar<DType>(s));</div> |
| <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div> |
| <div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#a74899aa6fba6c7244733947b2082e419"> 173</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a74899aa6fba6c7244733947b2082e419">operator/=</a>(DType s) {</div> |
| <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::divto, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), scalar<DType>(s));</div> |
| <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  }</div> |
| <div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#a97259deba3e7b8b1876e1c032f62bd08"> 178</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a97259deba3e7b8b1876e1c032f62bd08">__assign</a>(DType s) {</div> |
| <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::saveto, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), scalar<DType>(s));</div> |
| <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  }</div> |
| <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keyword">template</span><<span class="keyword">typename</span> E, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#a77989f0785ef5c2155af97b1387bf74d"> 184</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a77989f0785ef5c2155af97b1387bf74d">__assign</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<E, DType, etype></a> &exp) {</div> |
| <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::saveto, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), exp.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  }</div> |
| <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a97259deba3e7b8b1876e1c032f62bd08">__assign</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<Container, DType, type::kRValue></a> &exp);</div> |
| <div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">template</span><<span class="keyword">typename</span> E, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#a90fd315110a1411242d01910a62606b0"> 192</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a90fd315110a1411242d01910a62606b0">operator+=</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<E, DType, etype></a> &exp) {</div> |
| <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::plusto, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), exp.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  }</div> |
| <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keyword">template</span><<span class="keyword">typename</span> E, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#af17249e9767315e4354b47a6f8d32863"> 198</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#af17249e9767315e4354b47a6f8d32863">operator-=</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<E, DType, etype></a> &exp) {</div> |
| <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::minusto, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), exp.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  }</div> |
| <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keyword">template</span><<span class="keyword">typename</span> E, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#a00168acddb335d598037453e72442f35"> 204</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#a00168acddb335d598037453e72442f35">operator*=</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<E, DType, etype></a> &exp) {</div> |
| <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::multo, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), exp.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  }</div> |
| <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keyword">template</span><<span class="keyword">typename</span> E, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00210"></a><span class="lineno"><a class="line" href="classmshadow_1_1expr_1_1RValueExp.html#abe11ee1a68265237fc9b64aee7df0ff4"> 210</a></span>  <span class="keyword">inline</span> Container &<a class="code" href="classmshadow_1_1expr_1_1RValueExp.html#abe11ee1a68265237fc9b64aee7df0ff4">operator/=</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<E, DType, etype></a> &exp) {</div> |
| <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">ExpEngine<sv::divto, Container, DType>::Eval</a>(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>(), exp.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keywordflow">return</span> *(this-><a class="code" href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">ptrself</a>());</div> |
| <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div> |
| <div class="line"><a name="l00214"></a><span class="lineno"> 214</span> };</div> |
| <div class="line"><a name="l00223"></a><span class="lineno"> 223</span> <span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keywordtype">bool</span> ltrans, <span class="keywordtype">bool</span> rtrans, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1DotExp.html"> 224</a></span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1DotExp.html">DotExp</a>: <span class="keyword">public</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a><DotExp<TA, TB, ltrans, rtrans, DType>,</div> |
| <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  DType, type::kComplex> {</div> |
| <div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1DotExp.html#a2a38e4b023f1fc0e379973f5cc081662"> 227</a></span>  <span class="keyword">const</span> TA &<a class="code" href="structmshadow_1_1expr_1_1DotExp.html#a2a38e4b023f1fc0e379973f5cc081662">lhs_</a>;</div> |
| <div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1DotExp.html#adb6e2f6570662aff428a2432dfc07e6f"> 229</a></span>  <span class="keyword">const</span> TB &<a class="code" href="structmshadow_1_1expr_1_1DotExp.html#adb6e2f6570662aff428a2432dfc07e6f">rhs_</a>;</div> |
| <div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1DotExp.html#a6fa3faab0b6b6bd027a14a7a80bf2f4a"> 231</a></span>  DType <a class="code" href="structmshadow_1_1expr_1_1DotExp.html#a6fa3faab0b6b6bd027a14a7a80bf2f4a">scale_</a>;</div> |
| <div class="line"><a name="l00233"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1DotExp.html#abb9d8d8927cd0dae640564406b0c7c53"> 233</a></span>  <span class="keyword">explicit</span> <a class="code" href="structmshadow_1_1expr_1_1DotExp.html#abb9d8d8927cd0dae640564406b0c7c53">DotExp</a>(<span class="keyword">const</span> TA &lhs, <span class="keyword">const</span> TB &rhs, DType scale)</div> |
| <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  : <a class="code" href="structmshadow_1_1expr_1_1DotExp.html#a2a38e4b023f1fc0e379973f5cc081662">lhs_</a>(lhs), <a class="code" href="structmshadow_1_1expr_1_1DotExp.html#adb6e2f6570662aff428a2432dfc07e6f">rhs_</a>(rhs), <a class="code" href="structmshadow_1_1expr_1_1DotExp.html#a6fa3faab0b6b6bd027a14a7a80bf2f4a">scale_</a>(scale) {}</div> |
| <div class="line"><a name="l00235"></a><span class="lineno"> 235</span> };</div> |
| <div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="comment">// definition of dot expression</span></div> |
| <div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="comment"></span><span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">inline</span> DotExp<TA, TB, false, false, DType></div> |
| <div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a496d2f5fb874d0a8d59b6a0b4374e2df"> 240</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a496d2f5fb874d0a8d59b6a0b4374e2df">dot</a>(<span class="keyword">const</span> <a class="code" href="classmshadow_1_1expr_1_1RValueExp.html">RValueExp<TA, DType></a> &lhs, <span class="keyword">const</span> <a class="code" href="classmshadow_1_1expr_1_1RValueExp.html">RValueExp<TB, DType></a> &rhs) {</div> |
| <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1DotExp.html">DotExp<TA, TB, false, false, DType></a>(lhs.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), rhs.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), DType(1.0f));</div> |
| <div class="line"><a name="l00242"></a><span class="lineno"> 242</span> }</div> |
| <div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00245"></a><span class="lineno"> 245</span> <span class="keyword">inline</span> DotExp<TA, TB, true, false, DType></div> |
| <div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#af130ed37f8182c86209b1e5679c4c53a"> 246</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a496d2f5fb874d0a8d59b6a0b4374e2df">dot</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp<TA, DType></a> &lhs, <span class="keyword">const</span> <a class="code" href="classmshadow_1_1expr_1_1RValueExp.html">RValueExp<TB, DType></a> &rhs) {</div> |
| <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1DotExp.html">DotExp<TA, TB, true, false, DType></a>(lhs.<a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9">exp</a>, rhs.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), DType(1.0f));</div> |
| <div class="line"><a name="l00248"></a><span class="lineno"> 248</span> }</div> |
| <div class="line"><a name="l00250"></a><span class="lineno"> 250</span> <span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="keyword">inline</span> DotExp<TA, TB, false, true, DType></div> |
| <div class="line"><a name="l00252"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a96329b25d94f1c7a6ad0cfe74cc0cd01"> 252</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a496d2f5fb874d0a8d59b6a0b4374e2df">dot</a>(<span class="keyword">const</span> <a class="code" href="classmshadow_1_1expr_1_1RValueExp.html">RValueExp<TA, DType></a> &lhs, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp<TB, DType></a> &rhs) {</div> |
| <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1DotExp.html">DotExp<TA, TB, false, true, DType></a>(lhs.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), rhs.<a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9">exp</a>, DType(1.0f));</div> |
| <div class="line"><a name="l00254"></a><span class="lineno"> 254</span> }</div> |
| <div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="keyword">inline</span> DotExp<TA, TB, true, true, DType></div> |
| <div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a8857dc8dec6fc72b6a4087d6c3201363"> 258</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a496d2f5fb874d0a8d59b6a0b4374e2df">dot</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp<TA, DType></a> &lhs, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html">TransposeExp<TB, DType></a> &rhs) {</div> |
| <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1DotExp.html">DotExp<TA, TB, true, true, DType></a>(lhs.<a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9">exp</a>, rhs.<a class="code" href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9">exp</a>, DType(1.0f));</div> |
| <div class="line"><a name="l00260"></a><span class="lineno"> 260</span> }</div> |
| <div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="keyword">template</span><<span class="keywordtype">bool</span> transpose_left, <span class="keywordtype">bool</span> transpose_right, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType></div> |
| <div class="line"><a name="l00263"></a><span class="lineno"> 263</span> <span class="keyword">inline</span> DotExp<TA, TB, transpose_left, transpose_right, DType></div> |
| <div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a1f9c3a5d39b8b252ff12fe691665db2e"> 264</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a1f9c3a5d39b8b252ff12fe691665db2e">batch_dot</a>(<span class="keyword">const</span> <a class="code" href="classmshadow_1_1expr_1_1RValueExp.html">RValueExp<TA, DType></a> &lhs, <span class="keyword">const</span> <a class="code" href="classmshadow_1_1expr_1_1RValueExp.html">RValueExp<TB, DType></a> &rhs) {</div> |
| <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1DotExp.html">DotExp<TA, TB, transpose_left, transpose_right, DType></a>(</div> |
| <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  lhs.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), rhs.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), DType(1.0f));</div> |
| <div class="line"><a name="l00267"></a><span class="lineno"> 267</span> }</div> |
| <div class="line"><a name="l00268"></a><span class="lineno"> 268</span> <span class="comment">//---------------</span></div> |
| <div class="line"><a name="l00269"></a><span class="lineno"> 269</span> <span class="comment">// TernaryMapExp</span></div> |
| <div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">// --------------</span></div> |
| <div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="comment"></span><span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> TC, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TernaryMapExp.html"> 279</a></span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html">TernaryMapExp</a>: <span class="keyword">public</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a><TernaryMapExp<OP, TA, TB, TC, DType, etype>,</div> |
| <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  DType, etype> {</div> |
| <div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TernaryMapExp.html#a2c0e60dca07dc380daaf466bf3865d50"> 282</a></span>  <span class="keyword">const</span> TA &<a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html#a2c0e60dca07dc380daaf466bf3865d50">item1_</a>;</div> |
| <div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TernaryMapExp.html#a357cad3472616e53a72e8fdd789ae2be"> 284</a></span>  <span class="keyword">const</span> TB &<a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html#a357cad3472616e53a72e8fdd789ae2be">item2_</a>;</div> |
| <div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TernaryMapExp.html#af59015a8e257dc844f30cd57b864490f"> 286</a></span>  <span class="keyword">const</span> TC &<a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html#af59015a8e257dc844f30cd57b864490f">item3_</a>;</div> |
| <div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1TernaryMapExp.html#a0398189bd6c5398c2b04d3cf1e10e31c"> 288</a></span>  <span class="keyword">explicit</span> <a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html#a0398189bd6c5398c2b04d3cf1e10e31c">TernaryMapExp</a>(<span class="keyword">const</span> TA &item1, <span class="keyword">const</span> TB &item2, <span class="keyword">const</span> TC &item3)</div> |
| <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  :<a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html#a2c0e60dca07dc380daaf466bf3865d50">item1_</a>(item1), <a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html#a357cad3472616e53a72e8fdd789ae2be">item2_</a>(item2), <a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html#af59015a8e257dc844f30cd57b864490f">item3_</a>(item3) {}</div> |
| <div class="line"><a name="l00290"></a><span class="lineno"> 290</span> };</div> |
| <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  </div> |
| <div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> TC, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta, <span class="keywordtype">int</span> tb, <span class="keywordtype">int</span> tc></div> |
| <div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keyword">inline</span> TernaryMapExp<OP, TA, TB, TC, DType, (ta|tb|tc|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a442b8eeb8062cb8994c093f74d28c590"> 295</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a442b8eeb8062cb8994c093f74d28c590">MakeExp</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &item1, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TB, DType, tb></a> &item2,</div> |
| <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TC, DType, tc></a> &item3) {</div> |
| <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1TernaryMapExp.html">TernaryMapExp</a><OP, TA, TB, TC, DType,</div> |
| <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  (ta|tb|tc|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)>(item1.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), item2.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), item3.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00299"></a><span class="lineno"> 299</span> }</div> |
| <div class="line"><a name="l00316"></a><span class="lineno"> 316</span> <span class="comment">// Ternary</span></div> |
| <div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> TC, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta, <span class="keywordtype">int</span> tb, <span class="keywordtype">int</span> tc></div> |
| <div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="keyword">inline</span> TernaryMapExp<OP, TA, TB, TC, DType, (ta|tb|tc|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a35d03249156f3202fa2411370194d26b"> 319</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a78641f307f27330ec67149865eb2222f">F</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &item1, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TB, DType, tb></a> &item2,</div> |
| <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TC, DType, tc></a> &item3) {</div> |
| <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">return</span> MakeExp<OP>(item1, item2, item3);</div> |
| <div class="line"><a name="l00322"></a><span class="lineno"> 322</span> }</div> |
| <div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment">//---------------</span></div> |
| <div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment">// BinaryMapExp</span></div> |
| <div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment">// --------------</span></div> |
| <div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"></span><span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00334"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1BinaryMapExp.html"> 334</a></span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1BinaryMapExp.html">BinaryMapExp</a>: <span class="keyword">public</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a><BinaryMapExp<OP, TA, TB, DType, etype>,</div> |
| <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  DType, etype> {</div> |
| <div class="line"><a name="l00337"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1BinaryMapExp.html#ae4d3d912e56bbad508abeeed4743c38c"> 337</a></span>  <span class="keyword">const</span> TA &<a class="code" href="structmshadow_1_1expr_1_1BinaryMapExp.html#ae4d3d912e56bbad508abeeed4743c38c">lhs_</a>;</div> |
| <div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1BinaryMapExp.html#a9afdad54a6a226b251fc4cd4ed92050f"> 339</a></span>  <span class="keyword">const</span> TB &<a class="code" href="structmshadow_1_1expr_1_1BinaryMapExp.html#a9afdad54a6a226b251fc4cd4ed92050f">rhs_</a>;</div> |
| <div class="line"><a name="l00341"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1BinaryMapExp.html#a6d8c85b45bf135282092125b133dd3f7"> 341</a></span>  <span class="keyword">explicit</span> <a class="code" href="structmshadow_1_1expr_1_1BinaryMapExp.html#a6d8c85b45bf135282092125b133dd3f7">BinaryMapExp</a>(<span class="keyword">const</span> TA &lhs, <span class="keyword">const</span> TB &rhs)</div> |
| <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  :<a class="code" href="structmshadow_1_1expr_1_1BinaryMapExp.html#ae4d3d912e56bbad508abeeed4743c38c">lhs_</a>(lhs), <a class="code" href="structmshadow_1_1expr_1_1BinaryMapExp.html#a9afdad54a6a226b251fc4cd4ed92050f">rhs_</a>(rhs) {}</div> |
| <div class="line"><a name="l00343"></a><span class="lineno"> 343</span> };</div> |
| <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  </div> |
| <div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta, <span class="keywordtype">int</span> tb></div> |
| <div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="keyword">inline</span> BinaryMapExp<OP, TA, TB, DType, (ta|tb|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a7c4f7f5cef472d6843e13ca4e5b5e396"> 348</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a442b8eeb8062cb8994c093f74d28c590">MakeExp</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &lhs, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TB, DType, tb></a> &rhs) {</div> |
| <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1BinaryMapExp.html">BinaryMapExp</a><OP, TA, TB, DType,</div> |
| <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  (ta|tb|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)>(lhs.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>(), rhs.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00351"></a><span class="lineno"> 351</span> }</div> |
| <div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta, <span class="keywordtype">int</span> tb></div> |
| <div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="keyword">inline</span> BinaryMapExp<OP, TA, TB, DType, (ta|tb|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00366"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a81957f05f494b745aa7d817c747cbdd6"> 366</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a78641f307f27330ec67149865eb2222f">F</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &lhs, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TB, DType, tb></a> &rhs) {</div> |
| <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keywordflow">return</span> MakeExp<OP>(lhs, rhs);</div> |
| <div class="line"><a name="l00368"></a><span class="lineno"> 368</span> }</div> |
| <div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment">// operator rules</span></div> |
| <div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"></span><span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta, <span class="keywordtype">int</span> tb></div> |
| <div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="keyword">inline</span> BinaryMapExp<<a class="code" href="structmshadow_1_1op_1_1plus.html">op::plus</a>, TA, TB, DType, (ta|tb|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a5e09e9fb33de05e81dfc9f80251a59a7"> 373</a></span> <span class="keyword">operator</span>+(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &lhs, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TB, DType, tb></a> &rhs) {</div> |
| <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordflow">return</span> MakeExp<op::plus>(lhs, rhs);</div> |
| <div class="line"><a name="l00375"></a><span class="lineno"> 375</span> }</div> |
| <div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta, <span class="keywordtype">int</span> tb></div> |
| <div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="keyword">inline</span> BinaryMapExp<<a class="code" href="structmshadow_1_1op_1_1minus.html">op::minus</a>, TA, TB, DType, (ta|tb|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a655e4f6c60a2673860c2dc23c218266b"> 379</a></span> <span class="keyword">operator</span>-(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &lhs, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TB, DType, tb></a> &rhs) {</div> |
| <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="keywordflow">return</span> MakeExp<op::minus>(lhs, rhs);</div> |
| <div class="line"><a name="l00381"></a><span class="lineno"> 381</span> }</div> |
| <div class="line"><a name="l00383"></a><span class="lineno"> 383</span> <span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta, <span class="keywordtype">int</span> tb></div> |
| <div class="line"><a name="l00384"></a><span class="lineno"> 384</span> <span class="keyword">inline</span> BinaryMapExp<<a class="code" href="structmshadow_1_1op_1_1mul.html">op::mul</a>, TA, TB, DType, (ta|tb|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a1858113c1415f381b4699fe0a2fd5db5"> 385</a></span> <span class="keyword">operator</span>*(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &lhs, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TB, DType, tb></a> &rhs) {</div> |
| <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">return</span> MakeExp<op::mul>(lhs, rhs);</div> |
| <div class="line"><a name="l00387"></a><span class="lineno"> 387</span> }</div> |
| <div class="line"><a name="l00389"></a><span class="lineno"> 389</span> <span class="keyword">template</span><<span class="keyword">typename</span> TA, <span class="keyword">typename</span> TB, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta, <span class="keywordtype">int</span> tb></div> |
| <div class="line"><a name="l00390"></a><span class="lineno"> 390</span> <span class="keyword">inline</span> BinaryMapExp<<a class="code" href="structmshadow_1_1op_1_1div.html">op::div</a>, TA, TB, DType, (ta|tb|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a4ef511dcd1a5962b443e39e849afe570"> 391</a></span> <span class="keyword">operator</span>/(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &lhs, <span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TB, DType, tb></a> &rhs) {</div> |
| <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">return</span> MakeExp<op::div>(lhs, rhs);</div> |
| <div class="line"><a name="l00393"></a><span class="lineno"> 393</span> }</div> |
| <div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="comment">//---------------</span></div> |
| <div class="line"><a name="l00395"></a><span class="lineno"> 395</span> <span class="comment">// UnaryMapExp</span></div> |
| <div class="line"><a name="l00396"></a><span class="lineno"> 396</span> <span class="comment">// --------------</span></div> |
| <div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="comment"></span><span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> etype></div> |
| <div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1UnaryMapExp.html"> 404</a></span> <span class="keyword">struct </span><a class="code" href="structmshadow_1_1expr_1_1UnaryMapExp.html">UnaryMapExp</a>: <span class="keyword">public</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp</a><UnaryMapExp<OP, TA, DType, etype>,</div> |
| <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  DType, etype> {</div> |
| <div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1UnaryMapExp.html#a2916051247ff9e5f1ff4c5020738d36c"> 407</a></span>  <span class="keyword">const</span> TA &<a class="code" href="structmshadow_1_1expr_1_1UnaryMapExp.html#a2916051247ff9e5f1ff4c5020738d36c">src_</a>;</div> |
| <div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="structmshadow_1_1expr_1_1UnaryMapExp.html#a2979e6396e5b22d347cd785f14e3675a"> 409</a></span>  <span class="keyword">explicit</span> <a class="code" href="structmshadow_1_1expr_1_1UnaryMapExp.html#a2979e6396e5b22d347cd785f14e3675a">UnaryMapExp</a>(<span class="keyword">const</span> TA &src) : <a class="code" href="structmshadow_1_1expr_1_1UnaryMapExp.html#a2916051247ff9e5f1ff4c5020738d36c">src_</a>(src) {}</div> |
| <div class="line"><a name="l00410"></a><span class="lineno"> 410</span> };</div> |
| <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  </div> |
| <div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta></div> |
| <div class="line"><a name="l00414"></a><span class="lineno"> 414</span> <span class="keyword">inline</span> UnaryMapExp<OP, TA, DType, (ta|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#ade38b0eaf0a6f67cea58c85e09c70a66"> 415</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a442b8eeb8062cb8994c093f74d28c590">MakeExp</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &src) {</div> |
| <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">return</span> <a class="code" href="structmshadow_1_1expr_1_1UnaryMapExp.html">UnaryMapExp<OP, TA, DType, (ta|type::kMapper)></a>(src.<a class="code" href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">self</a>());</div> |
| <div class="line"><a name="l00417"></a><span class="lineno"> 417</span> }</div> |
| <div class="line"><a name="l00427"></a><span class="lineno"> 427</span> <span class="keyword">template</span><<span class="keyword">typename</span> OP, <span class="keyword">typename</span> TA, <span class="keyword">typename</span> DType, <span class="keywordtype">int</span> ta></div> |
| <div class="line"><a name="l00428"></a><span class="lineno"> 428</span> <span class="keyword">inline</span> UnaryMapExp<OP, TA, DType, (ta|<a class="code" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">type::kMapper</a>)></div> |
| <div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="namespacemshadow_1_1expr.html#a4497b70d1fcd20ec79449c2a35409b49"> 429</a></span> <a class="code" href="namespacemshadow_1_1expr.html#a78641f307f27330ec67149865eb2222f">F</a>(<span class="keyword">const</span> <a class="code" href="structmshadow_1_1expr_1_1Exp.html">Exp<TA, DType, ta></a> &src) {</div> |
| <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">return</span> MakeExp<OP>(src);</div> |
| <div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div> |
| <div class="line"><a name="l00432"></a><span class="lineno"> 432</span> } <span class="comment">// namespace expr</span></div> |
| <div class="line"><a name="l00433"></a><span class="lineno"> 433</span> } <span class="comment">// namespace mshadow</span></div> |
| <div class="line"><a name="l00434"></a><span class="lineno"> 434</span> <span class="preprocessor">#endif // MSHADOW_EXPRESSION_H_</span></div> |
| </div><!-- fragment --></div><!-- contents --> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1Exp_html_adb7e4afd0baed78d66cff87de0a6621f"><div class="ttname"><a href="structmshadow_1_1expr_1_1Exp.html#adb7e4afd0baed78d66cff87de0a6621f">mshadow::expr::Exp::self</a></div><div class="ttdeci">const SubType & self(void) const</div><div class="ttdef"><b>Definition:</b> expression.h:82</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_html_ac547eb1dceee713542019c2cc6da378b"><div class="ttname"><a href="namespacemshadow_1_1expr.html#ac547eb1dceee713542019c2cc6da378b">mshadow::expr::scalar</a></div><div class="ttdeci">ScalarExp< DType > scalar(DType s)</div><div class="ttdoc">create an scalar expression</div><div class="ttdef"><b>Definition:</b> expression.h:103</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TypecastExp_html_ab06a667c92d1e065532653024e603719"><div class="ttname"><a href="structmshadow_1_1expr_1_1TypecastExp.html#ab06a667c92d1e065532653024e603719">mshadow::expr::TypecastExp::exp</a></div><div class="ttdeci">const EType & exp</div><div class="ttdoc">expression to be typecasted</div><div class="ttdef"><b>Definition:</b> expression.h:118</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_html_a442b8eeb8062cb8994c093f74d28c590"><div class="ttname"><a href="namespacemshadow_1_1expr.html#a442b8eeb8062cb8994c093f74d28c590">mshadow::expr::MakeExp</a></div><div class="ttdeci">TernaryMapExp< OP, TA, TB, TC, DType,(ta|tb|tc|type::kMapper)> MakeExp(const Exp< TA, DType, ta > &item1, const Exp< TB, DType, tb > &item2, const Exp< TC, DType, tc > &item3)</div><div class="ttdoc">make expression</div><div class="ttdef"><b>Definition:</b> expression.h:295</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_abe11ee1a68265237fc9b64aee7df0ff4"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#abe11ee1a68265237fc9b64aee7df0ff4">mshadow::expr::RValueExp::operator/=</a></div><div class="ttdeci">Container & operator/=(const Exp< E, DType, etype > &exp)</div><div class="ttdoc">implementation of operator/=</div><div class="ttdef"><b>Definition:</b> expression.h:210</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_afbddc739cc4f38e6509be4fcab0c6158"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#afbddc739cc4f38e6509be4fcab0c6158">mshadow::expr::RValueExp::T</a></div><div class="ttdeci">const TransposeExp< Container, DType > T(void) const</div><div class="ttdoc">transpose of a matrix</div><div class="ttdef"><b>Definition:</b> expression.h:154</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TypecastExp_html_aaea147667aa7a286cd47ea0406da2b83"><div class="ttname"><a href="structmshadow_1_1expr_1_1TypecastExp.html#aaea147667aa7a286cd47ea0406da2b83">mshadow::expr::TypecastExp::TypecastExp</a></div><div class="ttdeci">TypecastExp(const EType &e)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition:</b> expression.h:120</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1Exp_html_ad6f23b53ba2fc3c2b594cf2ddfba5b22"><div class="ttname"><a href="structmshadow_1_1expr_1_1Exp.html#ad6f23b53ba2fc3c2b594cf2ddfba5b22">mshadow::expr::Exp::ptrself</a></div><div class="ttdeci">SubType * ptrself(void)</div><div class="ttdef"><b>Definition:</b> expression.h:86</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TypecastExp_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1TypecastExp.html">mshadow::expr::TypecastExp</a></div><div class="ttdoc">typecast expression, cast the type of elements</div><div class="ttdef"><b>Definition:</b> expression.h:114</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_html_a1f9c3a5d39b8b252ff12fe691665db2e"><div class="ttname"><a href="namespacemshadow_1_1expr.html#a1f9c3a5d39b8b252ff12fe691665db2e">mshadow::expr::batch_dot</a></div><div class="ttdeci">DotExp< TA, TB, transpose_left, transpose_right, DType > batch_dot(const RValueExp< TA, DType > &lhs, const RValueExp< TB, DType > &rhs)</div><div class="ttdoc">batch_dot operator def</div><div class="ttdef"><b>Definition:</b> expression.h:264</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_a5a57ebc2e4664dbd449d5fad81437971"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#a5a57ebc2e4664dbd449d5fad81437971">mshadow::expr::RValueExp::operator-=</a></div><div class="ttdeci">Container & operator-=(DType s)</div><div class="ttdoc">operator overload</div><div class="ttdef"><b>Definition:</b> expression.h:163</div></div> |
| <div class="ttc" id="astructmshadow_1_1op_1_1minus_html"><div class="ttname"><a href="structmshadow_1_1op_1_1minus.html">mshadow::op::minus</a></div><div class="ttdoc">minus operator</div><div class="ttdef"><b>Definition:</b> base.h:641</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1DotExp_html_abb9d8d8927cd0dae640564406b0c7c53"><div class="ttname"><a href="structmshadow_1_1expr_1_1DotExp.html#abb9d8d8927cd0dae640564406b0c7c53">mshadow::expr::DotExp::DotExp</a></div><div class="ttdeci">DotExp(const TA &lhs, const TB &rhs, DType scale)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition:</b> expression.h:233</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1DotExp_html_a2a38e4b023f1fc0e379973f5cc081662"><div class="ttname"><a href="structmshadow_1_1expr_1_1DotExp.html#a2a38e4b023f1fc0e379973f5cc081662">mshadow::expr::DotExp::lhs_</a></div><div class="ttdeci">const TA & lhs_</div><div class="ttdoc">left operand</div><div class="ttdef"><b>Definition:</b> expression.h:227</div></div> |
| <div class="ttc" id="astructmshadow_1_1op_1_1div_html"><div class="ttname"><a href="structmshadow_1_1op_1_1div.html">mshadow::op::div</a></div><div class="ttdoc">divide operator</div><div class="ttdef"><b>Definition:</b> base.h:649</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TernaryMapExp_html_af59015a8e257dc844f30cd57b864490f"><div class="ttname"><a href="structmshadow_1_1expr_1_1TernaryMapExp.html#af59015a8e257dc844f30cd57b864490f">mshadow::expr::TernaryMapExp::item3_</a></div><div class="ttdeci">const TC & item3_</div><div class="ttdoc">third operand</div><div class="ttdef"><b>Definition:</b> expression.h:286</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1ExpEngine_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1ExpEngine.html">mshadow::expr::ExpEngine</a></div><div class="ttdoc">the engine that dispatches simple operations</div><div class="ttdef"><b>Definition:</b> expr_engine-inl.h:460</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TernaryMapExp_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1TernaryMapExp.html">mshadow::expr::TernaryMapExp</a></div><div class="ttdoc">ternary map expression</div><div class="ttdef"><b>Definition:</b> expression.h:279</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TernaryMapExp_html_a2c0e60dca07dc380daaf466bf3865d50"><div class="ttname"><a href="structmshadow_1_1expr_1_1TernaryMapExp.html#a2c0e60dca07dc380daaf466bf3865d50">mshadow::expr::TernaryMapExp::item1_</a></div><div class="ttdeci">const TA & item1_</div><div class="ttdoc">first operand</div><div class="ttdef"><b>Definition:</b> expression.h:282</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_a00168acddb335d598037453e72442f35"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#a00168acddb335d598037453e72442f35">mshadow::expr::RValueExp::operator*=</a></div><div class="ttdeci">Container & operator*=(const Exp< E, DType, etype > &exp)</div><div class="ttdoc">implementation of operator*=</div><div class="ttdef"><b>Definition:</b> expression.h:204</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1BinaryMapExp_html_a6d8c85b45bf135282092125b133dd3f7"><div class="ttname"><a href="structmshadow_1_1expr_1_1BinaryMapExp.html#a6d8c85b45bf135282092125b133dd3f7">mshadow::expr::BinaryMapExp::BinaryMapExp</a></div><div class="ttdeci">BinaryMapExp(const TA &lhs, const TB &rhs)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition:</b> expression.h:341</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_html_a78641f307f27330ec67149865eb2222f"><div class="ttname"><a href="namespacemshadow_1_1expr.html#a78641f307f27330ec67149865eb2222f">mshadow::expr::F</a></div><div class="ttdeci">BinaryMapExp< OP, TA, ScalarExp< MSHADOW_SCALAR_ >, MSHADOW_SCALAR_,(ta|type::kMapper)> F(const Exp< TA, MSHADOW_SCALAR_, ta > &lhs, const ScalarExp< MSHADOW_SCALAR_ > &rhs)</div><div class="ttdoc">operator overload for const</div><div class="ttdef"><b>Definition:</b> expr_scalar-inl.h:71</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_html_a513b76339ce18f021c559e17759137fd"><div class="ttname"><a href="namespacemshadow_1_1expr.html#a513b76339ce18f021c559e17759137fd">mshadow::expr::tcast</a></div><div class="ttdeci">TypecastExp< DstDType, SrcDType, EType,(etype|type::kMapper)> tcast(const Exp< EType, SrcDType, etype > &exp)</div><div class="ttdoc">create an scalar expression</div><div class="ttdef"><b>Definition:</b> expression.h:126</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_1_1type_html_aa700f17fa964d262266efd336d5c50ca"><div class="ttname"><a href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">mshadow::expr::type::kMapper</a></div><div class="ttdeci">const int kMapper</div><div class="ttdoc">expression contains element-wise tensor operations, map a expression to same shape</div><div class="ttdef"><b>Definition:</b> expression.h:50</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1BinaryMapExp_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1BinaryMapExp.html">mshadow::expr::BinaryMapExp</a></div><div class="ttdoc">binary map expression lhs [op] rhs</div><div class="ttdef"><b>Definition:</b> expression.h:334</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_af17249e9767315e4354b47a6f8d32863"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#af17249e9767315e4354b47a6f8d32863">mshadow::expr::RValueExp::operator-=</a></div><div class="ttdeci">Container & operator-=(const Exp< E, DType, etype > &exp)</div><div class="ttdoc">implementation of operator-=</div><div class="ttdef"><b>Definition:</b> expression.h:198</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TransposeExp_html_add20967231669c6eaf184845787af184"><div class="ttname"><a href="structmshadow_1_1expr_1_1TransposeExp.html#add20967231669c6eaf184845787af184">mshadow::expr::TransposeExp::T</a></div><div class="ttdeci">const EType & T(void) const</div><div class="ttdoc">transpose expression</div><div class="ttdef"><b>Definition:</b> expression.h:138</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1DotExp_html_a6fa3faab0b6b6bd027a14a7a80bf2f4a"><div class="ttname"><a href="structmshadow_1_1expr_1_1DotExp.html#a6fa3faab0b6b6bd027a14a7a80bf2f4a">mshadow::expr::DotExp::scale_</a></div><div class="ttdeci">DType scale_</div><div class="ttdoc">scale over result</div><div class="ttdef"><b>Definition:</b> expression.h:231</div></div> |
| <div class="ttc" id="astructmshadow_1_1op_1_1plus_html"><div class="ttname"><a href="structmshadow_1_1op_1_1plus.html">mshadow::op::plus</a></div><div class="ttdoc">plus operator</div><div class="ttdef"><b>Definition:</b> base.h:633</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1DotExp_html_adb6e2f6570662aff428a2432dfc07e6f"><div class="ttname"><a href="structmshadow_1_1expr_1_1DotExp.html#adb6e2f6570662aff428a2432dfc07e6f">mshadow::expr::DotExp::rhs_</a></div><div class="ttdeci">const TB & rhs_</div><div class="ttdoc">right operand</div><div class="ttdef"><b>Definition:</b> expression.h:229</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_a74899aa6fba6c7244733947b2082e419"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#a74899aa6fba6c7244733947b2082e419">mshadow::expr::RValueExp::operator/=</a></div><div class="ttdeci">Container & operator/=(DType s)</div><div class="ttdoc">operator overload</div><div class="ttdef"><b>Definition:</b> expression.h:173</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_1_1type_html_a2c0e6f39c75bd68402f9ad902bb452c2"><div class="ttname"><a href="namespacemshadow_1_1expr_1_1type.html#a2c0e6f39c75bd68402f9ad902bb452c2">mshadow::expr::type::kComplex</a></div><div class="ttdeci">const int kComplex</div><div class="ttdoc">othercase: e.g dot product</div><div class="ttdef"><b>Definition:</b> expression.h:58</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1UnaryMapExp_html_a2916051247ff9e5f1ff4c5020738d36c"><div class="ttname"><a href="structmshadow_1_1expr_1_1UnaryMapExp.html#a2916051247ff9e5f1ff4c5020738d36c">mshadow::expr::UnaryMapExp::src_</a></div><div class="ttdeci">const TA & src_</div><div class="ttdoc">source expression</div><div class="ttdef"><b>Definition:</b> expression.h:407</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TernaryMapExp_html_a357cad3472616e53a72e8fdd789ae2be"><div class="ttname"><a href="structmshadow_1_1expr_1_1TernaryMapExp.html#a357cad3472616e53a72e8fdd789ae2be">mshadow::expr::TernaryMapExp::item2_</a></div><div class="ttdeci">const TB & item2_</div><div class="ttdoc">second operand</div><div class="ttdef"><b>Definition:</b> expression.h:284</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_a9b71e7ff1b97916f59e80189d00c3397"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#a9b71e7ff1b97916f59e80189d00c3397">mshadow::expr::RValueExp::operator+=</a></div><div class="ttdeci">Container & operator+=(DType s)</div><div class="ttdoc">operator overload</div><div class="ttdef"><b>Definition:</b> expression.h:158</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1ScalarExp_html_a8c1e8ed3c405b3fc464861a47ab13a0a"><div class="ttname"><a href="structmshadow_1_1expr_1_1ScalarExp.html#a8c1e8ed3c405b3fc464861a47ab13a0a">mshadow::expr::ScalarExp::scalar_</a></div><div class="ttdeci">DType scalar_</div><div class="ttdoc">scalar value</div><div class="ttdef"><b>Definition:</b> expression.h:97</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1ScalarExp_html_ac0000fe460cacabcaca616b2102cd7b2"><div class="ttname"><a href="structmshadow_1_1expr_1_1ScalarExp.html#ac0000fe460cacabcaca616b2102cd7b2">mshadow::expr::ScalarExp::ScalarExp</a></div><div class="ttdeci">ScalarExp(DType scalar)</div><div class="ttdoc">implicit constructor, MUST NOT BE explicit</div><div class="ttdef"><b>Definition:</b> expression.h:99</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1UnaryMapExp_html_a2979e6396e5b22d347cd785f14e3675a"><div class="ttname"><a href="structmshadow_1_1expr_1_1UnaryMapExp.html#a2979e6396e5b22d347cd785f14e3675a">mshadow::expr::UnaryMapExp::UnaryMapExp</a></div><div class="ttdeci">UnaryMapExp(const TA &src)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition:</b> expression.h:409</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1BinaryMapExp_html_a9afdad54a6a226b251fc4cd4ed92050f"><div class="ttname"><a href="structmshadow_1_1expr_1_1BinaryMapExp.html#a9afdad54a6a226b251fc4cd4ed92050f">mshadow::expr::BinaryMapExp::rhs_</a></div><div class="ttdeci">const TB & rhs_</div><div class="ttdoc">right operand</div><div class="ttdef"><b>Definition:</b> expression.h:339</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html">mshadow::expr::RValueExp</a></div><div class="ttdoc">base class of all rvalues</div><div class="ttdef"><b>Definition:</b> expression.h:148</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1Exp_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1Exp.html">mshadow::expr::Exp</a></div><div class="ttdoc">defines how expression exp can be evaluated and stored into dst</div><div class="ttdef"><b>Definition:</b> expression.h:79</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_a77989f0785ef5c2155af97b1387bf74d"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#a77989f0785ef5c2155af97b1387bf74d">mshadow::expr::RValueExp::__assign</a></div><div class="ttdeci">Container & __assign(const Exp< E, DType, etype > &exp)</div><div class="ttdoc">we can not define container = container</div><div class="ttdef"><b>Definition:</b> expression.h:184</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TransposeExp_html_aedd49aa2530e247ea7a38ac4046f91be"><div class="ttname"><a href="structmshadow_1_1expr_1_1TransposeExp.html#aedd49aa2530e247ea7a38ac4046f91be">mshadow::expr::TransposeExp::TransposeExp</a></div><div class="ttdeci">TransposeExp(const EType &e)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition:</b> expression.h:136</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TransposeExp_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1TransposeExp.html">mshadow::expr::TransposeExp</a></div><div class="ttdoc">represent a transpose expression of a container</div><div class="ttdef"><b>Definition:</b> expression.h:131</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TransposeExp_html_a4dc0f3df318d1d4b21fb6630dae7edb9"><div class="ttname"><a href="structmshadow_1_1expr_1_1TransposeExp.html#a4dc0f3df318d1d4b21fb6630dae7edb9">mshadow::expr::TransposeExp::exp</a></div><div class="ttdeci">const EType & exp</div><div class="ttdoc">expression to be transposed</div><div class="ttdef"><b>Definition:</b> expression.h:134</div></div> |
| <div class="ttc" id="anamespacemshadow_html"><div class="ttname"><a href="namespacemshadow.html">mshadow</a></div><div class="ttdoc">overloaded + operator between half_t and bf16_t</div><div class="ttdef"><b>Definition:</b> base.h:319</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1BinaryMapExp_html_ae4d3d912e56bbad508abeeed4743c38c"><div class="ttname"><a href="structmshadow_1_1expr_1_1BinaryMapExp.html#ae4d3d912e56bbad508abeeed4743c38c">mshadow::expr::BinaryMapExp::lhs_</a></div><div class="ttdeci">const TA & lhs_</div><div class="ttdoc">left operand</div><div class="ttdef"><b>Definition:</b> expression.h:337</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1ExpEngine_html_a3b062e4fdaea220232e1d2bcb8719510"><div class="ttname"><a href="structmshadow_1_1expr_1_1ExpEngine.html#a3b062e4fdaea220232e1d2bcb8719510">mshadow::expr::ExpEngine::Eval</a></div><div class="ttdeci">static void Eval(RV *dst, const Exp< E, DType, type::kMapper > &exp)</div><div class="ttdef"><b>Definition:</b> expr_engine-inl.h:462</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_a97259deba3e7b8b1876e1c032f62bd08"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#a97259deba3e7b8b1876e1c032f62bd08">mshadow::expr::RValueExp::__assign</a></div><div class="ttdeci">Container & __assign(DType s)</div><div class="ttdoc">operator overload</div><div class="ttdef"><b>Definition:</b> expression.h:178</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1TernaryMapExp_html_a0398189bd6c5398c2b04d3cf1e10e31c"><div class="ttname"><a href="structmshadow_1_1expr_1_1TernaryMapExp.html#a0398189bd6c5398c2b04d3cf1e10e31c">mshadow::expr::TernaryMapExp::TernaryMapExp</a></div><div class="ttdeci">TernaryMapExp(const TA &item1, const TB &item2, const TC &item3)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition:</b> expression.h:288</div></div> |
| <div class="ttc" id="astructmshadow_1_1op_1_1mul_html"><div class="ttname"><a href="structmshadow_1_1op_1_1mul.html">mshadow::op::mul</a></div><div class="ttdoc">mul operator</div><div class="ttdef"><b>Definition:</b> base.h:625</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_html_a496d2f5fb874d0a8d59b6a0b4374e2df"><div class="ttname"><a href="namespacemshadow_1_1expr.html#a496d2f5fb874d0a8d59b6a0b4374e2df">mshadow::expr::dot</a></div><div class="ttdeci">DotExp< TA, TB, false, false, DType > dot(const RValueExp< TA, DType > &lhs, const RValueExp< TB, DType > &rhs)</div><div class="ttdoc">dot operator def</div><div class="ttdef"><b>Definition:</b> expression.h:240</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_a2e48826ba1a6652d414fc3f18e7da7d3"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#a2e48826ba1a6652d414fc3f18e7da7d3">mshadow::expr::RValueExp::operator*=</a></div><div class="ttdeci">Container & operator*=(DType s)</div><div class="ttdoc">operator overload</div><div class="ttdef"><b>Definition:</b> expression.h:168</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1UnaryMapExp_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1UnaryMapExp.html">mshadow::expr::UnaryMapExp</a></div><div class="ttdoc">unary map expression op(src)</div><div class="ttdef"><b>Definition:</b> expression.h:404</div></div> |
| <div class="ttc" id="a3rdparty_2mshadow_2mshadow_2base_8h_html"><div class="ttname"><a href="3rdparty_2mshadow_2mshadow_2base_8h.html">base.h</a></div><div class="ttdoc">definitions of base types, operators, macros functions</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1ScalarExp_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1ScalarExp.html">mshadow::expr::ScalarExp</a></div><div class="ttdoc">scalar expression</div><div class="ttdef"><b>Definition:</b> expression.h:95</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_1_1type_html_a087b8526cc89b1ecf343d0ba363c4bc6"><div class="ttname"><a href="namespacemshadow_1_1expr_1_1type.html#a087b8526cc89b1ecf343d0ba363c4bc6">mshadow::expr::type::kRValue</a></div><div class="ttdeci">const int kRValue</div><div class="ttdoc">this expression directly correspnds to a data class, can be used to assign data</div><div class="ttdef"><b>Definition:</b> expression.h:45</div></div> |
| <div class="ttc" id="anamespacemshadow_1_1expr_1_1type_html_a4b13cee4847e885783f2d60deac391df"><div class="ttname"><a href="namespacemshadow_1_1expr_1_1type.html#a4b13cee4847e885783f2d60deac391df">mshadow::expr::type::kChainer</a></div><div class="ttdeci">const int kChainer</div><div class="ttdoc">expression that can be chained with other expressiones Usually it have function Eval(i,...</div><div class="ttdef"><b>Definition:</b> expression.h:56</div></div> |
| <div class="ttc" id="aclassmshadow_1_1expr_1_1RValueExp_html_a90fd315110a1411242d01910a62606b0"><div class="ttname"><a href="classmshadow_1_1expr_1_1RValueExp.html#a90fd315110a1411242d01910a62606b0">mshadow::expr::RValueExp::operator+=</a></div><div class="ttdeci">Container & operator+=(const Exp< E, DType, etype > &exp)</div><div class="ttdoc">implementation of operator+=</div><div class="ttdef"><b>Definition:</b> expression.h:192</div></div> |
| <div class="ttc" id="astructmshadow_1_1expr_1_1DotExp_html"><div class="ttname"><a href="structmshadow_1_1expr_1_1DotExp.html">mshadow::expr::DotExp</a></div><div class="ttdoc">matrix multiplication expression dot(lhs[.T], rhs[.T])</div><div class="ttdef"><b>Definition:</b> expression.h:224</div></div> |
| <!-- start footer part --> |
| <hr class="footer"/><address class="footer"><small> |
| Generated on Thu Jan 5 2023 03:47:39 for mxnet by  <a href="http://www.doxygen.org/index.html"> |
| <img class="footer" src="doxygen.png" alt="doxygen"/> |
| </a> 1.8.17 |
| </small></address> |
| </body> |
| </html> |