mlx/docs/build/html/ops_8h.html
Awni Hannun 50b9530af5 docs up
2025-06-04 01:01:51 +00:00

912 lines
246 KiB
HTML

<!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" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.10.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MLX: mlx/ops.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>
<script type="text/javascript" src="clipboard.js"></script>
<script type="text/javascript" src="cookie.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 id="projectrow">
<td id="projectalign">
<div id="projectname">MLX
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.10.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @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:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(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">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_938ab0ecf10b8b860ff766c820f665fd.html">mlx</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">ops.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;optional&gt;</code><br />
<code>#include &quot;<a class="el" href="array_8h_source.html">mlx/array.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="device_8h_source.html">mlx/device.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="stream_8h_source.html">mlx/stream.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utils_8h_source.html">mlx/utils.h</a>&quot;</code><br />
</div>
<p><a href="ops_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 id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemlx" id="r_namespacemlx"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx.html">mlx</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:namespacemlx_1_1core" id="r_namespacemlx_1_1core"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html">mlx::core</a></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 id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga7ca088b8090b9f84f2e08345cf3f835a" id="r_ga7ca088b8090b9f84f2e08345cf3f835a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7ca088b8090b9f84f2e08345cf3f835a">mlx::core::arange</a> (double start, double stop, double step, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7ca088b8090b9f84f2e08345cf3f835a"><td class="mdescLeft">&#160;</td><td class="mdescRight">A 1D array of numbers starting at <code>start</code> (optional), stopping at stop, stepping by <code>step</code> (optional). <br /></td></tr>
<tr class="separator:ga7ca088b8090b9f84f2e08345cf3f835a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c36b841dc5cba391dad029be5a0ad98" id="r_ga4c36b841dc5cba391dad029be5a0ad98"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4c36b841dc5cba391dad029be5a0ad98">mlx::core::arange</a> (double start, double stop, double step, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga4c36b841dc5cba391dad029be5a0ad98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d7cf9eb15e2daf1469058907e8abc85" id="r_ga8d7cf9eb15e2daf1469058907e8abc85"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8d7cf9eb15e2daf1469058907e8abc85">mlx::core::arange</a> (double start, double stop, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga8d7cf9eb15e2daf1469058907e8abc85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74566a14e69ba6a25f5a35e7ade5c282" id="r_ga74566a14e69ba6a25f5a35e7ade5c282"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga74566a14e69ba6a25f5a35e7ade5c282">mlx::core::arange</a> (double start, double stop, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga74566a14e69ba6a25f5a35e7ade5c282"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga345aa27af3dae3646b8b4b1068e89a3e" id="r_ga345aa27af3dae3646b8b4b1068e89a3e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga345aa27af3dae3646b8b4b1068e89a3e">mlx::core::arange</a> (double stop, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga345aa27af3dae3646b8b4b1068e89a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae179075d0fe23f4bd53fdf8c41f4c70" id="r_gaae179075d0fe23f4bd53fdf8c41f4c70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaae179075d0fe23f4bd53fdf8c41f4c70">mlx::core::arange</a> (double stop, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaae179075d0fe23f4bd53fdf8c41f4c70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b945f513077c2978afc1a952c884860" id="r_ga6b945f513077c2978afc1a952c884860"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6b945f513077c2978afc1a952c884860">mlx::core::arange</a> (int start, int stop, int step, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga6b945f513077c2978afc1a952c884860"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c39fcc6eaa1c1867735c7f849d708d6" id="r_ga1c39fcc6eaa1c1867735c7f849d708d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga1c39fcc6eaa1c1867735c7f849d708d6">mlx::core::arange</a> (int start, int stop, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga1c39fcc6eaa1c1867735c7f849d708d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafe6e4580452c873cac294f16129e633f" id="r_gafe6e4580452c873cac294f16129e633f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gafe6e4580452c873cac294f16129e633f">mlx::core::arange</a> (int stop, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gafe6e4580452c873cac294f16129e633f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga968bcabed902311dcfbd903b0fb886ec" id="r_ga968bcabed902311dcfbd903b0fb886ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga968bcabed902311dcfbd903b0fb886ec">mlx::core::linspace</a> (double start, double stop, int num=50, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype=<a class="el" href="namespacemlx_1_1core.html#a6894543b340321193dfb8052c438a319">float32</a>, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga968bcabed902311dcfbd903b0fb886ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">A 1D array of <code>num</code> evenly spaced numbers in the range <code>[start, stop]</code> <br /></td></tr>
<tr class="separator:ga968bcabed902311dcfbd903b0fb886ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e58c24fc5668e5a521e5b45e8370a62" id="r_ga0e58c24fc5668e5a521e5b45e8370a62"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga0e58c24fc5668e5a521e5b45e8370a62">mlx::core::astype</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> a, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga0e58c24fc5668e5a521e5b45e8370a62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an array to the given data type. <br /></td></tr>
<tr class="separator:ga0e58c24fc5668e5a521e5b45e8370a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8de80ecef30fc560003d40f61a38b99d" id="r_ga8de80ecef30fc560003d40f61a38b99d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8de80ecef30fc560003d40f61a38b99d">mlx::core::as_strided</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> a, std::vector&lt; int &gt; shape, std::vector&lt; size_t &gt; strides, size_t offset, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8de80ecef30fc560003d40f61a38b99d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a view of an array with the given shape and strides. <br /></td></tr>
<tr class="separator:ga8de80ecef30fc560003d40f61a38b99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae306e93af12f774bd80bad6c231b09d6" id="r_gae306e93af12f774bd80bad6c231b09d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gae306e93af12f774bd80bad6c231b09d6">mlx::core::copy</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gae306e93af12f774bd80bad6c231b09d6"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_copy.html">Copy</a> another array. <br /></td></tr>
<tr class="separator:gae306e93af12f774bd80bad6c231b09d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e85a476530c96ab73b894d1bddacf84" id="r_ga7e85a476530c96ab73b894d1bddacf84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7e85a476530c96ab73b894d1bddacf84">mlx::core::full</a> (std::vector&lt; int &gt; shape, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> vals, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7e85a476530c96ab73b894d1bddacf84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill an array of the given shape with the given value(s). <br /></td></tr>
<tr class="separator:ga7e85a476530c96ab73b894d1bddacf84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e3b15c3ec6b7922296777c5e1878d52" id="r_ga9e3b15c3ec6b7922296777c5e1878d52"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga9e3b15c3ec6b7922296777c5e1878d52">mlx::core::full</a> (std::vector&lt; int &gt; shape, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> vals, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga9e3b15c3ec6b7922296777c5e1878d52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac34ff7f1e217b93e878053aaa5a51e58" id="r_gac34ff7f1e217b93e878053aaa5a51e58"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gac34ff7f1e217b93e878053aaa5a51e58"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#gac34ff7f1e217b93e878053aaa5a51e58">mlx::core::full</a> (std::vector&lt; int &gt; shape, T val, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gac34ff7f1e217b93e878053aaa5a51e58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5e33cf83db1a65c35e688142bd41d35c" id="r_ga5e33cf83db1a65c35e688142bd41d35c"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga5e33cf83db1a65c35e688142bd41d35c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga5e33cf83db1a65c35e688142bd41d35c">mlx::core::full</a> (std::vector&lt; int &gt; shape, T val, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga5e33cf83db1a65c35e688142bd41d35c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34573eb2ead179839579142f3aedb3b8" id="r_ga34573eb2ead179839579142f3aedb3b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga34573eb2ead179839579142f3aedb3b8">mlx::core::zeros</a> (const std::vector&lt; int &gt; &amp;shape, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga34573eb2ead179839579142f3aedb3b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill an array of the given shape with zeros. <br /></td></tr>
<tr class="separator:ga34573eb2ead179839579142f3aedb3b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c1487f8a830c9df75a961b3a24527ee" id="r_ga7c1487f8a830c9df75a961b3a24527ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7c1487f8a830c9df75a961b3a24527ee">mlx::core::zeros</a> (const std::vector&lt; int &gt; &amp;shape, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga7c1487f8a830c9df75a961b3a24527ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbb857094d784b38c78683a091ffdbde" id="r_gafbb857094d784b38c78683a091ffdbde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gafbb857094d784b38c78683a091ffdbde">mlx::core::zeros_like</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gafbb857094d784b38c78683a091ffdbde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54eeed455321a54c8e72e16552a978f2" id="r_ga54eeed455321a54c8e72e16552a978f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga54eeed455321a54c8e72e16552a978f2">mlx::core::ones</a> (const std::vector&lt; int &gt; &amp;shape, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga54eeed455321a54c8e72e16552a978f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill an array of the given shape with ones. <br /></td></tr>
<tr class="separator:ga54eeed455321a54c8e72e16552a978f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6cf4b5e8580e4436302c519d05897dab" id="r_ga6cf4b5e8580e4436302c519d05897dab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6cf4b5e8580e4436302c519d05897dab">mlx::core::ones</a> (const std::vector&lt; int &gt; &amp;shape, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga6cf4b5e8580e4436302c519d05897dab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94f8d3b1906fee99da9cbe39f7be7d42" id="r_ga94f8d3b1906fee99da9cbe39f7be7d42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga94f8d3b1906fee99da9cbe39f7be7d42">mlx::core::ones_like</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga94f8d3b1906fee99da9cbe39f7be7d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45e9e68246b0d1cf03c3cc9c9e7e6ae3" id="r_ga45e9e68246b0d1cf03c3cc9c9e7e6ae3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga45e9e68246b0d1cf03c3cc9c9e7e6ae3">mlx::core::eye</a> (int n, int m, int k, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga45e9e68246b0d1cf03c3cc9c9e7e6ae3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fill an array of the given shape (n,m) with ones in the specified diagonal k, and zeros everywhere else. <br /></td></tr>
<tr class="separator:ga45e9e68246b0d1cf03c3cc9c9e7e6ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2c9011310a1fa7c82f942f54102c36dd" id="r_ga2c9011310a1fa7c82f942f54102c36dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2c9011310a1fa7c82f942f54102c36dd">mlx::core::eye</a> (int n, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga2c9011310a1fa7c82f942f54102c36dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61657db78ef35d41112d362c869c25d2" id="r_ga61657db78ef35d41112d362c869c25d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga61657db78ef35d41112d362c869c25d2">mlx::core::eye</a> (int n, int m, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga61657db78ef35d41112d362c869c25d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga908a15b42834be498a46856c99dfc779" id="r_ga908a15b42834be498a46856c99dfc779"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga908a15b42834be498a46856c99dfc779">mlx::core::eye</a> (int n, int m, int k, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga908a15b42834be498a46856c99dfc779"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab777fcf6d4a89172c69ec3492548dc0f" id="r_gab777fcf6d4a89172c69ec3492548dc0f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab777fcf6d4a89172c69ec3492548dc0f">mlx::core::eye</a> (int n, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gab777fcf6d4a89172c69ec3492548dc0f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga484eaa10d5e19a4ca46d3a9cd9fab600" id="r_ga484eaa10d5e19a4ca46d3a9cd9fab600"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga484eaa10d5e19a4ca46d3a9cd9fab600">mlx::core::identity</a> (int n, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga484eaa10d5e19a4ca46d3a9cd9fab600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a square matrix of shape (n,n) of zeros, and ones in the major diagonal. <br /></td></tr>
<tr class="separator:ga484eaa10d5e19a4ca46d3a9cd9fab600"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad994d65ac6019c26b5ad6c41179d3424" id="r_gad994d65ac6019c26b5ad6c41179d3424"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gad994d65ac6019c26b5ad6c41179d3424">mlx::core::identity</a> (int n, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gad994d65ac6019c26b5ad6c41179d3424"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f3389e5b89e70e862e7d2b40d6c7f78" id="r_ga4f3389e5b89e70e862e7d2b40d6c7f78"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4f3389e5b89e70e862e7d2b40d6c7f78">mlx::core::tri</a> (int n, int m, int k, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> type, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga4f3389e5b89e70e862e7d2b40d6c7f78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac19a1bd6ed6d5c7bc9d258820189dbb5" id="r_gac19a1bd6ed6d5c7bc9d258820189dbb5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac19a1bd6ed6d5c7bc9d258820189dbb5">mlx::core::tri</a> (int n, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> type, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gac19a1bd6ed6d5c7bc9d258820189dbb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga83e0bb45dc770cf014531d873b78c5a2" id="r_ga83e0bb45dc770cf014531d873b78c5a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga83e0bb45dc770cf014531d873b78c5a2">mlx::core::tril</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> x, int k=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga83e0bb45dc770cf014531d873b78c5a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9df5917876eeb0cb28b7fa81f880412" id="r_gaa9df5917876eeb0cb28b7fa81f880412"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaa9df5917876eeb0cb28b7fa81f880412">mlx::core::triu</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> x, int k=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaa9df5917876eeb0cb28b7fa81f880412"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b0e3d46a39d99b1628b422049790082" id="r_ga7b0e3d46a39d99b1628b422049790082"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7b0e3d46a39d99b1628b422049790082">mlx::core::reshape</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, std::vector&lt; int &gt; shape, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7b0e3d46a39d99b1628b422049790082"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_reshape.html">Reshape</a> an array to the given shape. <br /></td></tr>
<tr class="separator:ga7b0e3d46a39d99b1628b422049790082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50aa98754b412bb57c083f6e3e95061f" id="r_ga50aa98754b412bb57c083f6e3e95061f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga50aa98754b412bb57c083f6e3e95061f">mlx::core::flatten</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int start_axis, int end_axis=-1, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga50aa98754b412bb57c083f6e3e95061f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flatten the dimensions in the range <code>[start_axis, end_axis]</code> . <br /></td></tr>
<tr class="separator:ga50aa98754b412bb57c083f6e3e95061f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6adbc9c86f0ab27d8810a02e9e719fd" id="r_gaa6adbc9c86f0ab27d8810a02e9e719fd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaa6adbc9c86f0ab27d8810a02e9e719fd">mlx::core::flatten</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaa6adbc9c86f0ab27d8810a02e9e719fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flatten the array to 1D. <br /></td></tr>
<tr class="separator:gaa6adbc9c86f0ab27d8810a02e9e719fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga872d2c1806e67ce2596b24d056681074" id="r_ga872d2c1806e67ce2596b24d056681074"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga872d2c1806e67ce2596b24d056681074">mlx::core::hadamard_transform</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, std::optional&lt; float &gt; scale=std::nullopt, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga872d2c1806e67ce2596b24d056681074"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_multiply.html">Multiply</a> the array by the <a class="el" href="classmlx_1_1core_1_1_hadamard.html">Hadamard</a> matrix of corresponding size. <br /></td></tr>
<tr class="separator:ga872d2c1806e67ce2596b24d056681074"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga710daa7ec721bd4d3f326082cb195576" id="r_ga710daa7ec721bd4d3f326082cb195576"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga710daa7ec721bd4d3f326082cb195576">mlx::core::squeeze</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga710daa7ec721bd4d3f326082cb195576"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove singleton dimensions at the given axes. <br /></td></tr>
<tr class="separator:ga710daa7ec721bd4d3f326082cb195576"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga700dd51b77379a3d2260a55783e8ebf3" id="r_ga700dd51b77379a3d2260a55783e8ebf3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga700dd51b77379a3d2260a55783e8ebf3">mlx::core::squeeze</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga700dd51b77379a3d2260a55783e8ebf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove singleton dimensions at the given axis. <br /></td></tr>
<tr class="separator:ga700dd51b77379a3d2260a55783e8ebf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga58bad3c61fd85b95927a987ba1cf5dad" id="r_ga58bad3c61fd85b95927a987ba1cf5dad"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga58bad3c61fd85b95927a987ba1cf5dad">mlx::core::squeeze</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga58bad3c61fd85b95927a987ba1cf5dad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove all singleton dimensions. <br /></td></tr>
<tr class="separator:ga58bad3c61fd85b95927a987ba1cf5dad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga717f11149a8c7b4cc3e33bbcc0a97133" id="r_ga717f11149a8c7b4cc3e33bbcc0a97133"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga717f11149a8c7b4cc3e33bbcc0a97133">mlx::core::expand_dims</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga717f11149a8c7b4cc3e33bbcc0a97133"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_add.html">Add</a> a singleton dimension at the given axes. <br /></td></tr>
<tr class="separator:ga717f11149a8c7b4cc3e33bbcc0a97133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a80adb4a5a36d18b5f234d4b034950a" id="r_ga7a80adb4a5a36d18b5f234d4b034950a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7a80adb4a5a36d18b5f234d4b034950a">mlx::core::expand_dims</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7a80adb4a5a36d18b5f234d4b034950a"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_add.html">Add</a> a singleton dimension at the given axis. <br /></td></tr>
<tr class="separator:ga7a80adb4a5a36d18b5f234d4b034950a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad66135407dbb41b3c5d2cdfd51226c21" id="r_gad66135407dbb41b3c5d2cdfd51226c21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gad66135407dbb41b3c5d2cdfd51226c21">mlx::core::slice</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, std::vector&lt; int &gt; start, std::vector&lt; int &gt; stop, std::vector&lt; int &gt; strides, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gad66135407dbb41b3c5d2cdfd51226c21"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_slice.html">Slice</a> an array. <br /></td></tr>
<tr class="separator:gad66135407dbb41b3c5d2cdfd51226c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90b243e25b5fbbd7a9732f7ac48f6403" id="r_ga90b243e25b5fbbd7a9732f7ac48f6403"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga90b243e25b5fbbd7a9732f7ac48f6403">mlx::core::slice</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;start, const std::vector&lt; int &gt; &amp;stop, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga90b243e25b5fbbd7a9732f7ac48f6403"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_slice.html">Slice</a> an array with a stride of 1 in each dimension. <br /></td></tr>
<tr class="separator:ga90b243e25b5fbbd7a9732f7ac48f6403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3875660e4ce2c8add8bfcf8144078708" id="r_ga3875660e4ce2c8add8bfcf8144078708"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3875660e4ce2c8add8bfcf8144078708">mlx::core::slice_update</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;src, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;update, std::vector&lt; int &gt; start, std::vector&lt; int &gt; stop, std::vector&lt; int &gt; strides, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga3875660e4ce2c8add8bfcf8144078708"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update a slice from the source array. <br /></td></tr>
<tr class="separator:ga3875660e4ce2c8add8bfcf8144078708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03ffbbb4d989a463ef43f41ebf7eabef" id="r_ga03ffbbb4d989a463ef43f41ebf7eabef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga03ffbbb4d989a463ef43f41ebf7eabef">mlx::core::slice_update</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;src, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;update, std::vector&lt; int &gt; start, std::vector&lt; int &gt; stop, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga03ffbbb4d989a463ef43f41ebf7eabef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update a slice from the source array with stride 1 in each dimension. <br /></td></tr>
<tr class="separator:ga03ffbbb4d989a463ef43f41ebf7eabef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7534290bceab5fb3831a05d67bebce7d" id="r_ga7534290bceab5fb3831a05d67bebce7d"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7534290bceab5fb3831a05d67bebce7d">mlx::core::split</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int num_splits, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7534290bceab5fb3831a05d67bebce7d"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_split.html">Split</a> an array into sub-arrays along a given axis. <br /></td></tr>
<tr class="separator:ga7534290bceab5fb3831a05d67bebce7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56882d24e5fde59c266774624c892d41" id="r_ga56882d24e5fde59c266774624c892d41"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga56882d24e5fde59c266774624c892d41">mlx::core::split</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int num_splits, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga56882d24e5fde59c266774624c892d41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2cfcb1a53924882e30476c9016c5de74" id="r_ga2cfcb1a53924882e30476c9016c5de74"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2cfcb1a53924882e30476c9016c5de74">mlx::core::split</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;indices, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga2cfcb1a53924882e30476c9016c5de74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac324dfa3e26d3a14a35ab7962e36f0e1" id="r_gac324dfa3e26d3a14a35ab7962e36f0e1"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac324dfa3e26d3a14a35ab7962e36f0e1">mlx::core::split</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;indices, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gac324dfa3e26d3a14a35ab7962e36f0e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga577c911618575314de63d1060656a26e" id="r_ga577c911618575314de63d1060656a26e"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga577c911618575314de63d1060656a26e">mlx::core::meshgrid</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;arrays, bool sparse=false, std::string indexing=&quot;xy&quot;, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga577c911618575314de63d1060656a26e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A vector of coordinate arrays from coordinate vectors. <br /></td></tr>
<tr class="separator:ga577c911618575314de63d1060656a26e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga157cd7c23f9b306fee2e1eb2b9bf1dd8" id="r_ga157cd7c23f9b306fee2e1eb2b9bf1dd8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga157cd7c23f9b306fee2e1eb2b9bf1dd8">mlx::core::clip</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;a_min=std::nullopt, const std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;a_max=std::nullopt, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga157cd7c23f9b306fee2e1eb2b9bf1dd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clip (limit) the values in an array. <br /></td></tr>
<tr class="separator:ga157cd7c23f9b306fee2e1eb2b9bf1dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabdc36fa65697d0361c8d67495de77129" id="r_gabdc36fa65697d0361c8d67495de77129"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gabdc36fa65697d0361c8d67495de77129">mlx::core::concatenate</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;arrays, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gabdc36fa65697d0361c8d67495de77129"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_concatenate.html">Concatenate</a> arrays along a given axis. <br /></td></tr>
<tr class="separator:gabdc36fa65697d0361c8d67495de77129"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa95c34ca3a8877f2c50cb60e7fa312b8" id="r_gaa95c34ca3a8877f2c50cb60e7fa312b8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaa95c34ca3a8877f2c50cb60e7fa312b8">mlx::core::concatenate</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;arrays, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaa95c34ca3a8877f2c50cb60e7fa312b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8f2ec2b98a4b59eca73d7471df6e032" id="r_gaf8f2ec2b98a4b59eca73d7471df6e032"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf8f2ec2b98a4b59eca73d7471df6e032">mlx::core::stack</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;arrays, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf8f2ec2b98a4b59eca73d7471df6e032"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack arrays along a new axis. <br /></td></tr>
<tr class="separator:gaf8f2ec2b98a4b59eca73d7471df6e032"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82216209dce901296fc737fe8efa5c94" id="r_ga82216209dce901296fc737fe8efa5c94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga82216209dce901296fc737fe8efa5c94">mlx::core::stack</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;arrays, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga82216209dce901296fc737fe8efa5c94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab49e3a687e826554ed1574186e8ae974" id="r_gab49e3a687e826554ed1574186e8ae974"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab49e3a687e826554ed1574186e8ae974">mlx::core::repeat</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;arr, int repeats, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab49e3a687e826554ed1574186e8ae974"><td class="mdescLeft">&#160;</td><td class="mdescRight">Repeat an array along an axis. <br /></td></tr>
<tr class="separator:gab49e3a687e826554ed1574186e8ae974"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f75f5d5db999f02f43ecbc6dccf3ba6" id="r_ga4f75f5d5db999f02f43ecbc6dccf3ba6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4f75f5d5db999f02f43ecbc6dccf3ba6">mlx::core::repeat</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;arr, int repeats, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga4f75f5d5db999f02f43ecbc6dccf3ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab105a57b9a4d84496fe1e4d60e13d361" id="r_gab105a57b9a4d84496fe1e4d60e13d361"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab105a57b9a4d84496fe1e4d60e13d361">mlx::core::tile</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;arr, std::vector&lt; int &gt; reps, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gab105a57b9a4d84496fe1e4d60e13d361"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1869f3b7094869b44fe7ac4ce58638b" id="r_gac1869f3b7094869b44fe7ac4ce58638b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b">mlx::core::transpose</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, std::vector&lt; int &gt; axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gac1869f3b7094869b44fe7ac4ce58638b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutes the dimensions according to the given axes. <br /></td></tr>
<tr class="separator:gac1869f3b7094869b44fe7ac4ce58638b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga260ac332956f3a6bf1dfdb9095c84dc5" id="r_ga260ac332956f3a6bf1dfdb9095c84dc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga260ac332956f3a6bf1dfdb9095c84dc5">mlx::core::transpose</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, std::initializer_list&lt; int &gt; axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga260ac332956f3a6bf1dfdb9095c84dc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabc46eed81ab6c6247903e4ec0c4ec1fb" id="r_gabc46eed81ab6c6247903e4ec0c4ec1fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gabc46eed81ab6c6247903e4ec0c4ec1fb">mlx::core::swapaxes</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis1, int axis2, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gabc46eed81ab6c6247903e4ec0c4ec1fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap two axes of an array. <br /></td></tr>
<tr class="separator:gabc46eed81ab6c6247903e4ec0c4ec1fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24067d10a842db2c9d509ea48135a2c3" id="r_ga24067d10a842db2c9d509ea48135a2c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga24067d10a842db2c9d509ea48135a2c3">mlx::core::moveaxis</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int source, int destination, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga24067d10a842db2c9d509ea48135a2c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move an axis of an array. <br /></td></tr>
<tr class="separator:ga24067d10a842db2c9d509ea48135a2c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga81c2f138ea81d78affd42e9a646cacbc" id="r_ga81c2f138ea81d78affd42e9a646cacbc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga81c2f138ea81d78affd42e9a646cacbc">mlx::core::pad</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, const std::vector&lt; int &gt; &amp;low_pad_size, const std::vector&lt; int &gt; &amp;high_pad_size, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;pad_value=<a class="el" href="classmlx_1_1core_1_1array.html">array</a>(0), const std::string mode=&quot;constant&quot;, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga81c2f138ea81d78affd42e9a646cacbc"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_pad.html">Pad</a> an array with a constant value. <br /></td></tr>
<tr class="separator:ga81c2f138ea81d78affd42e9a646cacbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8495c9902b0a67f288918cb528d5abeb" id="r_ga8495c9902b0a67f288918cb528d5abeb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8495c9902b0a67f288918cb528d5abeb">mlx::core::pad</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; std::pair&lt; int, int &gt; &gt; &amp;pad_width, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;pad_value=<a class="el" href="classmlx_1_1core_1_1array.html">array</a>(0), const std::string mode=&quot;constant&quot;, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8495c9902b0a67f288918cb528d5abeb"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_pad.html">Pad</a> an array with a constant value along all axes. <br /></td></tr>
<tr class="separator:ga8495c9902b0a67f288918cb528d5abeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeaae2f9637b0b3e2b4c6c0517e285935" id="r_gaeaae2f9637b0b3e2b4c6c0517e285935"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaeaae2f9637b0b3e2b4c6c0517e285935">mlx::core::pad</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::pair&lt; int, int &gt; &amp;pad_width, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;pad_value=<a class="el" href="classmlx_1_1core_1_1array.html">array</a>(0), const std::string mode=&quot;constant&quot;, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaeaae2f9637b0b3e2b4c6c0517e285935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b8684361f57cbfd5e6eedf82a62ded0" id="r_ga5b8684361f57cbfd5e6eedf82a62ded0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga5b8684361f57cbfd5e6eedf82a62ded0">mlx::core::pad</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int pad_width, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;pad_value=<a class="el" href="classmlx_1_1core_1_1array.html">array</a>(0), const std::string mode=&quot;constant&quot;, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga5b8684361f57cbfd5e6eedf82a62ded0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68da0176fefbe0c0096783c6fd926c6a" id="r_ga68da0176fefbe0c0096783c6fd926c6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga68da0176fefbe0c0096783c6fd926c6a">mlx::core::transpose</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga68da0176fefbe0c0096783c6fd926c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Permutes the dimensions in reverse order. <br /></td></tr>
<tr class="separator:ga68da0176fefbe0c0096783c6fd926c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad256e86cc1a6e6b3832e392baa90318d" id="r_gad256e86cc1a6e6b3832e392baa90318d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gad256e86cc1a6e6b3832e392baa90318d">mlx::core::broadcast_to</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;shape, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gad256e86cc1a6e6b3832e392baa90318d"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_broadcast.html">Broadcast</a> an array to a given shape. <br /></td></tr>
<tr class="separator:gad256e86cc1a6e6b3832e392baa90318d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab783890428b596f715dc7dd2057eae99" id="r_gab783890428b596f715dc7dd2057eae99"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab783890428b596f715dc7dd2057eae99">mlx::core::broadcast_arrays</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab783890428b596f715dc7dd2057eae99"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_broadcast.html">Broadcast</a> a vector of arrays against one another. <br /></td></tr>
<tr class="separator:gab783890428b596f715dc7dd2057eae99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga33638dc3a9972dd02be12d0eb85f9bde" id="r_ga33638dc3a9972dd02be12d0eb85f9bde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga33638dc3a9972dd02be12d0eb85f9bde">mlx::core::equal</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga33638dc3a9972dd02be12d0eb85f9bde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the bool array with (a == b) element-wise. <br /></td></tr>
<tr class="separator:ga33638dc3a9972dd02be12d0eb85f9bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa30cf69f3d22f65615f5e1696dd5703f" id="r_gaa30cf69f3d22f65615f5e1696dd5703f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaa30cf69f3d22f65615f5e1696dd5703f">mlx::core::operator==</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gaa30cf69f3d22f65615f5e1696dd5703f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf115782d009ac2a547fcca395c9ec797" id="r_gaf115782d009ac2a547fcca395c9ec797"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf115782d009ac2a547fcca395c9ec797"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf115782d009ac2a547fcca395c9ec797">mlx::core::operator==</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gaf115782d009ac2a547fcca395c9ec797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3ad3ed7aece2650943a35082dbe3a0a5" id="r_ga3ad3ed7aece2650943a35082dbe3a0a5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga3ad3ed7aece2650943a35082dbe3a0a5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3ad3ed7aece2650943a35082dbe3a0a5">mlx::core::operator==</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:ga3ad3ed7aece2650943a35082dbe3a0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28f22c5d2c399eee53be7b3facc11103" id="r_ga28f22c5d2c399eee53be7b3facc11103"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga28f22c5d2c399eee53be7b3facc11103">mlx::core::not_equal</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga28f22c5d2c399eee53be7b3facc11103"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the bool array with (a != b) element-wise. <br /></td></tr>
<tr class="separator:ga28f22c5d2c399eee53be7b3facc11103"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ac483d85f23252ca8757e9926d5a3c5" id="r_ga0ac483d85f23252ca8757e9926d5a3c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga0ac483d85f23252ca8757e9926d5a3c5">mlx::core::operator!=</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga0ac483d85f23252ca8757e9926d5a3c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fecba9f3cb9a19afd8ca492cf509ce0" id="r_ga3fecba9f3cb9a19afd8ca492cf509ce0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga3fecba9f3cb9a19afd8ca492cf509ce0"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3fecba9f3cb9a19afd8ca492cf509ce0">mlx::core::operator!=</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga3fecba9f3cb9a19afd8ca492cf509ce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebbf1cfde388c7480159a03c92c9a385" id="r_gaebbf1cfde388c7480159a03c92c9a385"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaebbf1cfde388c7480159a03c92c9a385"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#gaebbf1cfde388c7480159a03c92c9a385">mlx::core::operator!=</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:gaebbf1cfde388c7480159a03c92c9a385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4ec7bfc1ad13b891f1f3ef1772ef04d" id="r_gaf4ec7bfc1ad13b891f1f3ef1772ef04d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf4ec7bfc1ad13b891f1f3ef1772ef04d">mlx::core::greater</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf4ec7bfc1ad13b891f1f3ef1772ef04d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns bool array with (a &gt; b) element-wise. <br /></td></tr>
<tr class="separator:gaf4ec7bfc1ad13b891f1f3ef1772ef04d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga74fd2777adef10e6fe628a9cdadb01cb" id="r_ga74fd2777adef10e6fe628a9cdadb01cb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga74fd2777adef10e6fe628a9cdadb01cb">mlx::core::operator&gt;</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga74fd2777adef10e6fe628a9cdadb01cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32e106e794e2c32e4e7decee2df2477f" id="r_ga32e106e794e2c32e4e7decee2df2477f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga32e106e794e2c32e4e7decee2df2477f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga32e106e794e2c32e4e7decee2df2477f">mlx::core::operator&gt;</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga32e106e794e2c32e4e7decee2df2477f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga96552b90e89923c5d2064cc427775ec5" id="r_ga96552b90e89923c5d2064cc427775ec5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga96552b90e89923c5d2064cc427775ec5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga96552b90e89923c5d2064cc427775ec5">mlx::core::operator&gt;</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:ga96552b90e89923c5d2064cc427775ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7153071bcfff6faad21332163fb9a430" id="r_ga7153071bcfff6faad21332163fb9a430"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7153071bcfff6faad21332163fb9a430">mlx::core::greater_equal</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7153071bcfff6faad21332163fb9a430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns bool array with (a &gt;= b) element-wise. <br /></td></tr>
<tr class="separator:ga7153071bcfff6faad21332163fb9a430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a41895f25ed083a36994d95fa102546" id="r_ga3a41895f25ed083a36994d95fa102546"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3a41895f25ed083a36994d95fa102546">mlx::core::operator&gt;=</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga3a41895f25ed083a36994d95fa102546"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf509f2cb3b18963232f20d6c3bd229b2" id="r_gaf509f2cb3b18963232f20d6c3bd229b2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf509f2cb3b18963232f20d6c3bd229b2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf509f2cb3b18963232f20d6c3bd229b2">mlx::core::operator&gt;=</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gaf509f2cb3b18963232f20d6c3bd229b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa0eb25d5978674bfc9e59d4145ec590" id="r_gafa0eb25d5978674bfc9e59d4145ec590"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gafa0eb25d5978674bfc9e59d4145ec590"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#gafa0eb25d5978674bfc9e59d4145ec590">mlx::core::operator&gt;=</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:gafa0eb25d5978674bfc9e59d4145ec590"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9142b8d717699a8abfa2a7398891ff8a" id="r_ga9142b8d717699a8abfa2a7398891ff8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga9142b8d717699a8abfa2a7398891ff8a">mlx::core::less</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga9142b8d717699a8abfa2a7398891ff8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns bool array with (a &lt; b) element-wise. <br /></td></tr>
<tr class="separator:ga9142b8d717699a8abfa2a7398891ff8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee41e2b8f61d563200ff03575ac1d6c3" id="r_gaee41e2b8f61d563200ff03575ac1d6c3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaee41e2b8f61d563200ff03575ac1d6c3">mlx::core::operator&lt;</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gaee41e2b8f61d563200ff03575ac1d6c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ef8ea11cf15ce628c54201fa42748ef" id="r_ga1ef8ea11cf15ce628c54201fa42748ef"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga1ef8ea11cf15ce628c54201fa42748ef"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga1ef8ea11cf15ce628c54201fa42748ef">mlx::core::operator&lt;</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga1ef8ea11cf15ce628c54201fa42748ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95e72226dc7a79c40b3d16f990922050" id="r_ga95e72226dc7a79c40b3d16f990922050"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga95e72226dc7a79c40b3d16f990922050"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga95e72226dc7a79c40b3d16f990922050">mlx::core::operator&lt;</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:ga95e72226dc7a79c40b3d16f990922050"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d49e0c7011d0573c369c13c8f045a09" id="r_ga0d49e0c7011d0573c369c13c8f045a09"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga0d49e0c7011d0573c369c13c8f045a09">mlx::core::less_equal</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga0d49e0c7011d0573c369c13c8f045a09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns bool array with (a &lt;= b) element-wise. <br /></td></tr>
<tr class="separator:ga0d49e0c7011d0573c369c13c8f045a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c8b8a1632944acaae50f0de6c23ece6" id="r_ga4c8b8a1632944acaae50f0de6c23ece6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4c8b8a1632944acaae50f0de6c23ece6">mlx::core::operator&lt;=</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga4c8b8a1632944acaae50f0de6c23ece6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga150a9be467c9f91482a6d6fc13504bc4" id="r_ga150a9be467c9f91482a6d6fc13504bc4"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga150a9be467c9f91482a6d6fc13504bc4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga150a9be467c9f91482a6d6fc13504bc4">mlx::core::operator&lt;=</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga150a9be467c9f91482a6d6fc13504bc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga624eeccef0cc4b130e1325abfea057cb" id="r_ga624eeccef0cc4b130e1325abfea057cb"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga624eeccef0cc4b130e1325abfea057cb"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga624eeccef0cc4b130e1325abfea057cb">mlx::core::operator&lt;=</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:ga624eeccef0cc4b130e1325abfea057cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8f3059336ee0c87207b1f8c6ab312645" id="r_ga8f3059336ee0c87207b1f8c6ab312645"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8f3059336ee0c87207b1f8c6ab312645">mlx::core::array_equal</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, bool equal_nan, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8f3059336ee0c87207b1f8c6ab312645"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if two arrays have the same shape and elements. <br /></td></tr>
<tr class="separator:ga8f3059336ee0c87207b1f8c6ab312645"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf79cf0271ca0105d7b14295a90d0ed14" id="r_gaf79cf0271ca0105d7b14295a90d0ed14"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf79cf0271ca0105d7b14295a90d0ed14">mlx::core::array_equal</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaf79cf0271ca0105d7b14295a90d0ed14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga175592792471b0ffb45196dca4711ba6" id="r_ga175592792471b0ffb45196dca4711ba6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga175592792471b0ffb45196dca4711ba6">mlx::core::isnan</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga175592792471b0ffb45196dca4711ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8fc238d5e5d1153e69da8b36015d9844" id="r_ga8fc238d5e5d1153e69da8b36015d9844"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8fc238d5e5d1153e69da8b36015d9844">mlx::core::isinf</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga8fc238d5e5d1153e69da8b36015d9844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga725ff0789f934b1fdd54ee29e47022ff" id="r_ga725ff0789f934b1fdd54ee29e47022ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga725ff0789f934b1fdd54ee29e47022ff">mlx::core::isfinite</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga725ff0789f934b1fdd54ee29e47022ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad80f7c4a58c12b6cb30a8b9a73008993" id="r_gad80f7c4a58c12b6cb30a8b9a73008993"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gad80f7c4a58c12b6cb30a8b9a73008993">mlx::core::isposinf</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gad80f7c4a58c12b6cb30a8b9a73008993"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1940523da381ed7be50656a3bc465ff3" id="r_ga1940523da381ed7be50656a3bc465ff3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga1940523da381ed7be50656a3bc465ff3">mlx::core::isneginf</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga1940523da381ed7be50656a3bc465ff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a2056f8c9bb30914c40bcf509386491" id="r_ga8a2056f8c9bb30914c40bcf509386491"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8a2056f8c9bb30914c40bcf509386491">mlx::core::where</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;condition, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;x, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;y, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8a2056f8c9bb30914c40bcf509386491"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_select.html">Select</a> from x or y depending on condition. <br /></td></tr>
<tr class="separator:ga8a2056f8c9bb30914c40bcf509386491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1467c6a9e675152e768afd6dcfb61de" id="r_gab1467c6a9e675152e768afd6dcfb61de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab1467c6a9e675152e768afd6dcfb61de">mlx::core::nan_to_num</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, float nan=0.0f, const std::optional&lt; float &gt; posinf=std::nullopt, const std::optional&lt; float &gt; neginf=std::nullopt, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab1467c6a9e675152e768afd6dcfb61de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replace NaN and infinities with finite numbers. <br /></td></tr>
<tr class="separator:gab1467c6a9e675152e768afd6dcfb61de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b1b90ef1275ca17655b6d7f25d3ee68" id="r_ga3b1b90ef1275ca17655b6d7f25d3ee68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3b1b90ef1275ca17655b6d7f25d3ee68">mlx::core::all</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga3b1b90ef1275ca17655b6d7f25d3ee68"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if all elements in the array are true (or non-zero). <br /></td></tr>
<tr class="separator:ga3b1b90ef1275ca17655b6d7f25d3ee68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3689e12e8f42dadb4cbe2b07dc4099f4" id="r_ga3689e12e8f42dadb4cbe2b07dc4099f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3689e12e8f42dadb4cbe2b07dc4099f4">mlx::core::all</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga3689e12e8f42dadb4cbe2b07dc4099f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0cd4257de7542daf9faf5e605e31020" id="r_gaf0cd4257de7542daf9faf5e605e31020"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf0cd4257de7542daf9faf5e605e31020">mlx::core::allclose</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, double rtol=1e-5, double atol=1e-8, bool equal_nan=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf0cd4257de7542daf9faf5e605e31020"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the two arrays are equal within the specified tolerance. <br /></td></tr>
<tr class="separator:gaf0cd4257de7542daf9faf5e605e31020"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51eac95c04400921c54716de14b52491" id="r_ga51eac95c04400921c54716de14b52491"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga51eac95c04400921c54716de14b52491">mlx::core::isclose</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, double rtol=1e-5, double atol=1e-8, bool equal_nan=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga51eac95c04400921c54716de14b52491"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a boolean array where two arrays are element-wise equal within the specified tolerance. <br /></td></tr>
<tr class="separator:ga51eac95c04400921c54716de14b52491"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0919c6ba53aea35a7683dea7e9a9a59" id="r_gac0919c6ba53aea35a7683dea7e9a9a59"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac0919c6ba53aea35a7683dea7e9a9a59">mlx::core::all</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gac0919c6ba53aea35a7683dea7e9a9a59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduces the input along the given axes. <br /></td></tr>
<tr class="separator:gac0919c6ba53aea35a7683dea7e9a9a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2d5fcc5b62d673cca76c08b7b4afbbc" id="r_gae2d5fcc5b62d673cca76c08b7b4afbbc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gae2d5fcc5b62d673cca76c08b7b4afbbc">mlx::core::all</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gae2d5fcc5b62d673cca76c08b7b4afbbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduces the input along the given axis. <br /></td></tr>
<tr class="separator:gae2d5fcc5b62d673cca76c08b7b4afbbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8598dd718fb05cb28535e250372d4e6f" id="r_ga8598dd718fb05cb28535e250372d4e6f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8598dd718fb05cb28535e250372d4e6f">mlx::core::any</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8598dd718fb05cb28535e250372d4e6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if any elements in the array are true (or non-zero). <br /></td></tr>
<tr class="separator:ga8598dd718fb05cb28535e250372d4e6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad37df97f253a963bece124198dbaf9ba" id="r_gad37df97f253a963bece124198dbaf9ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gad37df97f253a963bece124198dbaf9ba">mlx::core::any</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gad37df97f253a963bece124198dbaf9ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf240618fc8b06debf5f56e97e84f18ef" id="r_gaf240618fc8b06debf5f56e97e84f18ef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf240618fc8b06debf5f56e97e84f18ef">mlx::core::any</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf240618fc8b06debf5f56e97e84f18ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduces the input along the given axes. <br /></td></tr>
<tr class="separator:gaf240618fc8b06debf5f56e97e84f18ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1d56277d468a55227f4dad6bc2fc1ce" id="r_gab1d56277d468a55227f4dad6bc2fc1ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab1d56277d468a55227f4dad6bc2fc1ce">mlx::core::any</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab1d56277d468a55227f4dad6bc2fc1ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reduces the input along the given axis. <br /></td></tr>
<tr class="separator:gab1d56277d468a55227f4dad6bc2fc1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade905ee92eb6ab7edfc312aeddfbaeb6" id="r_gade905ee92eb6ab7edfc312aeddfbaeb6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gade905ee92eb6ab7edfc312aeddfbaeb6">mlx::core::sum</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gade905ee92eb6ab7edfc312aeddfbaeb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sums the elements of an array. <br /></td></tr>
<tr class="separator:gade905ee92eb6ab7edfc312aeddfbaeb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3627754d7868487bdab1bd83f05d9c81" id="r_ga3627754d7868487bdab1bd83f05d9c81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3627754d7868487bdab1bd83f05d9c81">mlx::core::sum</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga3627754d7868487bdab1bd83f05d9c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaccd0a6be2c5b5128fdc2d87b5c8e67f4" id="r_gaccd0a6be2c5b5128fdc2d87b5c8e67f4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaccd0a6be2c5b5128fdc2d87b5c8e67f4">mlx::core::sum</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaccd0a6be2c5b5128fdc2d87b5c8e67f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sums the elements of an array along the given axes. <br /></td></tr>
<tr class="separator:gaccd0a6be2c5b5128fdc2d87b5c8e67f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafcd39b0bf39a56c26a967981c7ab8a8d" id="r_gafcd39b0bf39a56c26a967981c7ab8a8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gafcd39b0bf39a56c26a967981c7ab8a8d">mlx::core::sum</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gafcd39b0bf39a56c26a967981c7ab8a8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sums the elements of an array along the given axis. <br /></td></tr>
<tr class="separator:gafcd39b0bf39a56c26a967981c7ab8a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade46e768fd46b8b640eb16f26abeecef" id="r_gade46e768fd46b8b640eb16f26abeecef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gade46e768fd46b8b640eb16f26abeecef">mlx::core::mean</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gade46e768fd46b8b640eb16f26abeecef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the mean of the elements of an array. <br /></td></tr>
<tr class="separator:gade46e768fd46b8b640eb16f26abeecef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52b59fdd8e8430538e564f5bbcfa31e6" id="r_ga52b59fdd8e8430538e564f5bbcfa31e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga52b59fdd8e8430538e564f5bbcfa31e6">mlx::core::mean</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga52b59fdd8e8430538e564f5bbcfa31e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga066161f3d3e395a1d76c638cb680d444" id="r_ga066161f3d3e395a1d76c638cb680d444"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga066161f3d3e395a1d76c638cb680d444">mlx::core::mean</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga066161f3d3e395a1d76c638cb680d444"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the mean of the elements of an array along the given axes. <br /></td></tr>
<tr class="separator:ga066161f3d3e395a1d76c638cb680d444"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45fba73eab0e3b6e128ed3ce2f43a5da" id="r_ga45fba73eab0e3b6e128ed3ce2f43a5da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga45fba73eab0e3b6e128ed3ce2f43a5da">mlx::core::mean</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga45fba73eab0e3b6e128ed3ce2f43a5da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the mean of the elements of an array along the given axis. <br /></td></tr>
<tr class="separator:ga45fba73eab0e3b6e128ed3ce2f43a5da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e133df686439588a8cd1fb10ce0c6e9" id="r_ga7e133df686439588a8cd1fb10ce0c6e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7e133df686439588a8cd1fb10ce0c6e9">mlx::core::var</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, int ddof=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7e133df686439588a8cd1fb10ce0c6e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the variance of the elements of an array. <br /></td></tr>
<tr class="separator:ga7e133df686439588a8cd1fb10ce0c6e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d7b38d118fa2613214078ef0f7d5a42" id="r_ga7d7b38d118fa2613214078ef0f7d5a42"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7d7b38d118fa2613214078ef0f7d5a42">mlx::core::var</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga7d7b38d118fa2613214078ef0f7d5a42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78ddeb966cbe7a5b0aa17e1de43025f2" id="r_ga78ddeb966cbe7a5b0aa17e1de43025f2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga78ddeb966cbe7a5b0aa17e1de43025f2">mlx::core::var</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, int ddof=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga78ddeb966cbe7a5b0aa17e1de43025f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the variance of the elements of an array along the given axes. <br /></td></tr>
<tr class="separator:ga78ddeb966cbe7a5b0aa17e1de43025f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fbf3e3f98f2e4956faf87af320aa9d0" id="r_ga4fbf3e3f98f2e4956faf87af320aa9d0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4fbf3e3f98f2e4956faf87af320aa9d0">mlx::core::var</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, int ddof=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga4fbf3e3f98f2e4956faf87af320aa9d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the variance of the elements of an array along the given axis. <br /></td></tr>
<tr class="separator:ga4fbf3e3f98f2e4956faf87af320aa9d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2a466024f8061febc0a64be557644cb0" id="r_ga2a466024f8061febc0a64be557644cb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2a466024f8061febc0a64be557644cb0">mlx::core::std</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, int ddof=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga2a466024f8061febc0a64be557644cb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the standard deviation of the elements of an array. <br /></td></tr>
<tr class="separator:ga2a466024f8061febc0a64be557644cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafdcb04d77c64405a3990078a77dd984c" id="r_gafdcb04d77c64405a3990078a77dd984c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gafdcb04d77c64405a3990078a77dd984c">mlx::core::std</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gafdcb04d77c64405a3990078a77dd984c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7f649970bf38b987b6ef847054f3c2f8" id="r_ga7f649970bf38b987b6ef847054f3c2f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7f649970bf38b987b6ef847054f3c2f8">mlx::core::std</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, int ddof=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7f649970bf38b987b6ef847054f3c2f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the standard deviatoin of the elements of an array along the given axes. <br /></td></tr>
<tr class="separator:ga7f649970bf38b987b6ef847054f3c2f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga62721a206df671ef5797449eea97af9f" id="r_ga62721a206df671ef5797449eea97af9f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga62721a206df671ef5797449eea97af9f">mlx::core::std</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, int ddof=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga62721a206df671ef5797449eea97af9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the standard deviation of the elements of an array along the given axis. <br /></td></tr>
<tr class="separator:ga62721a206df671ef5797449eea97af9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4a09b7241d564d92548bc2773eb1d544" id="r_ga4a09b7241d564d92548bc2773eb1d544"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4a09b7241d564d92548bc2773eb1d544">mlx::core::prod</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga4a09b7241d564d92548bc2773eb1d544"><td class="mdescLeft">&#160;</td><td class="mdescRight">The product of all elements of the array. <br /></td></tr>
<tr class="separator:ga4a09b7241d564d92548bc2773eb1d544"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61832191f3c42ea549cf04953edc3602" id="r_ga61832191f3c42ea549cf04953edc3602"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga61832191f3c42ea549cf04953edc3602">mlx::core::prod</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga61832191f3c42ea549cf04953edc3602"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b3935108f641e20a70dbf63f540d970" id="r_ga2b3935108f641e20a70dbf63f540d970"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2b3935108f641e20a70dbf63f540d970">mlx::core::prod</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga2b3935108f641e20a70dbf63f540d970"><td class="mdescLeft">&#160;</td><td class="mdescRight">The product of the elements of an array along the given axes. <br /></td></tr>
<tr class="separator:ga2b3935108f641e20a70dbf63f540d970"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a10a10b81c69996d0aca8ba401f8ff0" id="r_ga8a10a10b81c69996d0aca8ba401f8ff0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8a10a10b81c69996d0aca8ba401f8ff0">mlx::core::prod</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8a10a10b81c69996d0aca8ba401f8ff0"><td class="mdescLeft">&#160;</td><td class="mdescRight">The product of the elements of an array along the given axis. <br /></td></tr>
<tr class="separator:ga8a10a10b81c69996d0aca8ba401f8ff0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fed87d96cc7741d8267f4eac83f5fe7" id="r_ga7fed87d96cc7741d8267f4eac83f5fe7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7fed87d96cc7741d8267f4eac83f5fe7">mlx::core::max</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7fed87d96cc7741d8267f4eac83f5fe7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum of all elements of the array. <br /></td></tr>
<tr class="separator:ga7fed87d96cc7741d8267f4eac83f5fe7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25be91d70a5f40341db0615a0b8bfedc" id="r_ga25be91d70a5f40341db0615a0b8bfedc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga25be91d70a5f40341db0615a0b8bfedc">mlx::core::max</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga25be91d70a5f40341db0615a0b8bfedc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ca7b6b91fe2459a7d83897bf013827f" id="r_ga1ca7b6b91fe2459a7d83897bf013827f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga1ca7b6b91fe2459a7d83897bf013827f">mlx::core::max</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga1ca7b6b91fe2459a7d83897bf013827f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum of the elements of an array along the given axes. <br /></td></tr>
<tr class="separator:ga1ca7b6b91fe2459a7d83897bf013827f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b638050e03a93f2896c981bc2850a47" id="r_ga7b638050e03a93f2896c981bc2850a47"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7b638050e03a93f2896c981bc2850a47">mlx::core::max</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7b638050e03a93f2896c981bc2850a47"><td class="mdescLeft">&#160;</td><td class="mdescRight">The maximum of the elements of an array along the given axis. <br /></td></tr>
<tr class="separator:ga7b638050e03a93f2896c981bc2850a47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab27599802617a4c8f9964ab5f4ffee12" id="r_gab27599802617a4c8f9964ab5f4ffee12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab27599802617a4c8f9964ab5f4ffee12">mlx::core::min</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab27599802617a4c8f9964ab5f4ffee12"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minimum of all elements of the array. <br /></td></tr>
<tr class="separator:gab27599802617a4c8f9964ab5f4ffee12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0140b91e9cdfc3fef0da8e332f65a9e8" id="r_ga0140b91e9cdfc3fef0da8e332f65a9e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga0140b91e9cdfc3fef0da8e332f65a9e8">mlx::core::min</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga0140b91e9cdfc3fef0da8e332f65a9e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6efb83cd46436678c8f8c4af15cc00f5" id="r_ga6efb83cd46436678c8f8c4af15cc00f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6efb83cd46436678c8f8c4af15cc00f5">mlx::core::min</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga6efb83cd46436678c8f8c4af15cc00f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minimum of the elements of an array along the given axes. <br /></td></tr>
<tr class="separator:ga6efb83cd46436678c8f8c4af15cc00f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36fa315eef677f4143868f552cd26d03" id="r_ga36fa315eef677f4143868f552cd26d03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga36fa315eef677f4143868f552cd26d03">mlx::core::min</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga36fa315eef677f4143868f552cd26d03"><td class="mdescLeft">&#160;</td><td class="mdescRight">The minimum of the elements of an array along the given axis. <br /></td></tr>
<tr class="separator:ga36fa315eef677f4143868f552cd26d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c3bd5ef430a71dfd298e626741e3c71" id="r_ga7c3bd5ef430a71dfd298e626741e3c71"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7c3bd5ef430a71dfd298e626741e3c71">mlx::core::argmin</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7c3bd5ef430a71dfd298e626741e3c71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the minimum value in the array. <br /></td></tr>
<tr class="separator:ga7c3bd5ef430a71dfd298e626741e3c71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6bc577c5ab10cd9c848ba81321595070" id="r_ga6bc577c5ab10cd9c848ba81321595070"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6bc577c5ab10cd9c848ba81321595070">mlx::core::argmin</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga6bc577c5ab10cd9c848ba81321595070"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf66dc3c77b88e4009e0678eda41eca81" id="r_gaf66dc3c77b88e4009e0678eda41eca81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf66dc3c77b88e4009e0678eda41eca81">mlx::core::argmin</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf66dc3c77b88e4009e0678eda41eca81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the indices of the minimum values along a given axis. <br /></td></tr>
<tr class="separator:gaf66dc3c77b88e4009e0678eda41eca81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae60b0b5339b9c50b9970260faf613e83" id="r_gae60b0b5339b9c50b9970260faf613e83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gae60b0b5339b9c50b9970260faf613e83">mlx::core::argmax</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gae60b0b5339b9c50b9970260faf613e83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the maximum value in the array. <br /></td></tr>
<tr class="separator:gae60b0b5339b9c50b9970260faf613e83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6f6c5a840320b336fdc9687e0ed56c8" id="r_gae6f6c5a840320b336fdc9687e0ed56c8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gae6f6c5a840320b336fdc9687e0ed56c8">mlx::core::argmax</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gae6f6c5a840320b336fdc9687e0ed56c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2efa67466510fc26ab9ea8dff30f2ba5" id="r_ga2efa67466510fc26ab9ea8dff30f2ba5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2efa67466510fc26ab9ea8dff30f2ba5">mlx::core::argmax</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga2efa67466510fc26ab9ea8dff30f2ba5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the indices of the maximum values along a given axis. <br /></td></tr>
<tr class="separator:ga2efa67466510fc26ab9ea8dff30f2ba5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7fb616054665b3c2d61fa234f501f079" id="r_ga7fb616054665b3c2d61fa234f501f079"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7fb616054665b3c2d61fa234f501f079">mlx::core::sort</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7fb616054665b3c2d61fa234f501f079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a sorted copy of the flattened array. <br /></td></tr>
<tr class="separator:ga7fb616054665b3c2d61fa234f501f079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae1bc47aa737f705d0e5884270063fea" id="r_gaae1bc47aa737f705d0e5884270063fea"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaae1bc47aa737f705d0e5884270063fea">mlx::core::sort</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaae1bc47aa737f705d0e5884270063fea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a sorted copy of the array along a given axis. <br /></td></tr>
<tr class="separator:gaae1bc47aa737f705d0e5884270063fea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8df3b2703bf671457422894dd870cdc5" id="r_ga8df3b2703bf671457422894dd870cdc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8df3b2703bf671457422894dd870cdc5">mlx::core::argsort</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8df3b2703bf671457422894dd870cdc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns indices that sort the flattened array. <br /></td></tr>
<tr class="separator:ga8df3b2703bf671457422894dd870cdc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7878e0daa5a75f44e57b5fe948fa3ef6" id="r_ga7878e0daa5a75f44e57b5fe948fa3ef6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7878e0daa5a75f44e57b5fe948fa3ef6">mlx::core::argsort</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7878e0daa5a75f44e57b5fe948fa3ef6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns indices that sort the array along a given axis. <br /></td></tr>
<tr class="separator:ga7878e0daa5a75f44e57b5fe948fa3ef6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1b30830a972fb9a2601379ad2b32405" id="r_gac1b30830a972fb9a2601379ad2b32405"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac1b30830a972fb9a2601379ad2b32405">mlx::core::partition</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int kth, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gac1b30830a972fb9a2601379ad2b32405"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a partitioned copy of the flattened array such that the smaller kth elements are first. <br /></td></tr>
<tr class="separator:gac1b30830a972fb9a2601379ad2b32405"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4fbea3a5f66cf81e3c119d1661119321" id="r_ga4fbea3a5f66cf81e3c119d1661119321"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4fbea3a5f66cf81e3c119d1661119321">mlx::core::partition</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int kth, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga4fbea3a5f66cf81e3c119d1661119321"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a partitioned copy of the array along a given axis such that the smaller kth elements are first. <br /></td></tr>
<tr class="separator:ga4fbea3a5f66cf81e3c119d1661119321"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf301c49c10fa9b95a9e8dc52ead1a8dd" id="r_gaf301c49c10fa9b95a9e8dc52ead1a8dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf301c49c10fa9b95a9e8dc52ead1a8dd">mlx::core::argpartition</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int kth, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf301c49c10fa9b95a9e8dc52ead1a8dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns indices that partition the flattened array such that the smaller kth elements are first. <br /></td></tr>
<tr class="separator:gaf301c49c10fa9b95a9e8dc52ead1a8dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b15c654c7463def57857a0e239989a3" id="r_ga7b15c654c7463def57857a0e239989a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7b15c654c7463def57857a0e239989a3">mlx::core::argpartition</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int kth, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7b15c654c7463def57857a0e239989a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns indices that partition the array along a given axis such that the smaller kth elements are first. <br /></td></tr>
<tr class="separator:ga7b15c654c7463def57857a0e239989a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5487dd887c43e5341f3e68ffe47f0f5a" id="r_ga5487dd887c43e5341f3e68ffe47f0f5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga5487dd887c43e5341f3e68ffe47f0f5a">mlx::core::topk</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int k, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga5487dd887c43e5341f3e68ffe47f0f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns topk elements of the flattened array. <br /></td></tr>
<tr class="separator:ga5487dd887c43e5341f3e68ffe47f0f5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga35b8436c79ff953f6c809598b646f498" id="r_ga35b8436c79ff953f6c809598b646f498"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga35b8436c79ff953f6c809598b646f498">mlx::core::topk</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int k, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga35b8436c79ff953f6c809598b646f498"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns topk elements of the array along a given axis. <br /></td></tr>
<tr class="separator:ga35b8436c79ff953f6c809598b646f498"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacff4eb57c085d571e722083680267ac5" id="r_gacff4eb57c085d571e722083680267ac5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gacff4eb57c085d571e722083680267ac5">mlx::core::logsumexp</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool keepdims, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gacff4eb57c085d571e722083680267ac5"><td class="mdescLeft">&#160;</td><td class="mdescRight">The logsumexp of all elements of the array. <br /></td></tr>
<tr class="separator:gacff4eb57c085d571e722083680267ac5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga59be50b4e92f1dc20b53460cefa3910d" id="r_ga59be50b4e92f1dc20b53460cefa3910d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga59be50b4e92f1dc20b53460cefa3910d">mlx::core::logsumexp</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga59be50b4e92f1dc20b53460cefa3910d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3969c7bd24c4f3ab97831df28239689" id="r_gae3969c7bd24c4f3ab97831df28239689"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gae3969c7bd24c4f3ab97831df28239689">mlx::core::logsumexp</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gae3969c7bd24c4f3ab97831df28239689"><td class="mdescLeft">&#160;</td><td class="mdescRight">The logsumexp of the elements of an array along the given axes. <br /></td></tr>
<tr class="separator:gae3969c7bd24c4f3ab97831df28239689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafef5cb2159c16a60a95470cc823bdd44" id="r_gafef5cb2159c16a60a95470cc823bdd44"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gafef5cb2159c16a60a95470cc823bdd44">mlx::core::logsumexp</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool keepdims=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gafef5cb2159c16a60a95470cc823bdd44"><td class="mdescLeft">&#160;</td><td class="mdescRight">The logsumexp of the elements of an array along the given axis. <br /></td></tr>
<tr class="separator:gafef5cb2159c16a60a95470cc823bdd44"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5528e80f5e8bad71e106a0cf9edd8920" id="r_ga5528e80f5e8bad71e106a0cf9edd8920"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga5528e80f5e8bad71e106a0cf9edd8920">mlx::core::abs</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga5528e80f5e8bad71e106a0cf9edd8920"><td class="mdescLeft">&#160;</td><td class="mdescRight">Absolute value of elements in an array. <br /></td></tr>
<tr class="separator:ga5528e80f5e8bad71e106a0cf9edd8920"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95d9a9425533b5ed1707eb00184dffc6" id="r_ga95d9a9425533b5ed1707eb00184dffc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga95d9a9425533b5ed1707eb00184dffc6">mlx::core::negative</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga95d9a9425533b5ed1707eb00184dffc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Negate an array. <br /></td></tr>
<tr class="separator:ga95d9a9425533b5ed1707eb00184dffc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade2eea48989f4caaf36e89f7bd2a8816" id="r_gade2eea48989f4caaf36e89f7bd2a8816"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gade2eea48989f4caaf36e89f7bd2a8816">mlx::core::operator-</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a)</td></tr>
<tr class="separator:gade2eea48989f4caaf36e89f7bd2a8816"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20f1a1a8c0cd6206485f9363f3915faa" id="r_ga20f1a1a8c0cd6206485f9363f3915faa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga20f1a1a8c0cd6206485f9363f3915faa">mlx::core::sign</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga20f1a1a8c0cd6206485f9363f3915faa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The sign of the elements in an array. <br /></td></tr>
<tr class="separator:ga20f1a1a8c0cd6206485f9363f3915faa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabca78d34ce93f0de2814e62225bb2a53" id="r_gabca78d34ce93f0de2814e62225bb2a53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gabca78d34ce93f0de2814e62225bb2a53">mlx::core::logical_not</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gabca78d34ce93f0de2814e62225bb2a53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical not of an array. <br /></td></tr>
<tr class="separator:gabca78d34ce93f0de2814e62225bb2a53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga768977cda8d68cf23f464a6af9907876" id="r_ga768977cda8d68cf23f464a6af9907876"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga768977cda8d68cf23f464a6af9907876">mlx::core::logical_and</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga768977cda8d68cf23f464a6af9907876"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical and of two arrays. <br /></td></tr>
<tr class="separator:ga768977cda8d68cf23f464a6af9907876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee1d774bb0843601d7a0a4257d616ae3" id="r_gaee1d774bb0843601d7a0a4257d616ae3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaee1d774bb0843601d7a0a4257d616ae3">mlx::core::operator&amp;&amp;</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gaee1d774bb0843601d7a0a4257d616ae3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23768728e4dd070c917fbb0ed0d0c2ec" id="r_ga23768728e4dd070c917fbb0ed0d0c2ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga23768728e4dd070c917fbb0ed0d0c2ec">mlx::core::logical_or</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga23768728e4dd070c917fbb0ed0d0c2ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logical or of two arrays. <br /></td></tr>
<tr class="separator:ga23768728e4dd070c917fbb0ed0d0c2ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga27af56a98270d4d76d139f0f9171b83a" id="r_ga27af56a98270d4d76d139f0f9171b83a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga27af56a98270d4d76d139f0f9171b83a">mlx::core::operator||</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga27af56a98270d4d76d139f0f9171b83a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d29556bb93e2f66916116cf1f062b36" id="r_ga4d29556bb93e2f66916116cf1f062b36"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4d29556bb93e2f66916116cf1f062b36">mlx::core::reciprocal</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga4d29556bb93e2f66916116cf1f062b36"><td class="mdescLeft">&#160;</td><td class="mdescRight">The reciprocal (1/x) of the elements in an array. <br /></td></tr>
<tr class="separator:ga4d29556bb93e2f66916116cf1f062b36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d32d67cfd76785a72c43d89b94dc7d7" id="r_ga2d32d67cfd76785a72c43d89b94dc7d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2d32d67cfd76785a72c43d89b94dc7d7">mlx::core::add</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga2d32d67cfd76785a72c43d89b94dc7d7"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_add.html">Add</a> two arrays. <br /></td></tr>
<tr class="separator:ga2d32d67cfd76785a72c43d89b94dc7d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26e5a043eaaaf066d1400adac9c11d0c" id="r_ga26e5a043eaaaf066d1400adac9c11d0c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga26e5a043eaaaf066d1400adac9c11d0c">mlx::core::operator+</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga26e5a043eaaaf066d1400adac9c11d0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7d0ec8d01e7cefa6a6b25f11876761b5" id="r_ga7d0ec8d01e7cefa6a6b25f11876761b5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga7d0ec8d01e7cefa6a6b25f11876761b5"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7d0ec8d01e7cefa6a6b25f11876761b5">mlx::core::operator+</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga7d0ec8d01e7cefa6a6b25f11876761b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7cc080a4f9d4a667f2099aa0dbfefadd" id="r_ga7cc080a4f9d4a667f2099aa0dbfefadd"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga7cc080a4f9d4a667f2099aa0dbfefadd"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7cc080a4f9d4a667f2099aa0dbfefadd">mlx::core::operator+</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:ga7cc080a4f9d4a667f2099aa0dbfefadd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga196c240d3d0fcbb4713802c485e15133" id="r_ga196c240d3d0fcbb4713802c485e15133"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga196c240d3d0fcbb4713802c485e15133">mlx::core::subtract</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga196c240d3d0fcbb4713802c485e15133"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_subtract.html">Subtract</a> two arrays. <br /></td></tr>
<tr class="separator:ga196c240d3d0fcbb4713802c485e15133"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c7f3cb36d4ca516c7a33142f88b9181" id="r_ga0c7f3cb36d4ca516c7a33142f88b9181"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga0c7f3cb36d4ca516c7a33142f88b9181">mlx::core::operator-</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga0c7f3cb36d4ca516c7a33142f88b9181"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae68d3d0691ba951501218e98439f3465" id="r_gae68d3d0691ba951501218e98439f3465"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gae68d3d0691ba951501218e98439f3465"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#gae68d3d0691ba951501218e98439f3465">mlx::core::operator-</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gae68d3d0691ba951501218e98439f3465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5e5d882c51ad0a0ea315c274d5439b2" id="r_gaf5e5d882c51ad0a0ea315c274d5439b2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gaf5e5d882c51ad0a0ea315c274d5439b2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf5e5d882c51ad0a0ea315c274d5439b2">mlx::core::operator-</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:gaf5e5d882c51ad0a0ea315c274d5439b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf57392e641640b5d06e4c99518391c38" id="r_gaf57392e641640b5d06e4c99518391c38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf57392e641640b5d06e4c99518391c38">mlx::core::multiply</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf57392e641640b5d06e4c99518391c38"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_multiply.html">Multiply</a> two arrays. <br /></td></tr>
<tr class="separator:gaf57392e641640b5d06e4c99518391c38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26c33f5cdb6fc10d272acd6e208034e0" id="r_ga26c33f5cdb6fc10d272acd6e208034e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga26c33f5cdb6fc10d272acd6e208034e0">mlx::core::operator*</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga26c33f5cdb6fc10d272acd6e208034e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac22a67f7de797b1ae59029843cbdcab6" id="r_gac22a67f7de797b1ae59029843cbdcab6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:gac22a67f7de797b1ae59029843cbdcab6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#gac22a67f7de797b1ae59029843cbdcab6">mlx::core::operator*</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gac22a67f7de797b1ae59029843cbdcab6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6f2369ed5fae8ff9b1528670a004dde2" id="r_ga6f2369ed5fae8ff9b1528670a004dde2"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga6f2369ed5fae8ff9b1528670a004dde2"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6f2369ed5fae8ff9b1528670a004dde2">mlx::core::operator*</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:ga6f2369ed5fae8ff9b1528670a004dde2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77472dd06cfa7a30a42e4fd927bd859f" id="r_ga77472dd06cfa7a30a42e4fd927bd859f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga77472dd06cfa7a30a42e4fd927bd859f">mlx::core::divide</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga77472dd06cfa7a30a42e4fd927bd859f"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_divide.html">Divide</a> two arrays. <br /></td></tr>
<tr class="separator:ga77472dd06cfa7a30a42e4fd927bd859f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeedf77f722b394429f1a7f6c367883bf" id="r_gaeedf77f722b394429f1a7f6c367883bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaeedf77f722b394429f1a7f6c367883bf">mlx::core::operator/</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gaeedf77f722b394429f1a7f6c367883bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7366ec7f453be2a4dc449f0faa1bf554" id="r_ga7366ec7f453be2a4dc449f0faa1bf554"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7366ec7f453be2a4dc449f0faa1bf554">mlx::core::operator/</a> (double a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga7366ec7f453be2a4dc449f0faa1bf554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadfb324ae9b4feb2c7ea0ac6ade639f38" id="r_gadfb324ae9b4feb2c7ea0ac6ade639f38"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gadfb324ae9b4feb2c7ea0ac6ade639f38">mlx::core::operator/</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, double b)</td></tr>
<tr class="separator:gadfb324ae9b4feb2c7ea0ac6ade639f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa30ebc0a8376dbc3f7e46a47052b5894" id="r_gaa30ebc0a8376dbc3f7e46a47052b5894"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaa30ebc0a8376dbc3f7e46a47052b5894">mlx::core::divmod</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaa30ebc0a8376dbc3f7e46a47052b5894"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the element-wise quotient and remainder. <br /></td></tr>
<tr class="separator:gaa30ebc0a8376dbc3f7e46a47052b5894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05b4c6054d028107869511f927da01cd" id="r_ga05b4c6054d028107869511f927da01cd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga05b4c6054d028107869511f927da01cd">mlx::core::floor_divide</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga05b4c6054d028107869511f927da01cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute integer division. <br /></td></tr>
<tr class="separator:ga05b4c6054d028107869511f927da01cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga99f5c904f724156a814d7817188351d2" id="r_ga99f5c904f724156a814d7817188351d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga99f5c904f724156a814d7817188351d2">mlx::core::remainder</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga99f5c904f724156a814d7817188351d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the element-wise remainder of division. <br /></td></tr>
<tr class="separator:ga99f5c904f724156a814d7817188351d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3bfbf82b1e4de7b00bbcf1a2255fbde" id="r_gab3bfbf82b1e4de7b00bbcf1a2255fbde"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab3bfbf82b1e4de7b00bbcf1a2255fbde">mlx::core::operator%</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gab3bfbf82b1e4de7b00bbcf1a2255fbde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga50817666f0b82afcbf4a123486af9908" id="r_ga50817666f0b82afcbf4a123486af9908"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga50817666f0b82afcbf4a123486af9908"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga50817666f0b82afcbf4a123486af9908">mlx::core::operator%</a> (T a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga50817666f0b82afcbf4a123486af9908"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46c01daa07433542a477d216e13a8480" id="r_ga46c01daa07433542a477d216e13a8480"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ga46c01daa07433542a477d216e13a8480"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__ops.html#ga46c01daa07433542a477d216e13a8480">mlx::core::operator%</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, T b)</td></tr>
<tr class="separator:ga46c01daa07433542a477d216e13a8480"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ade2ea305e2e4219c3609443fb5db8d" id="r_ga7ade2ea305e2e4219c3609443fb5db8d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7ade2ea305e2e4219c3609443fb5db8d">mlx::core::maximum</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7ade2ea305e2e4219c3609443fb5db8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element-wise maximum between two arrays. <br /></td></tr>
<tr class="separator:ga7ade2ea305e2e4219c3609443fb5db8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49ba00c090f81f331c91b0c97040bce0" id="r_ga49ba00c090f81f331c91b0c97040bce0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga49ba00c090f81f331c91b0c97040bce0">mlx::core::minimum</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga49ba00c090f81f331c91b0c97040bce0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element-wise minimum between two arrays. <br /></td></tr>
<tr class="separator:ga49ba00c090f81f331c91b0c97040bce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d656904aa2690b60955ae745aecfc30" id="r_ga8d656904aa2690b60955ae745aecfc30"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8d656904aa2690b60955ae745aecfc30">mlx::core::floor</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8d656904aa2690b60955ae745aecfc30"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_floor.html">Floor</a> the element of an array. <br /></td></tr>
<tr class="separator:ga8d656904aa2690b60955ae745aecfc30"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1404ecceff83fd9b9139b7520f55e096" id="r_ga1404ecceff83fd9b9139b7520f55e096"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga1404ecceff83fd9b9139b7520f55e096">mlx::core::ceil</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga1404ecceff83fd9b9139b7520f55e096"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_ceil.html">Ceil</a> the element of an array. <br /></td></tr>
<tr class="separator:ga1404ecceff83fd9b9139b7520f55e096"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1234e4c39cfa79f19d4bdb5b8ea4d45e" id="r_ga1234e4c39cfa79f19d4bdb5b8ea4d45e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga1234e4c39cfa79f19d4bdb5b8ea4d45e">mlx::core::square</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga1234e4c39cfa79f19d4bdb5b8ea4d45e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_square.html">Square</a> the elements of an array. <br /></td></tr>
<tr class="separator:ga1234e4c39cfa79f19d4bdb5b8ea4d45e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8a3b04e23e347d99ecf411fd6f4e5125" id="r_ga8a3b04e23e347d99ecf411fd6f4e5125"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8a3b04e23e347d99ecf411fd6f4e5125">mlx::core::exp</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8a3b04e23e347d99ecf411fd6f4e5125"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exponential of the elements of an array. <br /></td></tr>
<tr class="separator:ga8a3b04e23e347d99ecf411fd6f4e5125"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebf0a73ad3732fba39df37826c235692" id="r_gaebf0a73ad3732fba39df37826c235692"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaebf0a73ad3732fba39df37826c235692">mlx::core::sin</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaebf0a73ad3732fba39df37826c235692"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sine of the elements of an array. <br /></td></tr>
<tr class="separator:gaebf0a73ad3732fba39df37826c235692"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39dfdf72b556012aa35ff27a94116e74" id="r_ga39dfdf72b556012aa35ff27a94116e74"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga39dfdf72b556012aa35ff27a94116e74">mlx::core::cos</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga39dfdf72b556012aa35ff27a94116e74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cosine of the elements of an array. <br /></td></tr>
<tr class="separator:ga39dfdf72b556012aa35ff27a94116e74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3f10e89a4bcb1a8fa44fb33b8d1176a5" id="r_ga3f10e89a4bcb1a8fa44fb33b8d1176a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3f10e89a4bcb1a8fa44fb33b8d1176a5">mlx::core::tan</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga3f10e89a4bcb1a8fa44fb33b8d1176a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tangent of the elements of an array. <br /></td></tr>
<tr class="separator:ga3f10e89a4bcb1a8fa44fb33b8d1176a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8770e8c8f23f13343911f4c9d6e1c619" id="r_ga8770e8c8f23f13343911f4c9d6e1c619"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8770e8c8f23f13343911f4c9d6e1c619">mlx::core::arcsin</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8770e8c8f23f13343911f4c9d6e1c619"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc Sine of the elements of an array. <br /></td></tr>
<tr class="separator:ga8770e8c8f23f13343911f4c9d6e1c619"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08bec7cb10c84466487b507fc5bf9776" id="r_ga08bec7cb10c84466487b507fc5bf9776"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga08bec7cb10c84466487b507fc5bf9776">mlx::core::arccos</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga08bec7cb10c84466487b507fc5bf9776"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc Cosine of the elements of an array. <br /></td></tr>
<tr class="separator:ga08bec7cb10c84466487b507fc5bf9776"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa041f3f070e68f4946db07516b7d092e" id="r_gaa041f3f070e68f4946db07516b7d092e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaa041f3f070e68f4946db07516b7d092e">mlx::core::arctan</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaa041f3f070e68f4946db07516b7d092e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arc Tangent of the elements of an array. <br /></td></tr>
<tr class="separator:gaa041f3f070e68f4946db07516b7d092e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6caba9c92b5989123501f909cc7da354" id="r_ga6caba9c92b5989123501f909cc7da354"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6caba9c92b5989123501f909cc7da354">mlx::core::arctan2</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga6caba9c92b5989123501f909cc7da354"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_inverse.html">Inverse</a> tangent of the ratio of two arrays. <br /></td></tr>
<tr class="separator:ga6caba9c92b5989123501f909cc7da354"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf532375c6563dbd6e329bdedf0224dd7" id="r_gaf532375c6563dbd6e329bdedf0224dd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf532375c6563dbd6e329bdedf0224dd7">mlx::core::sinh</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf532375c6563dbd6e329bdedf0224dd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hyperbolic Sine of the elements of an array. <br /></td></tr>
<tr class="separator:gaf532375c6563dbd6e329bdedf0224dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2181b71cda88007a3092be4795ff0715" id="r_ga2181b71cda88007a3092be4795ff0715"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2181b71cda88007a3092be4795ff0715">mlx::core::cosh</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga2181b71cda88007a3092be4795ff0715"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hyperbolic Cosine of the elements of an array. <br /></td></tr>
<tr class="separator:ga2181b71cda88007a3092be4795ff0715"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5efb19aa0dfa42d8a3d5e1dfd569cd6d" id="r_ga5efb19aa0dfa42d8a3d5e1dfd569cd6d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga5efb19aa0dfa42d8a3d5e1dfd569cd6d">mlx::core::tanh</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga5efb19aa0dfa42d8a3d5e1dfd569cd6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hyperbolic Tangent of the elements of an array. <br /></td></tr>
<tr class="separator:ga5efb19aa0dfa42d8a3d5e1dfd569cd6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac62e2cedc49ef2c90dd8584000317450" id="r_gac62e2cedc49ef2c90dd8584000317450"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac62e2cedc49ef2c90dd8584000317450">mlx::core::arcsinh</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gac62e2cedc49ef2c90dd8584000317450"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_inverse.html">Inverse</a> Hyperbolic Sine of the elements of an array. <br /></td></tr>
<tr class="separator:gac62e2cedc49ef2c90dd8584000317450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaafafcfcebdf7248679c8543d0c0497e5" id="r_gaafafcfcebdf7248679c8543d0c0497e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaafafcfcebdf7248679c8543d0c0497e5">mlx::core::arccosh</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaafafcfcebdf7248679c8543d0c0497e5"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_inverse.html">Inverse</a> Hyperbolic Cosine of the elements of an array. <br /></td></tr>
<tr class="separator:gaafafcfcebdf7248679c8543d0c0497e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab46a35925a04c5a9d2ec7898ee55358e" id="r_gab46a35925a04c5a9d2ec7898ee55358e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab46a35925a04c5a9d2ec7898ee55358e">mlx::core::arctanh</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab46a35925a04c5a9d2ec7898ee55358e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_inverse.html">Inverse</a> Hyperbolic Tangent of the elements of an array. <br /></td></tr>
<tr class="separator:gab46a35925a04c5a9d2ec7898ee55358e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3a70569b50e1083c5ded199d73fb960c" id="r_ga3a70569b50e1083c5ded199d73fb960c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3a70569b50e1083c5ded199d73fb960c">mlx::core::degrees</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga3a70569b50e1083c5ded199d73fb960c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the elements of an array from Radians to Degrees. <br /></td></tr>
<tr class="separator:ga3a70569b50e1083c5ded199d73fb960c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga07aa8059adba5b9a8818027b8aafd31e" id="r_ga07aa8059adba5b9a8818027b8aafd31e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga07aa8059adba5b9a8818027b8aafd31e">mlx::core::radians</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga07aa8059adba5b9a8818027b8aafd31e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert the elements of an array from Degrees to Radians. <br /></td></tr>
<tr class="separator:ga07aa8059adba5b9a8818027b8aafd31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fb22d4926133573e430fcc92f4eef31" id="r_ga6fb22d4926133573e430fcc92f4eef31"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6fb22d4926133573e430fcc92f4eef31">mlx::core::log</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga6fb22d4926133573e430fcc92f4eef31"><td class="mdescLeft">&#160;</td><td class="mdescRight">Natural logarithm of the elements of an array. <br /></td></tr>
<tr class="separator:ga6fb22d4926133573e430fcc92f4eef31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga144228d7222d15af3a135b8b0f3fa21b" id="r_ga144228d7222d15af3a135b8b0f3fa21b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga144228d7222d15af3a135b8b0f3fa21b">mlx::core::log2</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga144228d7222d15af3a135b8b0f3fa21b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_log.html">Log</a> base 2 of the elements of an array. <br /></td></tr>
<tr class="separator:ga144228d7222d15af3a135b8b0f3fa21b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1fdcc7fc8819caf2e6f1c327ed4e9b9e" id="r_ga1fdcc7fc8819caf2e6f1c327ed4e9b9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga1fdcc7fc8819caf2e6f1c327ed4e9b9e">mlx::core::log10</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga1fdcc7fc8819caf2e6f1c327ed4e9b9e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_log.html">Log</a> base 10 of the elements of an array. <br /></td></tr>
<tr class="separator:ga1fdcc7fc8819caf2e6f1c327ed4e9b9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga20a1f4270c35b0fa544f5105a87a1604" id="r_ga20a1f4270c35b0fa544f5105a87a1604"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga20a1f4270c35b0fa544f5105a87a1604">mlx::core::log1p</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga20a1f4270c35b0fa544f5105a87a1604"><td class="mdescLeft">&#160;</td><td class="mdescRight">Natural logarithm of one plus elements in the array: <code>log(1 + a)</code>. <br /></td></tr>
<tr class="separator:ga20a1f4270c35b0fa544f5105a87a1604"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf985df6609c6bd75a14a844655d89eaa" id="r_gaf985df6609c6bd75a14a844655d89eaa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf985df6609c6bd75a14a844655d89eaa">mlx::core::logaddexp</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf985df6609c6bd75a14a844655d89eaa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log-add-exp of one elements in the array: <code>log(exp(a) + exp(b))</code>. <br /></td></tr>
<tr class="separator:gaf985df6609c6bd75a14a844655d89eaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga708abf8f79609cd6831db7c38cafac0e" id="r_ga708abf8f79609cd6831db7c38cafac0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga708abf8f79609cd6831db7c38cafac0e">mlx::core::sigmoid</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga708abf8f79609cd6831db7c38cafac0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element-wise logistic sigmoid of the array: <code>1 / (1 + exp(-x)</code>. <br /></td></tr>
<tr class="separator:ga708abf8f79609cd6831db7c38cafac0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga292a335240fd5d6d625fb7a340ff5eb0" id="r_ga292a335240fd5d6d625fb7a340ff5eb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga292a335240fd5d6d625fb7a340ff5eb0">mlx::core::erf</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga292a335240fd5d6d625fb7a340ff5eb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the error function of the elements of an array. <br /></td></tr>
<tr class="separator:ga292a335240fd5d6d625fb7a340ff5eb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76fb9062c64264e34d2e07013390557c" id="r_ga76fb9062c64264e34d2e07013390557c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga76fb9062c64264e34d2e07013390557c">mlx::core::erfinv</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga76fb9062c64264e34d2e07013390557c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the inverse error function of the elements of an array. <br /></td></tr>
<tr class="separator:ga76fb9062c64264e34d2e07013390557c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54ca54f06bfb2be15b163a5209e2a0f0" id="r_ga54ca54f06bfb2be15b163a5209e2a0f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga54ca54f06bfb2be15b163a5209e2a0f0">mlx::core::expm1</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga54ca54f06bfb2be15b163a5209e2a0f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the expm1 function of the elements of an array. <br /></td></tr>
<tr class="separator:ga54ca54f06bfb2be15b163a5209e2a0f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga36bc28f1deb2fe668ca9ae1e447b6b1f" id="r_ga36bc28f1deb2fe668ca9ae1e447b6b1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga36bc28f1deb2fe668ca9ae1e447b6b1f">mlx::core::stop_gradient</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga36bc28f1deb2fe668ca9ae1e447b6b1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stop the flow of gradients. <br /></td></tr>
<tr class="separator:ga36bc28f1deb2fe668ca9ae1e447b6b1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d74d43f007a069384e89d8416525331" id="r_ga2d74d43f007a069384e89d8416525331"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2d74d43f007a069384e89d8416525331">mlx::core::round</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int decimals, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga2d74d43f007a069384e89d8416525331"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_round.html">Round</a> a floating point number. <br /></td></tr>
<tr class="separator:ga2d74d43f007a069384e89d8416525331"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf18fb7e98bf8cf3b7fbc5e64c988a95b" id="r_gaf18fb7e98bf8cf3b7fbc5e64c988a95b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf18fb7e98bf8cf3b7fbc5e64c988a95b">mlx::core::round</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaf18fb7e98bf8cf3b7fbc5e64c988a95b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga753d59f5a9f5f2362865ee83b4dced2a" id="r_ga753d59f5a9f5f2362865ee83b4dced2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga753d59f5a9f5f2362865ee83b4dced2a">mlx::core::matmul</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga753d59f5a9f5f2362865ee83b4dced2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix-matrix multiplication. <br /></td></tr>
<tr class="separator:ga753d59f5a9f5f2362865ee83b4dced2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab6e7f655a9ff15350ca5379692f9d444" id="r_gab6e7f655a9ff15350ca5379692f9d444"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab6e7f655a9ff15350ca5379692f9d444">mlx::core::gather</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;indices, const std::vector&lt; int &gt; &amp;axes, const std::vector&lt; int &gt; &amp;slice_sizes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab6e7f655a9ff15350ca5379692f9d444"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_gather.html">Gather</a> array entries given indices and slices. <br /></td></tr>
<tr class="separator:gab6e7f655a9ff15350ca5379692f9d444"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb4337ca5d4f88fe9e7c083bc478158b" id="r_gadb4337ca5d4f88fe9e7c083bc478158b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gadb4337ca5d4f88fe9e7c083bc478158b">mlx::core::gather</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, int axis, const std::vector&lt; int &gt; &amp;slice_sizes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gadb4337ca5d4f88fe9e7c083bc478158b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2fc270882fcfa81eb8bd068cc0d86d7" id="r_gac2fc270882fcfa81eb8bd068cc0d86d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac2fc270882fcfa81eb8bd068cc0d86d7">mlx::core::take</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gac2fc270882fcfa81eb8bd068cc0d86d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take array slices at the given indices of the specified axis. <br /></td></tr>
<tr class="separator:gac2fc270882fcfa81eb8bd068cc0d86d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga45d0f423a5e030440ef753f36c5aabf1" id="r_ga45d0f423a5e030440ef753f36c5aabf1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga45d0f423a5e030440ef753f36c5aabf1">mlx::core::take</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga45d0f423a5e030440ef753f36c5aabf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take array entries at the given indices treating the array as flattened. <br /></td></tr>
<tr class="separator:ga45d0f423a5e030440ef753f36c5aabf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0a81d4f983e296a87302e36d65bfc76" id="r_gae0a81d4f983e296a87302e36d65bfc76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gae0a81d4f983e296a87302e36d65bfc76">mlx::core::take_along_axis</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gae0a81d4f983e296a87302e36d65bfc76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Take array entries given indices along the axis. <br /></td></tr>
<tr class="separator:gae0a81d4f983e296a87302e36d65bfc76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad438be8f90bae9d37c6853b8f4225d61" id="r_gad438be8f90bae9d37c6853b8f4225d61"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gad438be8f90bae9d37c6853b8f4225d61">mlx::core::scatter</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gad438be8f90bae9d37c6853b8f4225d61"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_scatter.html">Scatter</a> updates to the given indices. <br /></td></tr>
<tr class="separator:gad438be8f90bae9d37c6853b8f4225d61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2c2b379a3ce959dbe1c4a68f112edfe" id="r_gac2c2b379a3ce959dbe1c4a68f112edfe"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac2c2b379a3ce959dbe1c4a68f112edfe">mlx::core::scatter</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gac2c2b379a3ce959dbe1c4a68f112edfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd14c2b5cfebf343fc2d672722f8d174" id="r_gacd14c2b5cfebf343fc2d672722f8d174"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gacd14c2b5cfebf343fc2d672722f8d174">mlx::core::scatter_add</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gacd14c2b5cfebf343fc2d672722f8d174"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_scatter.html">Scatter</a> and add updates to given indices. <br /></td></tr>
<tr class="separator:gacd14c2b5cfebf343fc2d672722f8d174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac13318518e5703f1273c5366eb523a5a" id="r_gac13318518e5703f1273c5366eb523a5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac13318518e5703f1273c5366eb523a5a">mlx::core::scatter_add</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gac13318518e5703f1273c5366eb523a5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3708b5bcb61e2c63d213c4ce6ad0ffc0" id="r_ga3708b5bcb61e2c63d213c4ce6ad0ffc0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3708b5bcb61e2c63d213c4ce6ad0ffc0">mlx::core::scatter_prod</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga3708b5bcb61e2c63d213c4ce6ad0ffc0"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_scatter.html">Scatter</a> and prod updates to given indices. <br /></td></tr>
<tr class="separator:ga3708b5bcb61e2c63d213c4ce6ad0ffc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf83c53c453faa9083ba27e4b97539339" id="r_gaf83c53c453faa9083ba27e4b97539339"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf83c53c453faa9083ba27e4b97539339">mlx::core::scatter_prod</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaf83c53c453faa9083ba27e4b97539339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05881a4157cd113c9392d168a79e6673" id="r_ga05881a4157cd113c9392d168a79e6673"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga05881a4157cd113c9392d168a79e6673">mlx::core::scatter_max</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga05881a4157cd113c9392d168a79e6673"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_scatter.html">Scatter</a> and max updates to given linear indices. <br /></td></tr>
<tr class="separator:ga05881a4157cd113c9392d168a79e6673"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9adda5f9202bb3486e4d9e1114e3a56f" id="r_ga9adda5f9202bb3486e4d9e1114e3a56f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga9adda5f9202bb3486e4d9e1114e3a56f">mlx::core::scatter_max</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga9adda5f9202bb3486e4d9e1114e3a56f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ca16b7579dfc899f3f7fd40245ba7c5" id="r_ga0ca16b7579dfc899f3f7fd40245ba7c5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga0ca16b7579dfc899f3f7fd40245ba7c5">mlx::core::scatter_min</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga0ca16b7579dfc899f3f7fd40245ba7c5"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_scatter.html">Scatter</a> and min updates to given linear indices. <br /></td></tr>
<tr class="separator:ga0ca16b7579dfc899f3f7fd40245ba7c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51fa762a997c243ca7a19e1ed3e83199" id="r_ga51fa762a997c243ca7a19e1ed3e83199"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga51fa762a997c243ca7a19e1ed3e83199">mlx::core::scatter_min</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;indices, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;updates, int axis, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga51fa762a997c243ca7a19e1ed3e83199"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga297f853b3d90ec8ae81263977ba2ddb1" id="r_ga297f853b3d90ec8ae81263977ba2ddb1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga297f853b3d90ec8ae81263977ba2ddb1">mlx::core::sqrt</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga297f853b3d90ec8ae81263977ba2ddb1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_square.html">Square</a> root the elements of an array. <br /></td></tr>
<tr class="separator:ga297f853b3d90ec8ae81263977ba2ddb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga102f23aa0b0c3d3296a321c694617aa1" id="r_ga102f23aa0b0c3d3296a321c694617aa1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga102f23aa0b0c3d3296a321c694617aa1">mlx::core::rsqrt</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga102f23aa0b0c3d3296a321c694617aa1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_square.html">Square</a> root and reciprocal the elements of an array. <br /></td></tr>
<tr class="separator:ga102f23aa0b0c3d3296a321c694617aa1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7e9bb08b43c8fd0444b7d3c9e09dc1c6" id="r_ga7e9bb08b43c8fd0444b7d3c9e09dc1c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7e9bb08b43c8fd0444b7d3c9e09dc1c6">mlx::core::softmax</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;axes, bool precise=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7e9bb08b43c8fd0444b7d3c9e09dc1c6"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_softmax.html">Softmax</a> of an array. <br /></td></tr>
<tr class="separator:ga7e9bb08b43c8fd0444b7d3c9e09dc1c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1ae3614d07d873892a530d14c3857d0b" id="r_ga1ae3614d07d873892a530d14c3857d0b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga1ae3614d07d873892a530d14c3857d0b">mlx::core::softmax</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, bool precise=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga1ae3614d07d873892a530d14c3857d0b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_softmax.html">Softmax</a> of an array. <br /></td></tr>
<tr class="separator:ga1ae3614d07d873892a530d14c3857d0b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06f570d73716a24303e6de3aaba4457b" id="r_ga06f570d73716a24303e6de3aaba4457b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga06f570d73716a24303e6de3aaba4457b">mlx::core::softmax</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool precise=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga06f570d73716a24303e6de3aaba4457b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classmlx_1_1core_1_1_softmax.html">Softmax</a> of an array. <br /></td></tr>
<tr class="separator:ga06f570d73716a24303e6de3aaba4457b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7972058715c26559dff9c9ae2a3ef76d" id="r_ga7972058715c26559dff9c9ae2a3ef76d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7972058715c26559dff9c9ae2a3ef76d">mlx::core::power</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga7972058715c26559dff9c9ae2a3ef76d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raise elements of a to the power of b element-wise. <br /></td></tr>
<tr class="separator:ga7972058715c26559dff9c9ae2a3ef76d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaddc825a5c173e195ab0fda83ad630420" id="r_gaddc825a5c173e195ab0fda83ad630420"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaddc825a5c173e195ab0fda83ad630420">mlx::core::cumsum</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool reverse=false, bool inclusive=true, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaddc825a5c173e195ab0fda83ad630420"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cumulative sum of an array. <br /></td></tr>
<tr class="separator:gaddc825a5c173e195ab0fda83ad630420"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d71dfbc14ef3ed564b0c5ee26af680f" id="r_ga0d71dfbc14ef3ed564b0c5ee26af680f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga0d71dfbc14ef3ed564b0c5ee26af680f">mlx::core::cumprod</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool reverse=false, bool inclusive=true, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga0d71dfbc14ef3ed564b0c5ee26af680f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cumulative product of an array. <br /></td></tr>
<tr class="separator:ga0d71dfbc14ef3ed564b0c5ee26af680f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaee37cac8476e8f8d666bcded5bc59143" id="r_gaee37cac8476e8f8d666bcded5bc59143"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaee37cac8476e8f8d666bcded5bc59143">mlx::core::cummax</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool reverse=false, bool inclusive=true, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaee37cac8476e8f8d666bcded5bc59143"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cumulative max of an array. <br /></td></tr>
<tr class="separator:gaee37cac8476e8f8d666bcded5bc59143"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19c1bf6929fe8d66b9cd408946aea6a8" id="r_ga19c1bf6929fe8d66b9cd408946aea6a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga19c1bf6929fe8d66b9cd408946aea6a8">mlx::core::cummin</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int axis, bool reverse=false, bool inclusive=true, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga19c1bf6929fe8d66b9cd408946aea6a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Cumulative min of an array. <br /></td></tr>
<tr class="separator:ga19c1bf6929fe8d66b9cd408946aea6a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2236e5dfc7e52e28abf6c21675d0a51e" id="r_ga2236e5dfc7e52e28abf6c21675d0a51e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga2236e5dfc7e52e28abf6c21675d0a51e">mlx::core::conv_general</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> input, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> weight, std::vector&lt; int &gt; stride={}, std::vector&lt; int &gt; padding_lo={}, std::vector&lt; int &gt; padding_hi={}, std::vector&lt; int &gt; kernel_dilation={}, std::vector&lt; int &gt; input_dilation={}, int groups=1, bool flip=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga2236e5dfc7e52e28abf6c21675d0a51e"><td class="mdescLeft">&#160;</td><td class="mdescRight">General convolution with a filter. <br /></td></tr>
<tr class="separator:ga2236e5dfc7e52e28abf6c21675d0a51e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab59f89942cd1efaadffe9e8762e3c99d" id="r_gab59f89942cd1efaadffe9e8762e3c99d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab59f89942cd1efaadffe9e8762e3c99d">mlx::core::conv_general</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;input, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;weight, std::vector&lt; int &gt; stride={}, std::vector&lt; int &gt; padding={}, std::vector&lt; int &gt; kernel_dilation={}, std::vector&lt; int &gt; input_dilation={}, int groups=1, bool flip=false, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab59f89942cd1efaadffe9e8762e3c99d"><td class="mdescLeft">&#160;</td><td class="mdescRight">General convolution with a filter. <br /></td></tr>
<tr class="separator:gab59f89942cd1efaadffe9e8762e3c99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30d47e08093c03a3676f235f9f559411" id="r_ga30d47e08093c03a3676f235f9f559411"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga30d47e08093c03a3676f235f9f559411">mlx::core::conv1d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;input, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;weight, int stride=1, int padding=0, int dilation=1, int groups=1, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga30d47e08093c03a3676f235f9f559411"><td class="mdescLeft">&#160;</td><td class="mdescRight">1D convolution with a filter <br /></td></tr>
<tr class="separator:ga30d47e08093c03a3676f235f9f559411"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73b02833229678786e7f302d458d5a83" id="r_ga73b02833229678786e7f302d458d5a83"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga73b02833229678786e7f302d458d5a83">mlx::core::conv2d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;input, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;weight, const std::pair&lt; int, int &gt; &amp;stride={1, 1}, const std::pair&lt; int, int &gt; &amp;padding={0, 0}, const std::pair&lt; int, int &gt; &amp;dilation={1, 1}, int groups=1, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga73b02833229678786e7f302d458d5a83"><td class="mdescLeft">&#160;</td><td class="mdescRight">2D convolution with a filter <br /></td></tr>
<tr class="separator:ga73b02833229678786e7f302d458d5a83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e9907d2f14dc4803e4306b3dbc4b3ca" id="r_ga6e9907d2f14dc4803e4306b3dbc4b3ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6e9907d2f14dc4803e4306b3dbc4b3ca">mlx::core::conv3d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;input, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;weight, const std::tuple&lt; int, int, int &gt; &amp;stride={1, 1, 1}, const std::tuple&lt; int, int, int &gt; &amp;padding={0, 0, 0}, const std::tuple&lt; int, int, int &gt; &amp;dilation={1, 1, 1}, int groups=1, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga6e9907d2f14dc4803e4306b3dbc4b3ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">3D convolution with a filter <br /></td></tr>
<tr class="separator:ga6e9907d2f14dc4803e4306b3dbc4b3ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa30bf1adcd78d1c2595d07b215731714" id="r_gaa30bf1adcd78d1c2595d07b215731714"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaa30bf1adcd78d1c2595d07b215731714">mlx::core::conv_transpose1d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;input, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;weight, int stride=1, int padding=0, int dilation=1, int groups=1, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaa30bf1adcd78d1c2595d07b215731714"><td class="mdescLeft">&#160;</td><td class="mdescRight">1D transposed convolution with a filter <br /></td></tr>
<tr class="separator:gaa30bf1adcd78d1c2595d07b215731714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebb59971cb9bc45005dc1d398e4f0a3d" id="r_gaebb59971cb9bc45005dc1d398e4f0a3d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaebb59971cb9bc45005dc1d398e4f0a3d">mlx::core::conv_transpose2d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;input, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;weight, const std::pair&lt; int, int &gt; &amp;stride={1, 1}, const std::pair&lt; int, int &gt; &amp;padding={0, 0}, const std::pair&lt; int, int &gt; &amp;dilation={1, 1}, int groups=1, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaebb59971cb9bc45005dc1d398e4f0a3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">2D transposed convolution with a filter <br /></td></tr>
<tr class="separator:gaebb59971cb9bc45005dc1d398e4f0a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8db814da631d9cd32a8d6563bf4ac530" id="r_ga8db814da631d9cd32a8d6563bf4ac530"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8db814da631d9cd32a8d6563bf4ac530">mlx::core::conv_transpose3d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;input, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;weight, const std::tuple&lt; int, int, int &gt; &amp;stride={1, 1, 1}, const std::tuple&lt; int, int, int &gt; &amp;padding={0, 0, 0}, const std::tuple&lt; int, int, int &gt; &amp;dilation={1, 1, 1}, int groups=1, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8db814da631d9cd32a8d6563bf4ac530"><td class="mdescLeft">&#160;</td><td class="mdescRight">3D transposed convolution with a filter <br /></td></tr>
<tr class="separator:ga8db814da631d9cd32a8d6563bf4ac530"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6381c7062b232ac21f3fdc3136aaf86e" id="r_ga6381c7062b232ac21f3fdc3136aaf86e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6381c7062b232ac21f3fdc3136aaf86e">mlx::core::quantized_matmul</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;x, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;w, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;scales, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;biases, bool <a class="el" href="group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b">transpose</a>=true, int group_size=64, int bits=4, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga6381c7062b232ac21f3fdc3136aaf86e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quantized matmul multiplies x with a quantized matrix w. <br /></td></tr>
<tr class="separator:ga6381c7062b232ac21f3fdc3136aaf86e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab43cc28690da7cdd43b43065adbd31da" id="r_gab43cc28690da7cdd43b43065adbd31da"><td class="memItemLeft" align="right" valign="top">std::tuple&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a>, <a class="el" href="classmlx_1_1core_1_1array.html">array</a>, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gab43cc28690da7cdd43b43065adbd31da">mlx::core::quantize</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;w, int group_size=64, int bits=4, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gab43cc28690da7cdd43b43065adbd31da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quantize a matrix along its last axis. <br /></td></tr>
<tr class="separator:gab43cc28690da7cdd43b43065adbd31da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabff758a5c1ce32ad7e8b78aba0164077" id="r_gabff758a5c1ce32ad7e8b78aba0164077"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gabff758a5c1ce32ad7e8b78aba0164077">mlx::core::dequantize</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;w, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;scales, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;biases, int group_size=64, int bits=4, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gabff758a5c1ce32ad7e8b78aba0164077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Dequantize a matrix produced by <a class="el" href="group__ops.html#gab43cc28690da7cdd43b43065adbd31da" title="Quantize a matrix along its last axis.">quantize()</a> <br /></td></tr>
<tr class="separator:gabff758a5c1ce32ad7e8b78aba0164077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga368a0dc0e5dfb76922e7aa55a95f12f0" id="r_ga368a0dc0e5dfb76922e7aa55a95f12f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga368a0dc0e5dfb76922e7aa55a95f12f0">mlx::core::gather_qmm</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;x, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;w, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;scales, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;biases, std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; lhs_indices=std::nullopt, std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; rhs_indices=std::nullopt, bool <a class="el" href="group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b">transpose</a>=true, int group_size=64, int bits=4, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga368a0dc0e5dfb76922e7aa55a95f12f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute matrix products with matrix-level gather. <br /></td></tr>
<tr class="separator:ga368a0dc0e5dfb76922e7aa55a95f12f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf5c9735f4690327e1500e04e728fae70" id="r_gaf5c9735f4690327e1500e04e728fae70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf5c9735f4690327e1500e04e728fae70">mlx::core::tensordot</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, const int axis=2, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaf5c9735f4690327e1500e04e728fae70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a contraction of a and b over multiple dimensions. <br /></td></tr>
<tr class="separator:gaf5c9735f4690327e1500e04e728fae70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad7fe00b566f89d607639c1a497cabbc6" id="r_gad7fe00b566f89d607639c1a497cabbc6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gad7fe00b566f89d607639c1a497cabbc6">mlx::core::tensordot</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, const std::vector&lt; int &gt; &amp;axes_a, const std::vector&lt; int &gt; &amp;axes_b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gad7fe00b566f89d607639c1a497cabbc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga866af24e10db2797e1c5a5986dbf6c0d" id="r_ga866af24e10db2797e1c5a5986dbf6c0d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga866af24e10db2797e1c5a5986dbf6c0d">mlx::core::outer</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga866af24e10db2797e1c5a5986dbf6c0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the outer product of two vectors. <br /></td></tr>
<tr class="separator:ga866af24e10db2797e1c5a5986dbf6c0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga654fec16a9746b390916697a2ab2546e" id="r_ga654fec16a9746b390916697a2ab2546e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga654fec16a9746b390916697a2ab2546e">mlx::core::inner</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga654fec16a9746b390916697a2ab2546e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute the inner product of two vectors. <br /></td></tr>
<tr class="separator:ga654fec16a9746b390916697a2ab2546e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga82a53e083205a965387b3c3e2463244a" id="r_ga82a53e083205a965387b3c3e2463244a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga82a53e083205a965387b3c3e2463244a">mlx::core::addmm</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> c, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> a, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> b, const float &amp;alpha=1.<a class="el" href="types_2bf16_8h.html#af900396d7b72ff2a7002e8befe8cf8f1">f</a>, const float &amp;beta=1.<a class="el" href="types_2bf16_8h.html#af900396d7b72ff2a7002e8befe8cf8f1">f</a>, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga82a53e083205a965387b3c3e2463244a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute D = beta * C + alpha * (A @ B) <br /></td></tr>
<tr class="separator:ga82a53e083205a965387b3c3e2463244a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6b76c8ea46b19e6866af155fa5910be6" id="r_ga6b76c8ea46b19e6866af155fa5910be6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6b76c8ea46b19e6866af155fa5910be6">mlx::core::block_masked_mm</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> a, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> b, int block_size, std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; mask_out=std::nullopt, std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; mask_lhs=std::nullopt, std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; mask_rhs=std::nullopt, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga6b76c8ea46b19e6866af155fa5910be6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute matrix product with block masking. <br /></td></tr>
<tr class="separator:ga6b76c8ea46b19e6866af155fa5910be6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d50480266d258cac40ff51bcb0fc6a7" id="r_ga8d50480266d258cac40ff51bcb0fc6a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8d50480266d258cac40ff51bcb0fc6a7">mlx::core::gather_mm</a> (<a class="el" href="classmlx_1_1core_1_1array.html">array</a> a, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> b, std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; lhs_indices=std::nullopt, std::optional&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; rhs_indices=std::nullopt, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8d50480266d258cac40ff51bcb0fc6a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute matrix product with matrix-level gather. <br /></td></tr>
<tr class="separator:ga8d50480266d258cac40ff51bcb0fc6a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9236b085a88ead3128ed8079d009cac6" id="r_ga9236b085a88ead3128ed8079d009cac6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga9236b085a88ead3128ed8079d009cac6">mlx::core::diagonal</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int offset=0, int axis1=0, int axis2=1, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga9236b085a88ead3128ed8079d009cac6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract a diagonal or construct a diagonal array. <br /></td></tr>
<tr class="separator:ga9236b085a88ead3128ed8079d009cac6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga11af511875640e1fa88e0ca87e199344" id="r_ga11af511875640e1fa88e0ca87e199344"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga11af511875640e1fa88e0ca87e199344">mlx::core::diag</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int k=0, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga11af511875640e1fa88e0ca87e199344"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract diagonal from a 2d array or create a diagonal matrix. <br /></td></tr>
<tr class="separator:ga11af511875640e1fa88e0ca87e199344"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf786129c7660ed8d5acb5499bc6fefd" id="r_gabf786129c7660ed8d5acb5499bc6fefd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd">mlx::core::trace</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int offset, int axis1, int axis2, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gabf786129c7660ed8d5acb5499bc6fefd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the sum along a specified diagonal in the given array. <br /></td></tr>
<tr class="separator:gabf786129c7660ed8d5acb5499bc6fefd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5ed43c2dbf7d6cbddbaa2fd682deaafd" id="r_ga5ed43c2dbf7d6cbddbaa2fd682deaafd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga5ed43c2dbf7d6cbddbaa2fd682deaafd">mlx::core::trace</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, int offset, int axis1, int axis2, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga5ed43c2dbf7d6cbddbaa2fd682deaafd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf25c00108feaafaa6350a4434cb0062e" id="r_gaf25c00108feaafaa6350a4434cb0062e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf25c00108feaafaa6350a4434cb0062e">mlx::core::trace</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaf25c00108feaafaa6350a4434cb0062e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4a51a68fbe1725436b026d2fbb95759" id="r_gac4a51a68fbe1725436b026d2fbb95759"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac4a51a68fbe1725436b026d2fbb95759">mlx::core::depends</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;dependencies)</td></tr>
<tr class="memdesc:gac4a51a68fbe1725436b026d2fbb95759"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implements the identity function but allows injecting dependencies to other arrays. <br /></td></tr>
<tr class="separator:gac4a51a68fbe1725436b026d2fbb95759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaba4d25e7a2bf87ba4feb7837ec7fa396" id="r_gaba4d25e7a2bf87ba4feb7837ec7fa396"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaba4d25e7a2bf87ba4feb7837ec7fa396">mlx::core::atleast_1d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gaba4d25e7a2bf87ba4feb7837ec7fa396"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert an array to an atleast ndim array <br /></td></tr>
<tr class="separator:gaba4d25e7a2bf87ba4feb7837ec7fa396"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga08ca172ce80157c916c89dd0b45b95c5" id="r_ga08ca172ce80157c916c89dd0b45b95c5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga08ca172ce80157c916c89dd0b45b95c5">mlx::core::atleast_1d</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga08ca172ce80157c916c89dd0b45b95c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeeb7f5bb88aa32a3ac2be1f39c5f8087" id="r_gaeeb7f5bb88aa32a3ac2be1f39c5f8087"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaeeb7f5bb88aa32a3ac2be1f39c5f8087">mlx::core::atleast_2d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaeeb7f5bb88aa32a3ac2be1f39c5f8087"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9950299a80c2562f13448758f856d1f5" id="r_ga9950299a80c2562f13448758f856d1f5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga9950299a80c2562f13448758f856d1f5">mlx::core::atleast_2d</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga9950299a80c2562f13448758f856d1f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4afd919601e67782ff964465919956a0" id="r_ga4afd919601e67782ff964465919956a0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga4afd919601e67782ff964465919956a0">mlx::core::atleast_3d</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga4afd919601e67782ff964465919956a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffdf742ad79440a60dda40062a8074fe" id="r_gaffdf742ad79440a60dda40062a8074fe"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaffdf742ad79440a60dda40062a8074fe">mlx::core::atleast_3d</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaffdf742ad79440a60dda40062a8074fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6d5f5f72362488b956cdc4615ef6c636" id="r_ga6d5f5f72362488b956cdc4615ef6c636"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6d5f5f72362488b956cdc4615ef6c636">mlx::core::number_of_elements</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, std::vector&lt; int &gt; axes, bool inverted, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype=<a class="el" href="namespacemlx_1_1core.html#a5d6373aad1444edc9de1eb07bfe5cad3">int32</a>, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga6d5f5f72362488b956cdc4615ef6c636"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extract the number of elements along some axes as a scalar array. <br /></td></tr>
<tr class="separator:ga6d5f5f72362488b956cdc4615ef6c636"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5b596906bf8cdc8d97ed6ddc9aeb4c23" id="r_ga5b596906bf8cdc8d97ed6ddc9aeb4c23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga5b596906bf8cdc8d97ed6ddc9aeb4c23">mlx::core::conjugate</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga5b596906bf8cdc8d97ed6ddc9aeb4c23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga752fd2707dabb05d0308ba3d55346ada" id="r_ga752fd2707dabb05d0308ba3d55346ada"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga752fd2707dabb05d0308ba3d55346ada">mlx::core::bitwise_and</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga752fd2707dabb05d0308ba3d55346ada"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise and. <br /></td></tr>
<tr class="separator:ga752fd2707dabb05d0308ba3d55346ada"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0d232de4cbfffda1e2c838f8afdf6ff" id="r_gaf0d232de4cbfffda1e2c838f8afdf6ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf0d232de4cbfffda1e2c838f8afdf6ff">mlx::core::operator&amp;</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gaf0d232de4cbfffda1e2c838f8afdf6ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8af4f22c08c11c4ffab7e3d45e0f3cd6" id="r_ga8af4f22c08c11c4ffab7e3d45e0f3cd6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga8af4f22c08c11c4ffab7e3d45e0f3cd6">mlx::core::bitwise_or</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga8af4f22c08c11c4ffab7e3d45e0f3cd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise inclusive or. <br /></td></tr>
<tr class="separator:ga8af4f22c08c11c4ffab7e3d45e0f3cd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52392a2a98f09a80da8d338c4908bd02" id="r_ga52392a2a98f09a80da8d338c4908bd02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga52392a2a98f09a80da8d338c4908bd02">mlx::core::operator|</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga52392a2a98f09a80da8d338c4908bd02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3188638fba3a60e264baf69956a1e08b" id="r_ga3188638fba3a60e264baf69956a1e08b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3188638fba3a60e264baf69956a1e08b">mlx::core::bitwise_xor</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga3188638fba3a60e264baf69956a1e08b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bitwise exclusive or. <br /></td></tr>
<tr class="separator:ga3188638fba3a60e264baf69956a1e08b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3a6fe18694e84b3d63458e9553ac181" id="r_gac3a6fe18694e84b3d63458e9553ac181"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gac3a6fe18694e84b3d63458e9553ac181">mlx::core::operator^</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gac3a6fe18694e84b3d63458e9553ac181"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89682bf78491761e062d4ee7bef0c829" id="r_ga89682bf78491761e062d4ee7bef0c829"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga89682bf78491761e062d4ee7bef0c829">mlx::core::left_shift</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:ga89682bf78491761e062d4ee7bef0c829"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift bits to the left. <br /></td></tr>
<tr class="separator:ga89682bf78491761e062d4ee7bef0c829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad656c30f9fd7d9467e405657b325aa7e" id="r_gad656c30f9fd7d9467e405657b325aa7e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gad656c30f9fd7d9467e405657b325aa7e">mlx::core::operator&lt;&lt;</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:gad656c30f9fd7d9467e405657b325aa7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafa376ad57d38ba87378f0272dc379b23" id="r_gafa376ad57d38ba87378f0272dc379b23"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gafa376ad57d38ba87378f0272dc379b23">mlx::core::right_shift</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="memdesc:gafa376ad57d38ba87378f0272dc379b23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift bits to the right. <br /></td></tr>
<tr class="separator:gafa376ad57d38ba87378f0272dc379b23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga498b61f7e8f056ae00297fa0dc17303a" id="r_ga498b61f7e8f056ae00297fa0dc17303a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga498b61f7e8f056ae00297fa0dc17303a">mlx::core::operator&gt;&gt;</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;b)</td></tr>
<tr class="separator:ga498b61f7e8f056ae00297fa0dc17303a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3602aa91b7b124a0b41ec1b2137a1b02" id="r_ga3602aa91b7b124a0b41ec1b2137a1b02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga3602aa91b7b124a0b41ec1b2137a1b02">mlx::core::view</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> &amp;dtype, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga3602aa91b7b124a0b41ec1b2137a1b02"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.10.0
</small></address>
</body>
</html>