blob: cbc274a49e9833bece640c21f345272769b4509a [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.11"/>
<title>mxnet: /work/mxnet/3rdparty/mshadow/mshadow/expression.h File Reference</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>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</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.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</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="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">expression.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>definitions of abstract expressions and expressions template
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="3rdparty_2mshadow_2mshadow_2base_8h_source.html">./base.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for expression.h:</div>
<div class="dyncontent">
<div class="center"><img src="expression_8h__incl.png" border="0" usemap="#_2work_2mxnet_23rdparty_2mshadow_2mshadow_2expression_8h" alt=""/></div>
<map name="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2expression_8h" id="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2expression_8h">
<area shape="rect" id="node2" href="3rdparty_2mshadow_2mshadow_2base_8h.html" title="./base.h" alt="" coords="1035,95,1108,121"/>
<area shape="rect" id="node21" href="half_8h.html" title="definition of half (float16) type. " alt="" coords="1943,169,2007,196"/>
<area shape="rect" id="node23" href="half2_8h.html" title="definition of vector float16, half2 type. " alt="" coords="2032,169,2105,196"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="expression_8h__dep__incl.png" border="0" usemap="#_2work_2mxnet_23rdparty_2mshadow_2mshadow_2expression_8hdep" alt=""/></div>
<map name="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2expression_8hdep" id="_2work_2mxnet_23rdparty_2mshadow_2mshadow_2expression_8hdep">
<area shape="rect" id="node2" href="expr__engine-inl_8h.html" title="definitions of how expressions should be evaluated " alt="" coords="885,95,1069,151"/>
<area shape="rect" id="node5" href="mshadow_2mshadow_2tensor_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/tensor.h" alt="" coords="873,295,1081,337"/>
<area shape="rect" id="node8" href="packet-inl_8h.html" title="Generic packet vectorization code. " alt="" coords="397,399,627,441"/>
<area shape="rect" id="node3" href="extension_8h.html" title="some extension of expressions, used to support something beyond elementwise op " alt="" coords="4294,199,4525,240"/>
<area shape="rect" id="node4" href="implicit__gemm_8h.html" title="support for implicit GEMM operation " alt="" coords="5,496,224,552"/>
<area shape="rect" id="node22" href="broadcast_8h.html" title="support for broadcast and repmat " alt="" coords="1105,288,1324,344"/>
<area shape="rect" id="node23" href="unpack__patch2col_8h.html" title="support for unpack " alt="" coords="1348,288,1567,344"/>
<area shape="rect" id="node24" href="pack__col2patch_8h.html" title="support for pack " alt="" coords="1591,288,1809,344"/>
<area shape="rect" id="node25" href="reshape_8h.html" title="support for reshape " alt="" coords="1833,288,2052,344"/>
<area shape="rect" id="node26" href="swapaxis_8h.html" title="support for swapaxis " alt="" coords="2076,288,2295,344"/>
<area shape="rect" id="node27" href="reduceto1d_8h.html" title="support for sum_rows and sumall_except_dim " alt="" coords="2319,288,2537,344"/>
<area shape="rect" id="node28" href="spatial__pool_8h.html" title="support for spatial pooling " alt="" coords="2561,288,2780,344"/>
<area shape="rect" id="node29" href="spatial__unpool_8h.html" title="support for unpool " alt="" coords="2804,288,3023,344"/>
<area shape="rect" id="node30" href="channel__pool_8h.html" title="support for chpool " alt="" coords="3047,288,3265,344"/>
<area shape="rect" id="node31" href="channel__unpool_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/channel_unpool.h" alt="" coords="3289,288,3508,344"/>
<area shape="rect" id="node32" href="pad_8h.html" title="support for pad " alt="" coords="3532,295,3791,337"/>
<area shape="rect" id="node33" href="crop_8h.html" title="support for crop " alt="" coords="3815,288,4033,344"/>
<area shape="rect" id="node34" href="mirror_8h.html" title="support for mirror " alt="" coords="4057,288,4276,344"/>
<area shape="rect" id="node35" href="concat_8h.html" title="support for concatenation " alt="" coords="4300,288,4519,344"/>
<area shape="rect" id="node36" href="choose_8h.html" title="support for implicit array selection operation " alt="" coords="4543,288,4761,344"/>
<area shape="rect" id="node37" href="fill_8h.html" title="support for implicit array filling operation " alt="" coords="4785,288,5004,344"/>
<area shape="rect" id="node38" href="one__hot_8h.html" title="Create one&#45;hot indicator array based on the index. " alt="" coords="5028,288,5247,344"/>
<area shape="rect" id="node39" href="slice_8h.html" title="support for slice a certain dimension. " alt="" coords="5271,288,5489,344"/>
<area shape="rect" id="node40" href="slice__ex_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/slice_ex.h" alt="" coords="5513,288,5732,344"/>
<area shape="rect" id="node41" href="take_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/take.h" alt="" coords="5756,288,5975,344"/>
<area shape="rect" id="node42" href="take__grad_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/take_grad.h" alt="" coords="5999,288,6217,344"/>
<area shape="rect" id="node43" href="reduce__with__axis_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/reduce_with_axis.h" alt="" coords="6241,288,6460,344"/>
<area shape="rect" id="node44" href="broadcast__with__axis_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/broadcast_with_axis.h" alt="" coords="6484,288,6703,344"/>
<area shape="rect" id="node45" href="spatial__upsampling__nearest_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/spatial_upsampling_nearest.h" alt="" coords="6727,288,6945,344"/>
<area shape="rect" id="node46" href="transpose_8h.html" title="support for transpose " alt="" coords="6969,288,7188,344"/>
<area shape="rect" id="node47" href="flip_8h.html" title="support for flip a certain dimension. " alt="" coords="7212,288,7431,344"/>
<area shape="rect" id="node48" href="complex_8h.html" title="support for complex operations " alt="" coords="7455,288,7673,344"/>
<area shape="rect" id="node49" href="range_8h.html" title="support generating a range vector " alt="" coords="7697,288,7916,344"/>
<area shape="rect" id="node50" href="mask_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/extension\l/mask.h" alt="" coords="7940,288,8159,344"/>
<area shape="rect" id="node6" href="stream__gpu-inl_8h.html" title="implementation of GPU code " alt="" coords="652,392,855,448"/>
<area shape="rect" id="node7" href="tensor__cpu-inl_8h.html" title="implementation of CPU host code " alt="" coords="248,496,445,552"/>
<area shape="rect" id="node11" href="tensor__gpu-inl_8h.html" title="implementation of GPU host code " alt="" coords="879,392,1076,448"/>
<area shape="rect" id="node12" href="3rdparty_2mshadow_2mshadow_2io_8h.html" title="/work/mxnet/3rdparty\l/mshadow/mshadow/io.h" alt="" coords="1249,399,1428,441"/>
<area shape="rect" id="node13" href="tensor__container_8h.html" title="tensor container that does memory allocation and resize like STL " alt="" coords="1175,496,1372,552"/>
<area shape="rect" id="node14" href="random_8h.html" title="Random inline functions for tensor. " alt="" coords="1016,600,1235,641"/>
<area shape="rect" id="node15" href="include_2mxnet_2base_8h.html" title="/work/mxnet/include\l/mxnet/base.h" alt="" coords="1497,399,1647,441"/>
<area shape="rect" id="node19" href="include_2mxnet_2op__attr__types_8h.html" title="/work/mxnet/include\l/mxnet/op_attr_types.h" alt="" coords="1844,689,2015,731"/>
<area shape="rect" id="node9" href="plain-inl_8h.html" title="support of plain packet that use the plain datatype. " alt="" coords="470,496,669,552"/>
<area shape="rect" id="node10" href="sse-inl_8h.html" title="support of sse2 packet optimization of some operations " alt="" coords="693,496,891,552"/>
<area shape="rect" id="node16" href="engine_8h.html" title="Engine that schedules all the operations according to dependency. " alt="" coords="1671,503,1820,545"/>
<area shape="rect" id="node17" href="include_2mxnet_2ndarray_8h.html" title="/work/mxnet/include\l/mxnet/ndarray.h" alt="" coords="1559,600,1708,641"/>
<area shape="rect" id="node18" href="include_2mxnet_2executor_8h.html" title="/work/mxnet/include\l/mxnet/executor.h" alt="" coords="1559,868,1708,909"/>
<area shape="rect" id="node20" href="include_2mxnet_2operator_8h.html" title="/work/mxnet/include\l/mxnet/operator.h" alt="" coords="1732,779,1881,820"/>
<area shape="rect" id="node21" href="storage_8h.html" title="Storage manager across multiple devices. " alt="" coords="1497,503,1647,545"/>
</map>
</div>
</div>
<p><a href="expression_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1ExpEngine.html">mshadow::expr::ExpEngine&lt; SV, RV, DType &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">the engine that dispatches simple operations <a href="structmshadow_1_1expr_1_1ExpEngine.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1Exp.html">mshadow::expr::Exp&lt; SubType, DType, exp_type &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">defines how expression exp can be evaluated and stored into dst <a href="structmshadow_1_1expr_1_1Exp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1ScalarExp.html">mshadow::expr::ScalarExp&lt; DType &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">scalar expression <a href="structmshadow_1_1expr_1_1ScalarExp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1TypecastExp.html">mshadow::expr::TypecastExp&lt; DstDType, SrcDType, EType, etype &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">typecast expression, cast the type of elements <a href="structmshadow_1_1expr_1_1TypecastExp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1TransposeExp.html">mshadow::expr::TransposeExp&lt; EType, DType &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">represent a transpose expression of a container <a href="structmshadow_1_1expr_1_1TransposeExp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmshadow_1_1expr_1_1RValueExp.html">mshadow::expr::RValueExp&lt; Container, DType &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">base class of all rvalues <a href="classmshadow_1_1expr_1_1RValueExp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1DotExp.html">mshadow::expr::DotExp&lt; TA, TB, ltrans, rtrans, DType &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">matrix multiplication expression dot(lhs[.T], rhs[.T]) <a href="structmshadow_1_1expr_1_1DotExp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1TernaryMapExp.html">mshadow::expr::TernaryMapExp&lt; OP, TA, TB, TC, DType, etype &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">ternary map expression <a href="structmshadow_1_1expr_1_1TernaryMapExp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1BinaryMapExp.html">mshadow::expr::BinaryMapExp&lt; OP, TA, TB, DType, etype &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">binary map expression lhs [op] rhs <a href="structmshadow_1_1expr_1_1BinaryMapExp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmshadow_1_1expr_1_1UnaryMapExp.html">mshadow::expr::UnaryMapExp&lt; OP, TA, DType, etype &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">unary map expression op(src) <a href="structmshadow_1_1expr_1_1UnaryMapExp.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemshadow"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow.html">mshadow</a></td></tr>
<tr class="memdesc:namespacemshadow"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace for mshadow <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1expr"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html">mshadow::expr</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1expr"><td class="mdescLeft">&#160;</td><td class="mdescRight">namespace for abstract expressions and expressions template, have no dependency on tensor.h, These data structure takes no charge in computations, they are only used to define operations and represent expression in a symbolic way <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemshadow_1_1expr_1_1type"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr_1_1type.html">mshadow::expr::type</a></td></tr>
<tr class="memdesc:namespacemshadow_1_1expr_1_1type"><td class="mdescLeft">&#160;</td><td class="mdescRight">type of expressions <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ac547eb1dceee713542019c2cc6da378b"><td class="memTemplParams" colspan="2">template&lt;typename DType &gt; </td></tr>
<tr class="memitem:ac547eb1dceee713542019c2cc6da378b"><td class="memTemplItemLeft" align="right" valign="top">ScalarExp&lt; DType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#ac547eb1dceee713542019c2cc6da378b">mshadow::expr::scalar</a> (DType s)</td></tr>
<tr class="memdesc:ac547eb1dceee713542019c2cc6da378b"><td class="mdescLeft">&#160;</td><td class="mdescRight">create an scalar expression <a href="namespacemshadow_1_1expr.html#ac547eb1dceee713542019c2cc6da378b">More...</a><br /></td></tr>
<tr class="separator:ac547eb1dceee713542019c2cc6da378b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a513b76339ce18f021c559e17759137fd"><td class="memTemplParams" colspan="2">template&lt;typename DstDType , typename SrcDType , typename EType , int etype&gt; </td></tr>
<tr class="memitem:a513b76339ce18f021c559e17759137fd"><td class="memTemplItemLeft" align="right" valign="top">TypecastExp&lt; DstDType, SrcDType, EType,(etype|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a513b76339ce18f021c559e17759137fd">mshadow::expr::tcast</a> (const Exp&lt; EType, SrcDType, etype &gt; &amp;exp)</td></tr>
<tr class="memdesc:a513b76339ce18f021c559e17759137fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">create an scalar expression <a href="namespacemshadow_1_1expr.html#a513b76339ce18f021c559e17759137fd">More...</a><br /></td></tr>
<tr class="separator:a513b76339ce18f021c559e17759137fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a496d2f5fb874d0a8d59b6a0b4374e2df"><td class="memTemplParams" colspan="2">template&lt;typename TA , typename TB , typename DType &gt; </td></tr>
<tr class="memitem:a496d2f5fb874d0a8d59b6a0b4374e2df"><td class="memTemplItemLeft" align="right" valign="top">DotExp&lt; TA, TB, false, false, DType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a496d2f5fb874d0a8d59b6a0b4374e2df">mshadow::expr::dot</a> (const RValueExp&lt; TA, DType &gt; &amp;lhs, const RValueExp&lt; TB, DType &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a496d2f5fb874d0a8d59b6a0b4374e2df"><td class="mdescLeft">&#160;</td><td class="mdescRight">dot operator def <a href="namespacemshadow_1_1expr.html#a496d2f5fb874d0a8d59b6a0b4374e2df">More...</a><br /></td></tr>
<tr class="separator:a496d2f5fb874d0a8d59b6a0b4374e2df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af130ed37f8182c86209b1e5679c4c53a"><td class="memTemplParams" colspan="2">template&lt;typename TA , typename TB , typename DType &gt; </td></tr>
<tr class="memitem:af130ed37f8182c86209b1e5679c4c53a"><td class="memTemplItemLeft" align="right" valign="top">DotExp&lt; TA, TB, true, false, DType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#af130ed37f8182c86209b1e5679c4c53a">mshadow::expr::dot</a> (const TransposeExp&lt; TA, DType &gt; &amp;lhs, const RValueExp&lt; TB, DType &gt; &amp;rhs)</td></tr>
<tr class="memdesc:af130ed37f8182c86209b1e5679c4c53a"><td class="mdescLeft">&#160;</td><td class="mdescRight">dot operator def <a href="namespacemshadow_1_1expr.html#af130ed37f8182c86209b1e5679c4c53a">More...</a><br /></td></tr>
<tr class="separator:af130ed37f8182c86209b1e5679c4c53a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96329b25d94f1c7a6ad0cfe74cc0cd01"><td class="memTemplParams" colspan="2">template&lt;typename TA , typename TB , typename DType &gt; </td></tr>
<tr class="memitem:a96329b25d94f1c7a6ad0cfe74cc0cd01"><td class="memTemplItemLeft" align="right" valign="top">DotExp&lt; TA, TB, false, true, DType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a96329b25d94f1c7a6ad0cfe74cc0cd01">mshadow::expr::dot</a> (const RValueExp&lt; TA, DType &gt; &amp;lhs, const TransposeExp&lt; TB, DType &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a96329b25d94f1c7a6ad0cfe74cc0cd01"><td class="mdescLeft">&#160;</td><td class="mdescRight">dot operator def <a href="namespacemshadow_1_1expr.html#a96329b25d94f1c7a6ad0cfe74cc0cd01">More...</a><br /></td></tr>
<tr class="separator:a96329b25d94f1c7a6ad0cfe74cc0cd01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8857dc8dec6fc72b6a4087d6c3201363"><td class="memTemplParams" colspan="2">template&lt;typename TA , typename TB , typename DType &gt; </td></tr>
<tr class="memitem:a8857dc8dec6fc72b6a4087d6c3201363"><td class="memTemplItemLeft" align="right" valign="top">DotExp&lt; TA, TB, true, true, DType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a8857dc8dec6fc72b6a4087d6c3201363">mshadow::expr::dot</a> (const TransposeExp&lt; TA, DType &gt; &amp;lhs, const TransposeExp&lt; TB, DType &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a8857dc8dec6fc72b6a4087d6c3201363"><td class="mdescLeft">&#160;</td><td class="mdescRight">dot operator def <a href="namespacemshadow_1_1expr.html#a8857dc8dec6fc72b6a4087d6c3201363">More...</a><br /></td></tr>
<tr class="separator:a8857dc8dec6fc72b6a4087d6c3201363"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f9c3a5d39b8b252ff12fe691665db2e"><td class="memTemplParams" colspan="2">template&lt;bool transpose_left, bool transpose_right, typename TA , typename TB , typename DType &gt; </td></tr>
<tr class="memitem:a1f9c3a5d39b8b252ff12fe691665db2e"><td class="memTemplItemLeft" align="right" valign="top">DotExp&lt; TA, TB, transpose_left, transpose_right, DType &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a1f9c3a5d39b8b252ff12fe691665db2e">mshadow::expr::batch_dot</a> (const RValueExp&lt; TA, DType &gt; &amp;lhs, const RValueExp&lt; TB, DType &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a1f9c3a5d39b8b252ff12fe691665db2e"><td class="mdescLeft">&#160;</td><td class="mdescRight">batch_dot operator def <a href="namespacemshadow_1_1expr.html#a1f9c3a5d39b8b252ff12fe691665db2e">More...</a><br /></td></tr>
<tr class="separator:a1f9c3a5d39b8b252ff12fe691665db2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a442b8eeb8062cb8994c093f74d28c590"><td class="memTemplParams" colspan="2">template&lt;typename OP , typename TA , typename TB , typename TC , typename DType , int ta, int tb, int tc&gt; </td></tr>
<tr class="memitem:a442b8eeb8062cb8994c093f74d28c590"><td class="memTemplItemLeft" align="right" valign="top">TernaryMapExp&lt; OP, TA, TB, TC, DType,(ta|tb|tc|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a442b8eeb8062cb8994c093f74d28c590">mshadow::expr::MakeExp</a> (const Exp&lt; TA, DType, ta &gt; &amp;item1, const Exp&lt; TB, DType, tb &gt; &amp;item2, const Exp&lt; TC, DType, tc &gt; &amp;item3)</td></tr>
<tr class="memdesc:a442b8eeb8062cb8994c093f74d28c590"><td class="mdescLeft">&#160;</td><td class="mdescRight">make expression <a href="namespacemshadow_1_1expr.html#a442b8eeb8062cb8994c093f74d28c590">More...</a><br /></td></tr>
<tr class="separator:a442b8eeb8062cb8994c093f74d28c590"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35d03249156f3202fa2411370194d26b"><td class="memTemplParams" colspan="2">template&lt;typename OP , typename TA , typename TB , typename TC , typename DType , int ta, int tb, int tc&gt; </td></tr>
<tr class="memitem:a35d03249156f3202fa2411370194d26b"><td class="memTemplItemLeft" align="right" valign="top">TernaryMapExp&lt; OP, TA, TB, TC, DType,(ta|tb|tc|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a35d03249156f3202fa2411370194d26b">mshadow::expr::F</a> (const Exp&lt; TA, DType, ta &gt; &amp;item1, const Exp&lt; TB, DType, tb &gt; &amp;item2, const Exp&lt; TC, DType, tc &gt; &amp;item3)</td></tr>
<tr class="memdesc:a35d03249156f3202fa2411370194d26b"><td class="mdescLeft">&#160;</td><td class="mdescRight">short hand for MakeExp, usage F&lt;op&gt;(item1,item2,item3). create a ternary operation expression <a href="namespacemshadow_1_1expr.html#a35d03249156f3202fa2411370194d26b">More...</a><br /></td></tr>
<tr class="separator:a35d03249156f3202fa2411370194d26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c4f7f5cef472d6843e13ca4e5b5e396"><td class="memTemplParams" colspan="2">template&lt;typename OP , typename TA , typename TB , typename DType , int ta, int tb&gt; </td></tr>
<tr class="memitem:a7c4f7f5cef472d6843e13ca4e5b5e396"><td class="memTemplItemLeft" align="right" valign="top">BinaryMapExp&lt; OP, TA, TB, DType,(ta|tb|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a7c4f7f5cef472d6843e13ca4e5b5e396">mshadow::expr::MakeExp</a> (const Exp&lt; TA, DType, ta &gt; &amp;lhs, const Exp&lt; TB, DType, tb &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a7c4f7f5cef472d6843e13ca4e5b5e396"><td class="mdescLeft">&#160;</td><td class="mdescRight">make expression <a href="namespacemshadow_1_1expr.html#a7c4f7f5cef472d6843e13ca4e5b5e396">More...</a><br /></td></tr>
<tr class="separator:a7c4f7f5cef472d6843e13ca4e5b5e396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81957f05f494b745aa7d817c747cbdd6"><td class="memTemplParams" colspan="2">template&lt;typename OP , typename TA , typename TB , typename DType , int ta, int tb&gt; </td></tr>
<tr class="memitem:a81957f05f494b745aa7d817c747cbdd6"><td class="memTemplItemLeft" align="right" valign="top">BinaryMapExp&lt; OP, TA, TB, DType,(ta|tb|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a81957f05f494b745aa7d817c747cbdd6">mshadow::expr::F</a> (const Exp&lt; TA, DType, ta &gt; &amp;lhs, const Exp&lt; TB, DType, tb &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a81957f05f494b745aa7d817c747cbdd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">short hand for MakeExp, usage F&lt;op&gt;(lhs, rhs). create a binary operation expression <a href="namespacemshadow_1_1expr.html#a81957f05f494b745aa7d817c747cbdd6">More...</a><br /></td></tr>
<tr class="separator:a81957f05f494b745aa7d817c747cbdd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e09e9fb33de05e81dfc9f80251a59a7"><td class="memTemplParams" colspan="2">template&lt;typename TA , typename TB , typename DType , int ta, int tb&gt; </td></tr>
<tr class="memitem:a5e09e9fb33de05e81dfc9f80251a59a7"><td class="memTemplItemLeft" align="right" valign="top">BinaryMapExp&lt; op::plus, TA, TB, DType,(ta|tb|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a5e09e9fb33de05e81dfc9f80251a59a7">mshadow::expr::operator+</a> (const Exp&lt; TA, DType, ta &gt; &amp;lhs, const Exp&lt; TB, DType, tb &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a5e09e9fb33de05e81dfc9f80251a59a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <a href="namespacemshadow_1_1expr.html#a5e09e9fb33de05e81dfc9f80251a59a7">More...</a><br /></td></tr>
<tr class="separator:a5e09e9fb33de05e81dfc9f80251a59a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a655e4f6c60a2673860c2dc23c218266b"><td class="memTemplParams" colspan="2">template&lt;typename TA , typename TB , typename DType , int ta, int tb&gt; </td></tr>
<tr class="memitem:a655e4f6c60a2673860c2dc23c218266b"><td class="memTemplItemLeft" align="right" valign="top">BinaryMapExp&lt; op::minus, TA, TB, DType,(ta|tb|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a655e4f6c60a2673860c2dc23c218266b">mshadow::expr::operator-</a> (const Exp&lt; TA, DType, ta &gt; &amp;lhs, const Exp&lt; TB, DType, tb &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a655e4f6c60a2673860c2dc23c218266b"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <a href="namespacemshadow_1_1expr.html#a655e4f6c60a2673860c2dc23c218266b">More...</a><br /></td></tr>
<tr class="separator:a655e4f6c60a2673860c2dc23c218266b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1858113c1415f381b4699fe0a2fd5db5"><td class="memTemplParams" colspan="2">template&lt;typename TA , typename TB , typename DType , int ta, int tb&gt; </td></tr>
<tr class="memitem:a1858113c1415f381b4699fe0a2fd5db5"><td class="memTemplItemLeft" align="right" valign="top">BinaryMapExp&lt; op::mul, TA, TB, DType,(ta|tb|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a1858113c1415f381b4699fe0a2fd5db5">mshadow::expr::operator*</a> (const Exp&lt; TA, DType, ta &gt; &amp;lhs, const Exp&lt; TB, DType, tb &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a1858113c1415f381b4699fe0a2fd5db5"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <a href="namespacemshadow_1_1expr.html#a1858113c1415f381b4699fe0a2fd5db5">More...</a><br /></td></tr>
<tr class="separator:a1858113c1415f381b4699fe0a2fd5db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ef511dcd1a5962b443e39e849afe570"><td class="memTemplParams" colspan="2">template&lt;typename TA , typename TB , typename DType , int ta, int tb&gt; </td></tr>
<tr class="memitem:a4ef511dcd1a5962b443e39e849afe570"><td class="memTemplItemLeft" align="right" valign="top">BinaryMapExp&lt; op::div, TA, TB, DType,(ta|tb|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a4ef511dcd1a5962b443e39e849afe570">mshadow::expr::operator/</a> (const Exp&lt; TA, DType, ta &gt; &amp;lhs, const Exp&lt; TB, DType, tb &gt; &amp;rhs)</td></tr>
<tr class="memdesc:a4ef511dcd1a5962b443e39e849afe570"><td class="mdescLeft">&#160;</td><td class="mdescRight">operator overload <a href="namespacemshadow_1_1expr.html#a4ef511dcd1a5962b443e39e849afe570">More...</a><br /></td></tr>
<tr class="separator:a4ef511dcd1a5962b443e39e849afe570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade38b0eaf0a6f67cea58c85e09c70a66"><td class="memTemplParams" colspan="2">template&lt;typename OP , typename TA , typename DType , int ta&gt; </td></tr>
<tr class="memitem:ade38b0eaf0a6f67cea58c85e09c70a66"><td class="memTemplItemLeft" align="right" valign="top">UnaryMapExp&lt; OP, TA, DType,(ta|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#ade38b0eaf0a6f67cea58c85e09c70a66">mshadow::expr::MakeExp</a> (const Exp&lt; TA, DType, ta &gt; &amp;src)</td></tr>
<tr class="memdesc:ade38b0eaf0a6f67cea58c85e09c70a66"><td class="mdescLeft">&#160;</td><td class="mdescRight">make expression <a href="namespacemshadow_1_1expr.html#ade38b0eaf0a6f67cea58c85e09c70a66">More...</a><br /></td></tr>
<tr class="separator:ade38b0eaf0a6f67cea58c85e09c70a66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4497b70d1fcd20ec79449c2a35409b49"><td class="memTemplParams" colspan="2">template&lt;typename OP , typename TA , typename DType , int ta&gt; </td></tr>
<tr class="memitem:a4497b70d1fcd20ec79449c2a35409b49"><td class="memTemplItemLeft" align="right" valign="top">UnaryMapExp&lt; OP, TA, DType,(ta|type::kMapper)&gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr.html#a4497b70d1fcd20ec79449c2a35409b49">mshadow::expr::F</a> (const Exp&lt; TA, DType, ta &gt; &amp;src)</td></tr>
<tr class="memdesc:a4497b70d1fcd20ec79449c2a35409b49"><td class="mdescLeft">&#160;</td><td class="mdescRight">short hand for MakeExp, usage F&lt;op&gt;(src), create a unary operation expression <a href="namespacemshadow_1_1expr.html#a4497b70d1fcd20ec79449c2a35409b49">More...</a><br /></td></tr>
<tr class="separator:a4497b70d1fcd20ec79449c2a35409b49"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a087b8526cc89b1ecf343d0ba363c4bc6"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr_1_1type.html#a087b8526cc89b1ecf343d0ba363c4bc6">mshadow::expr::type::kRValue</a> = 0</td></tr>
<tr class="memdesc:a087b8526cc89b1ecf343d0ba363c4bc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">this expression directly correspnds to a data class, can be used to assign data <a href="namespacemshadow_1_1expr_1_1type.html#a087b8526cc89b1ecf343d0ba363c4bc6">More...</a><br /></td></tr>
<tr class="separator:a087b8526cc89b1ecf343d0ba363c4bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa700f17fa964d262266efd336d5c50ca"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">mshadow::expr::type::kMapper</a> = 1</td></tr>
<tr class="memdesc:aa700f17fa964d262266efd336d5c50ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">expression contains element-wise tensor operations, map a expression to same shape <a href="namespacemshadow_1_1expr_1_1type.html#aa700f17fa964d262266efd336d5c50ca">More...</a><br /></td></tr>
<tr class="separator:aa700f17fa964d262266efd336d5c50ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b13cee4847e885783f2d60deac391df"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr_1_1type.html#a4b13cee4847e885783f2d60deac391df">mshadow::expr::type::kChainer</a> = 3</td></tr>
<tr class="memdesc:a4b13cee4847e885783f2d60deac391df"><td class="mdescLeft">&#160;</td><td class="mdescRight">expression that can be chained with other expressiones Usually it have function Eval(i,j) defined, which pulls the result (i, j) from input expression and output the result at certain position. <a href="namespacemshadow_1_1expr_1_1type.html#a4b13cee4847e885783f2d60deac391df">More...</a><br /></td></tr>
<tr class="separator:a4b13cee4847e885783f2d60deac391df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c0e6f39c75bd68402f9ad902bb452c2"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemshadow_1_1expr_1_1type.html#a2c0e6f39c75bd68402f9ad902bb452c2">mshadow::expr::type::kComplex</a> = 7</td></tr>
<tr class="memdesc:a2c0e6f39c75bd68402f9ad902bb452c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">othercase: e.g dot product <a href="namespacemshadow_1_1expr_1_1type.html#a2c0e6f39c75bd68402f9ad902bb452c2">More...</a><br /></td></tr>
<tr class="separator:a2c0e6f39c75bd68402f9ad902bb452c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>definitions of abstract expressions and expressions template </p>
<p>Copyright (c) 2014 by Contributors</p>
<dl class="section author"><dt>Author</dt><dd>Tianqi Chen, Bing Xu </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Mar 28 2020 00:52:30 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>