<!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: mxnet::NDArrayFunctionReg Struct 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>
<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&amp;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&amp;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="namespacemxnet.html">mxnet</a></li><li class="navelem"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structmxnet_1_1NDArrayFunctionReg-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">mxnet::NDArrayFunctionReg Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Registry entry for NDArrayFunction.  
 <a href="structmxnet_1_1NDArrayFunctionReg.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="include_2mxnet_2ndarray_8h_source.html">ndarray.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mxnet::NDArrayFunctionReg:</div>
<div class="dyncontent">
<div class="center"><img src="structmxnet_1_1NDArrayFunctionReg__inherit__graph.png" border="0" usemap="#mxnet_1_1NDArrayFunctionReg_inherit__map" alt="Inheritance graph"/></div>
<!-- MAP 0 -->
</div>
<div class="dynheader">
Collaboration diagram for mxnet::NDArrayFunctionReg:</div>
<div class="dyncontent">
<div class="center"><img src="structmxnet_1_1NDArrayFunctionReg__coll__graph.png" border="0" usemap="#mxnet_1_1NDArrayFunctionReg_coll__map" alt="Collaboration graph"/></div>
<!-- MAP 1 -->
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:abd540887b52ba89572ad6a18b4ac739c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#abd540887b52ba89572ad6a18b4ac739c">NDArrayFunctionReg</a> ()</td></tr>
<tr class="memdesc:abd540887b52ba89572ad6a18b4ac739c"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor  <a href="structmxnet_1_1NDArrayFunctionReg.html#abd540887b52ba89572ad6a18b4ac739c">More...</a><br /></td></tr>
<tr class="separator:abd540887b52ba89572ad6a18b4ac739c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa606f0cec91a2e069553f98d7e7addcd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#aa606f0cec91a2e069553f98d7e7addcd">set_function</a> (void(*fsetvalue)(const <a class="el" href="namespacemxnet.html#a4421326e33f2a848cb2fa3e70ab24ff4">real_t</a> &amp;rhs, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out))</td></tr>
<tr class="memdesc:aa606f0cec91a2e069553f98d7e7addcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the function body to a <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> setvalue function this will also auto set the parameters correctly  <a href="structmxnet_1_1NDArrayFunctionReg.html#aa606f0cec91a2e069553f98d7e7addcd">More...</a><br /></td></tr>
<tr class="separator:aa606f0cec91a2e069553f98d7e7addcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7f4633d042179d90c067aeb8da62060"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#aa7f4633d042179d90c067aeb8da62060">set_function</a> (void(*fternary)(const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;lhs, const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;mhs, const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;rhs, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out))</td></tr>
<tr class="memdesc:aa7f4633d042179d90c067aeb8da62060"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the function body to a ternary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly  <a href="structmxnet_1_1NDArrayFunctionReg.html#aa7f4633d042179d90c067aeb8da62060">More...</a><br /></td></tr>
<tr class="separator:aa7f4633d042179d90c067aeb8da62060"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa57c24a22d49470496b221c72bf7a1a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#aa57c24a22d49470496b221c72bf7a1a0">set_function</a> (void(*fbinary)(const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;lhs, const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;rhs, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out))</td></tr>
<tr class="memdesc:aa57c24a22d49470496b221c72bf7a1a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the function body to a binary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly  <a href="structmxnet_1_1NDArrayFunctionReg.html#aa57c24a22d49470496b221c72bf7a1a0">More...</a><br /></td></tr>
<tr class="separator:aa57c24a22d49470496b221c72bf7a1a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6fc4419b30c74139eceb04e7d5758f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#af6fc4419b30c74139eceb04e7d5758f5">set_function</a> (void(*fscalar)(const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;lhs, const <a class="el" href="namespacemxnet.html#a4421326e33f2a848cb2fa3e70ab24ff4">real_t</a> &amp;rhs, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out))</td></tr>
<tr class="memdesc:af6fc4419b30c74139eceb04e7d5758f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the function body to a binary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly  <a href="structmxnet_1_1NDArrayFunctionReg.html#af6fc4419b30c74139eceb04e7d5758f5">More...</a><br /></td></tr>
<tr class="separator:af6fc4419b30c74139eceb04e7d5758f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f4c0751bc3111a8707b160d0e99e1af"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#a5f4c0751bc3111a8707b160d0e99e1af">set_function</a> (void(*funary)(const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;src, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out))</td></tr>
<tr class="memdesc:a5f4c0751bc3111a8707b160d0e99e1af"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the function body to a unary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly  <a href="structmxnet_1_1NDArrayFunctionReg.html#a5f4c0751bc3111a8707b160d0e99e1af">More...</a><br /></td></tr>
<tr class="separator:a5f4c0751bc3111a8707b160d0e99e1af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a220e1866bea35e103adbe23ff92855d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#a220e1866bea35e103adbe23ff92855d9">set_function</a> (void(*fgeneric)(<a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> **used_vars, <a class="el" href="namespacemxnet.html#a4421326e33f2a848cb2fa3e70ab24ff4">real_t</a> *s, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> **mutate_vars, const std::map&lt; std::string, std::string &gt; &amp;param))</td></tr>
<tr class="memdesc:a220e1866bea35e103adbe23ff92855d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the function body to a unary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly  <a href="structmxnet_1_1NDArrayFunctionReg.html#a220e1866bea35e103adbe23ff92855d9">More...</a><br /></td></tr>
<tr class="separator:a220e1866bea35e103adbe23ff92855d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a970756506340ff688dbb447858b1963c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#a970756506340ff688dbb447858b1963c">set_num_use_vars</a> (unsigned n)</td></tr>
<tr class="memdesc:a970756506340ff688dbb447858b1963c"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the number of mutate variables  <a href="structmxnet_1_1NDArrayFunctionReg.html#a970756506340ff688dbb447858b1963c">More...</a><br /></td></tr>
<tr class="separator:a970756506340ff688dbb447858b1963c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0a5efd67efe9b7c14abd49652e79a14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#af0a5efd67efe9b7c14abd49652e79a14">set_num_mutate_vars</a> (unsigned n)</td></tr>
<tr class="memdesc:af0a5efd67efe9b7c14abd49652e79a14"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the number of mutate variables  <a href="structmxnet_1_1NDArrayFunctionReg.html#af0a5efd67efe9b7c14abd49652e79a14">More...</a><br /></td></tr>
<tr class="separator:af0a5efd67efe9b7c14abd49652e79a14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f6a3ba75e30389c827b3b26a12415d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#a4f6a3ba75e30389c827b3b26a12415d1">set_num_scalars</a> (unsigned n)</td></tr>
<tr class="memdesc:a4f6a3ba75e30389c827b3b26a12415d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">set the number of scalar arguments  <a href="structmxnet_1_1NDArrayFunctionReg.html#a4f6a3ba75e30389c827b3b26a12415d1">More...</a><br /></td></tr>
<tr class="separator:a4f6a3ba75e30389c827b3b26a12415d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc3656ba948c28d3d155736ce064a3f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#acc3656ba948c28d3d155736ce064a3f4">set_type_mask</a> (int tmask)</td></tr>
<tr class="memdesc:acc3656ba948c28d3d155736ce064a3f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">set type mask  <a href="structmxnet_1_1NDArrayFunctionReg.html#acc3656ba948c28d3d155736ce064a3f4">More...</a><br /></td></tr>
<tr class="separator:acc3656ba948c28d3d155736ce064a3f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classdmlc_1_1FunctionRegEntryBase"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classdmlc_1_1FunctionRegEntryBase')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase&lt; NDArrayFunctionReg, NDArrayAPIFunction &gt;</a></td></tr>
<tr class="memitem:aae5d8d68715179c22059867aae4d67fc inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">NDArrayFunctionReg &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#aae5d8d68715179c22059867aae4d67fc">set_body</a> (NDArrayAPIFunction <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#ac593e3ad3722e750b01b110ae01dd5ee">body</a>)</td></tr>
<tr class="memdesc:aae5d8d68715179c22059867aae4d67fc inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the function body.  <a href="classdmlc_1_1FunctionRegEntryBase.html#aae5d8d68715179c22059867aae4d67fc">More...</a><br /></td></tr>
<tr class="separator:aae5d8d68715179c22059867aae4d67fc inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa523755edc43af8a7ae4dad12e187200 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">NDArrayFunctionReg &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#aa523755edc43af8a7ae4dad12e187200">describe</a> (const std::string &amp;<a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a9de2f3ee312f470556e73ab56288ae25">description</a>)</td></tr>
<tr class="memdesc:aa523755edc43af8a7ae4dad12e187200 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describe the function.  <a href="classdmlc_1_1FunctionRegEntryBase.html#aa523755edc43af8a7ae4dad12e187200">More...</a><br /></td></tr>
<tr class="separator:aa523755edc43af8a7ae4dad12e187200 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec3cb7574c8c2401e7dac0cccb352f31 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">NDArrayFunctionReg &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#aec3cb7574c8c2401e7dac0cccb352f31">add_argument</a> (const std::string &amp;<a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#af2acc06f141492afe85d4fff777d7f31">name</a>, const std::string &amp;type, const std::string &amp;<a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a9de2f3ee312f470556e73ab56288ae25">description</a>)</td></tr>
<tr class="memdesc:aec3cb7574c8c2401e7dac0cccb352f31 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add argument information to the function.  <a href="classdmlc_1_1FunctionRegEntryBase.html#aec3cb7574c8c2401e7dac0cccb352f31">More...</a><br /></td></tr>
<tr class="separator:aec3cb7574c8c2401e7dac0cccb352f31 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a349dbdc935529bc4ffa7385b5c45614f inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">NDArrayFunctionReg &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a349dbdc935529bc4ffa7385b5c45614f">add_arguments</a> (const std::vector&lt; ParamFieldInfo &gt; &amp;args)</td></tr>
<tr class="memdesc:a349dbdc935529bc4ffa7385b5c45614f inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Append list if arguments to the end.  <a href="classdmlc_1_1FunctionRegEntryBase.html#a349dbdc935529bc4ffa7385b5c45614f">More...</a><br /></td></tr>
<tr class="separator:a349dbdc935529bc4ffa7385b5c45614f inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ee038abad273d717df33a4dbc88ef14 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">NDArrayFunctionReg &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a2ee038abad273d717df33a4dbc88ef14">set_return_type</a> (const std::string &amp;type)</td></tr>
<tr class="memdesc:a2ee038abad273d717df33a4dbc88ef14 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the return type.  <a href="classdmlc_1_1FunctionRegEntryBase.html#a2ee038abad273d717df33a4dbc88ef14">More...</a><br /></td></tr>
<tr class="separator:a2ee038abad273d717df33a4dbc88ef14 inherit pub_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa0847438b4f3f600ec61d6d544755a29"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#aa0847438b4f3f600ec61d6d544755a29">num_use_vars</a></td></tr>
<tr class="memdesc:aa0847438b4f3f600ec61d6d544755a29"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of variable used by this function  <a href="structmxnet_1_1NDArrayFunctionReg.html#aa0847438b4f3f600ec61d6d544755a29">More...</a><br /></td></tr>
<tr class="separator:aa0847438b4f3f600ec61d6d544755a29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7881779b7807c6357902bdaccfccde2"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#ad7881779b7807c6357902bdaccfccde2">num_mutate_vars</a></td></tr>
<tr class="memdesc:ad7881779b7807c6357902bdaccfccde2"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of variable mutated by this function  <a href="structmxnet_1_1NDArrayFunctionReg.html#ad7881779b7807c6357902bdaccfccde2">More...</a><br /></td></tr>
<tr class="separator:ad7881779b7807c6357902bdaccfccde2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9591e2abf6cbca0903aec582b96b4d95"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#a9591e2abf6cbca0903aec582b96b4d95">num_scalars</a></td></tr>
<tr class="memdesc:a9591e2abf6cbca0903aec582b96b4d95"><td class="mdescLeft">&#160;</td><td class="mdescRight">number of scalars used by this function  <a href="structmxnet_1_1NDArrayFunctionReg.html#a9591e2abf6cbca0903aec582b96b4d95">More...</a><br /></td></tr>
<tr class="separator:a9591e2abf6cbca0903aec582b96b4d95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b24615f30e4fbe69ee75c7b319735bf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html#a0b24615f30e4fbe69ee75c7b319735bf">type_mask</a></td></tr>
<tr class="memdesc:a0b24615f30e4fbe69ee75c7b319735bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">information on how function should be called from API  <a href="structmxnet_1_1NDArrayFunctionReg.html#a0b24615f30e4fbe69ee75c7b319735bf">More...</a><br /></td></tr>
<tr class="separator:a0b24615f30e4fbe69ee75c7b319735bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classdmlc_1_1FunctionRegEntryBase')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase&lt; NDArrayFunctionReg, NDArrayAPIFunction &gt;</a></td></tr>
<tr class="memitem:af2acc06f141492afe85d4fff777d7f31 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#af2acc06f141492afe85d4fff777d7f31">name</a></td></tr>
<tr class="memdesc:af2acc06f141492afe85d4fff777d7f31 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">name of the entry  <a href="classdmlc_1_1FunctionRegEntryBase.html#af2acc06f141492afe85d4fff777d7f31">More...</a><br /></td></tr>
<tr class="separator:af2acc06f141492afe85d4fff777d7f31 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9de2f3ee312f470556e73ab56288ae25 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a9de2f3ee312f470556e73ab56288ae25">description</a></td></tr>
<tr class="memdesc:a9de2f3ee312f470556e73ab56288ae25 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">description of the entry  <a href="classdmlc_1_1FunctionRegEntryBase.html#a9de2f3ee312f470556e73ab56288ae25">More...</a><br /></td></tr>
<tr class="separator:a9de2f3ee312f470556e73ab56288ae25 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6565edeffefa127ea939f9ff9774d09d inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">std::vector&lt; ParamFieldInfo &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a6565edeffefa127ea939f9ff9774d09d">arguments</a></td></tr>
<tr class="memdesc:a6565edeffefa127ea939f9ff9774d09d inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">additional arguments to the factory function  <a href="classdmlc_1_1FunctionRegEntryBase.html#a6565edeffefa127ea939f9ff9774d09d">More...</a><br /></td></tr>
<tr class="separator:a6565edeffefa127ea939f9ff9774d09d inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac593e3ad3722e750b01b110ae01dd5ee inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">NDArrayAPIFunction&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#ac593e3ad3722e750b01b110ae01dd5ee">body</a></td></tr>
<tr class="memdesc:ac593e3ad3722e750b01b110ae01dd5ee inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function body to create ProductType.  <a href="classdmlc_1_1FunctionRegEntryBase.html#ac593e3ad3722e750b01b110ae01dd5ee">More...</a><br /></td></tr>
<tr class="separator:ac593e3ad3722e750b01b110ae01dd5ee inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8187718b95987b655716c2de9bbe7b06 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a8187718b95987b655716c2de9bbe7b06">return_type</a></td></tr>
<tr class="memdesc:a8187718b95987b655716c2de9bbe7b06 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return type of the function.  <a href="classdmlc_1_1FunctionRegEntryBase.html#a8187718b95987b655716c2de9bbe7b06">More...</a><br /></td></tr>
<tr class="separator:a8187718b95987b655716c2de9bbe7b06 inherit pub_attribs_classdmlc_1_1FunctionRegEntryBase"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classdmlc_1_1FunctionRegEntryBase"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classdmlc_1_1FunctionRegEntryBase')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classdmlc_1_1FunctionRegEntryBase.html">dmlc::FunctionRegEntryBase&lt; NDArrayFunctionReg, NDArrayAPIFunction &gt;</a></td></tr>
<tr class="memitem:a6c04cf9a322f60d106af1f0b4826f586 inherit pro_methods_classdmlc_1_1FunctionRegEntryBase"><td class="memItemLeft" align="right" valign="top">NDArrayFunctionReg &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdmlc_1_1FunctionRegEntryBase.html#a6c04cf9a322f60d106af1f0b4826f586">self</a> ()</td></tr>
<tr class="separator:a6c04cf9a322f60d106af1f0b4826f586 inherit pro_methods_classdmlc_1_1FunctionRegEntryBase"><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>Registry entry for NDArrayFunction. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="abd540887b52ba89572ad6a18b4ac739c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd540887b52ba89572ad6a18b4ac739c">&#9670;&nbsp;</a></span>NDArrayFunctionReg()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">mxnet::NDArrayFunctionReg::NDArrayFunctionReg </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>constructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aa57c24a22d49470496b221c72bf7a1a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa57c24a22d49470496b221c72bf7a1a0">&#9670;&nbsp;</a></span>set_function() <span class="overload">[1/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_function </td>
          <td>(</td>
          <td class="paramtype">void(*)(const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;lhs, const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;rhs, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out)&#160;</td>
          <td class="paramname"><em>fbinary</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the function body to a binary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fbinary</td><td>function body to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="a220e1866bea35e103adbe23ff92855d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a220e1866bea35e103adbe23ff92855d9">&#9670;&nbsp;</a></span>set_function() <span class="overload">[2/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_function </td>
          <td>(</td>
          <td class="paramtype">void(*)(<a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> **used_vars, <a class="el" href="namespacemxnet.html#a4421326e33f2a848cb2fa3e70ab24ff4">real_t</a> *s, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> **mutate_vars, const std::map&lt; std::string, std::string &gt; &amp;param)&#160;</td>
          <td class="paramname"><em>fgeneric</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the function body to a unary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fgeneric</td><td>function body to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="af6fc4419b30c74139eceb04e7d5758f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6fc4419b30c74139eceb04e7d5758f5">&#9670;&nbsp;</a></span>set_function() <span class="overload">[3/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_function </td>
          <td>(</td>
          <td class="paramtype">void(*)(const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;lhs, const <a class="el" href="namespacemxnet.html#a4421326e33f2a848cb2fa3e70ab24ff4">real_t</a> &amp;rhs, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out)&#160;</td>
          <td class="paramname"><em>fscalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the function body to a binary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fscalar</td><td>function body to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="aa606f0cec91a2e069553f98d7e7addcd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa606f0cec91a2e069553f98d7e7addcd">&#9670;&nbsp;</a></span>set_function() <span class="overload">[4/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_function </td>
          <td>(</td>
          <td class="paramtype">void(*)(const <a class="el" href="namespacemxnet.html#a4421326e33f2a848cb2fa3e70ab24ff4">real_t</a> &amp;rhs, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out)&#160;</td>
          <td class="paramname"><em>fsetvalue</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the function body to a <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> setvalue function this will also auto set the parameters correctly </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fsetvalue</td><td>function body to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="aa7f4633d042179d90c067aeb8da62060"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7f4633d042179d90c067aeb8da62060">&#9670;&nbsp;</a></span>set_function() <span class="overload">[5/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_function </td>
          <td>(</td>
          <td class="paramtype">void(*)(const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;lhs, const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;mhs, const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;rhs, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out)&#160;</td>
          <td class="paramname"><em>fternary</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the function body to a ternary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fternary</td><td>function body to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="a5f4c0751bc3111a8707b160d0e99e1af"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f4c0751bc3111a8707b160d0e99e1af">&#9670;&nbsp;</a></span>set_function() <span class="overload">[6/6]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_function </td>
          <td>(</td>
          <td class="paramtype">void(*)(const <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> &amp;src, <a class="el" href="classmxnet_1_1NDArray.html">NDArray</a> *out)&#160;</td>
          <td class="paramname"><em>funary</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the function body to a unary <a class="el" href="classmxnet_1_1NDArray.html" title="ndarray interface">NDArray</a> function this will also auto set the parameters correctly </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">funary</td><td>function body to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="af0a5efd67efe9b7c14abd49652e79a14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0a5efd67efe9b7c14abd49652e79a14">&#9670;&nbsp;</a></span>set_num_mutate_vars()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_num_mutate_vars </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the number of mutate variables </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>number of mutate variablesx </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="a4f6a3ba75e30389c827b3b26a12415d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f6a3ba75e30389c827b3b26a12415d1">&#9670;&nbsp;</a></span>set_num_scalars()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_num_scalars </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the number of scalar arguments </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>number of scalar arguments </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="a970756506340ff688dbb447858b1963c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a970756506340ff688dbb447858b1963c">&#9670;&nbsp;</a></span>set_num_use_vars()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_num_use_vars </td>
          <td>(</td>
          <td class="paramtype">unsigned&#160;</td>
          <td class="paramname"><em>n</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set the number of mutate variables </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">n</td><td>number of mutate variablesx </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<a id="acc3656ba948c28d3d155736ce064a3f4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc3656ba948c28d3d155736ce064a3f4">&#9670;&nbsp;</a></span>set_type_mask()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structmxnet_1_1NDArrayFunctionReg.html">NDArrayFunctionReg</a>&amp; mxnet::NDArrayFunctionReg::set_type_mask </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>tmask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set type mask </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tmask</td><td>typemask </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>ref to the registered entry, used to set properties </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ad7881779b7807c6357902bdaccfccde2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7881779b7807c6357902bdaccfccde2">&#9670;&nbsp;</a></span>num_mutate_vars</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned mxnet::NDArrayFunctionReg::num_mutate_vars</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>number of variable mutated by this function </p>

</div>
</div>
<a id="a9591e2abf6cbca0903aec582b96b4d95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9591e2abf6cbca0903aec582b96b4d95">&#9670;&nbsp;</a></span>num_scalars</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned mxnet::NDArrayFunctionReg::num_scalars</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>number of scalars used by this function </p>

</div>
</div>
<a id="aa0847438b4f3f600ec61d6d544755a29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0847438b4f3f600ec61d6d544755a29">&#9670;&nbsp;</a></span>num_use_vars</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned mxnet::NDArrayFunctionReg::num_use_vars</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>number of variable used by this function </p>

</div>
</div>
<a id="a0b24615f30e4fbe69ee75c7b319735bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b24615f30e4fbe69ee75c7b319735bf">&#9670;&nbsp;</a></span>type_mask</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int mxnet::NDArrayFunctionReg::type_mask</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>information on how function should be called from API </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>/work/mxnet/include/mxnet/<a class="el" href="include_2mxnet_2ndarray_8h_source.html">ndarray.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Jan 5 2023 03:47:41 for mxnet by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
