mlx/docs/build/html/neon__fp16__simd_8h.html
CircleCI Docs c7080f89ca rebase
2025-06-04 01:01:55 +00:00

404 lines
79 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.13.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MLX: mlx/backend/cpu/simd/neon_fp16_simd.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>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.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>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { init_search(); });
/* @license-end */
</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>
<td> <div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
<input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.13.2 -->
<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">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('neon__fp16__simd_8h.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- 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 class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle"><div class="title">neon_fp16_simd.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;arm_neon.h&gt;</code><br />
<code>#include &quot;<a class="el" href="base__simd_8h_source.html">mlx/backend/cpu/simd/base_simd.h</a>&quot;</code><br />
</div>
<p><a href="neon__fp16__simd_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="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd_3_01float16__t_00_01_n_01_4.html">mlx::core::simd::Simd&lt; float16_t, N &gt;</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="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:"><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:"><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>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html">mlx::core::simd</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="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:af8138a463be93b9e0c9b685e94a1fd00" id="r_af8138a463be93b9e0c9b685e94a1fd00"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af8138a463be93b9e0c9b685e94a1fd00">DEFINE_NEON_UNARY_OP</a>(name, op)</td></tr>
<tr class="separator:af8138a463be93b9e0c9b685e94a1fd00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63ba6e115ef14e134081310f7d4579a5" id="r_a63ba6e115ef14e134081310f7d4579a5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a63ba6e115ef14e134081310f7d4579a5">DEFINE_NEON_BINARY_OP</a>(name, op)</td></tr>
<tr class="separator:a63ba6e115ef14e134081310f7d4579a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fcd94c7369a6b4437f9c310a805c79d" id="r_a9fcd94c7369a6b4437f9c310a805c79d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9fcd94c7369a6b4437f9c310a805c79d">DEFINE_NEON_COMPARISON</a>(Op, op)</td></tr>
<tr class="separator:a9fcd94c7369a6b4437f9c310a805c79d"><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:a7696a0628a1c6ccb293ebd6f2328ea48" id="r_a7696a0628a1c6ccb293ebd6f2328ea48"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a7696a0628a1c6ccb293ebd6f2328ea48">mlx::core::simd::abs</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a)</td></tr>
<tr class="separator:a7696a0628a1c6ccb293ebd6f2328ea48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5714693df24c8e26384fe5b5888376d" id="r_ae5714693df24c8e26384fe5b5888376d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ae5714693df24c8e26384fe5b5888376d">mlx::core::simd::ceil</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a)</td></tr>
<tr class="separator:ae5714693df24c8e26384fe5b5888376d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6b89aecafefe57b6ce69bec143ccd6e" id="r_ad6b89aecafefe57b6ce69bec143ccd6e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ad6b89aecafefe57b6ce69bec143ccd6e">mlx::core::simd::floor</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a)</td></tr>
<tr class="separator:ad6b89aecafefe57b6ce69bec143ccd6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e80d3e33f2edd02310641d3e3dd5658" id="r_a7e80d3e33f2edd02310641d3e3dd5658"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a7e80d3e33f2edd02310641d3e3dd5658">mlx::core::simd::sqrt</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a)</td></tr>
<tr class="separator:a7e80d3e33f2edd02310641d3e3dd5658"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3345cb53830d1afd625acc7bdc3a0435" id="r_a3345cb53830d1afd625acc7bdc3a0435"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a3345cb53830d1afd625acc7bdc3a0435">mlx::core::simd::rsqrt</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a)</td></tr>
<tr class="separator:a3345cb53830d1afd625acc7bdc3a0435"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6235990c43aaf0e0c126c82d10f01b45" id="r_a6235990c43aaf0e0c126c82d10f01b45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a6235990c43aaf0e0c126c82d10f01b45">mlx::core::simd::recip</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a)</td></tr>
<tr class="separator:a6235990c43aaf0e0c126c82d10f01b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c200919c0eeefb2e2e5d9d19741a805" id="r_a8c200919c0eeefb2e2e5d9d19741a805"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a8c200919c0eeefb2e2e5d9d19741a805">mlx::core::simd::rint</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a)</td></tr>
<tr class="separator:a8c200919c0eeefb2e2e5d9d19741a805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadb0ed44c238d8d643c056298d5b20ca" id="r_aadb0ed44c238d8d643c056298d5b20ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aadb0ed44c238d8d643c056298d5b20ca">mlx::core::simd::operator!</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; v)</td></tr>
<tr class="separator:aadb0ed44c238d8d643c056298d5b20ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a727a13b3d26f9e7cae7f091105867904" id="r_a727a13b3d26f9e7cae7f091105867904"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a727a13b3d26f9e7cae7f091105867904">mlx::core::simd::operator-</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; v)</td></tr>
<tr class="separator:a727a13b3d26f9e7cae7f091105867904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1f11d9c2c15ebecf001d11b3fca5da2" id="r_ae1f11d9c2c15ebecf001d11b3fca5da2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ae1f11d9c2c15ebecf001d11b3fca5da2">mlx::core::simd::maximum</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:ae1f11d9c2c15ebecf001d11b3fca5da2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa78385c9cf0b87aabc377b1b47b2929d" id="r_aa78385c9cf0b87aabc377b1b47b2929d"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aa78385c9cf0b87aabc377b1b47b2929d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aa78385c9cf0b87aabc377b1b47b2929d">mlx::core::simd::maximum</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:aa78385c9cf0b87aabc377b1b47b2929d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ff63db5f193a57ef3b1fffa374eb15a" id="r_a0ff63db5f193a57ef3b1fffa374eb15a"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a0ff63db5f193a57ef3b1fffa374eb15a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a0ff63db5f193a57ef3b1fffa374eb15a">mlx::core::simd::maximum</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a0ff63db5f193a57ef3b1fffa374eb15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abaa09259e92f0fe758dc979d54c327e8" id="r_abaa09259e92f0fe758dc979d54c327e8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#abaa09259e92f0fe758dc979d54c327e8">mlx::core::simd::minimum</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:abaa09259e92f0fe758dc979d54c327e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9ce2f34c97aba7b99223792a86d5c83" id="r_ae9ce2f34c97aba7b99223792a86d5c83"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:ae9ce2f34c97aba7b99223792a86d5c83"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ae9ce2f34c97aba7b99223792a86d5c83">mlx::core::simd::minimum</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:ae9ce2f34c97aba7b99223792a86d5c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17f7baec6300f2ff96ec53fb1943cb49" id="r_a17f7baec6300f2ff96ec53fb1943cb49"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a17f7baec6300f2ff96ec53fb1943cb49"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a17f7baec6300f2ff96ec53fb1943cb49">mlx::core::simd::minimum</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a17f7baec6300f2ff96ec53fb1943cb49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae690b57b386cbad40565487d6d2393bb" id="r_ae690b57b386cbad40565487d6d2393bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ae690b57b386cbad40565487d6d2393bb">mlx::core::simd::operator+</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:ae690b57b386cbad40565487d6d2393bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a417109cdd61f35954ba2cc37af9b4460" id="r_a417109cdd61f35954ba2cc37af9b4460"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a417109cdd61f35954ba2cc37af9b4460"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a417109cdd61f35954ba2cc37af9b4460">mlx::core::simd::operator+</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:a417109cdd61f35954ba2cc37af9b4460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac33643b5f3cdbd3be0fa7d5784e35007" id="r_ac33643b5f3cdbd3be0fa7d5784e35007"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:ac33643b5f3cdbd3be0fa7d5784e35007"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ac33643b5f3cdbd3be0fa7d5784e35007">mlx::core::simd::operator+</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:ac33643b5f3cdbd3be0fa7d5784e35007"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e39cc693b30ad8e530392baf4bb5b0e" id="r_a6e39cc693b30ad8e530392baf4bb5b0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a6e39cc693b30ad8e530392baf4bb5b0e">mlx::core::simd::operator-</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a6e39cc693b30ad8e530392baf4bb5b0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad9cc064528e4189a5b7dd816a134ae6" id="r_aad9cc064528e4189a5b7dd816a134ae6"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aad9cc064528e4189a5b7dd816a134ae6"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aad9cc064528e4189a5b7dd816a134ae6">mlx::core::simd::operator-</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:aad9cc064528e4189a5b7dd816a134ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7434ba1ab2ad798fe8557a9b45035e81" id="r_a7434ba1ab2ad798fe8557a9b45035e81"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a7434ba1ab2ad798fe8557a9b45035e81"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a7434ba1ab2ad798fe8557a9b45035e81">mlx::core::simd::operator-</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a7434ba1ab2ad798fe8557a9b45035e81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f6d26e3fe39ee1ba0a7380d0ecf7b45" id="r_a6f6d26e3fe39ee1ba0a7380d0ecf7b45"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a6f6d26e3fe39ee1ba0a7380d0ecf7b45">mlx::core::simd::operator*</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a6f6d26e3fe39ee1ba0a7380d0ecf7b45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5373c1af09825b5f701ebd106508fa6b" id="r_a5373c1af09825b5f701ebd106508fa6b"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a5373c1af09825b5f701ebd106508fa6b"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a5373c1af09825b5f701ebd106508fa6b">mlx::core::simd::operator*</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:a5373c1af09825b5f701ebd106508fa6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac50da923a4b7ac682554bd1d74c306d9" id="r_ac50da923a4b7ac682554bd1d74c306d9"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:ac50da923a4b7ac682554bd1d74c306d9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ac50da923a4b7ac682554bd1d74c306d9">mlx::core::simd::operator*</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:ac50da923a4b7ac682554bd1d74c306d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab8837750c84794369e630d8ea0b408c" id="r_aab8837750c84794369e630d8ea0b408c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aab8837750c84794369e630d8ea0b408c">mlx::core::simd::operator/</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:aab8837750c84794369e630d8ea0b408c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0585ea196b665710115e48b7ebef0fc1" id="r_a0585ea196b665710115e48b7ebef0fc1"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a0585ea196b665710115e48b7ebef0fc1"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a0585ea196b665710115e48b7ebef0fc1">mlx::core::simd::operator/</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:a0585ea196b665710115e48b7ebef0fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a075f637ff3f983ada0fd6288ab8d91d7" id="r_a075f637ff3f983ada0fd6288ab8d91d7"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a075f637ff3f983ada0fd6288ab8d91d7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a075f637ff3f983ada0fd6288ab8d91d7">mlx::core::simd::operator/</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a075f637ff3f983ada0fd6288ab8d91d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acafae9e62680565cd1f1c50c64d7ce4f" id="r_acafae9e62680565cd1f1c50c64d7ce4f"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:acafae9e62680565cd1f1c50c64d7ce4f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#acafae9e62680565cd1f1c50c64d7ce4f">mlx::core::simd::operator==</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:acafae9e62680565cd1f1c50c64d7ce4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa837052ddcb02f4d9bc39b07399b4d91" id="r_aa837052ddcb02f4d9bc39b07399b4d91"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aa837052ddcb02f4d9bc39b07399b4d91"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aa837052ddcb02f4d9bc39b07399b4d91">mlx::core::simd::operator==</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:aa837052ddcb02f4d9bc39b07399b4d91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaacbf6671080409e822fbb218e3fdf00" id="r_aaacbf6671080409e822fbb218e3fdf00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aaacbf6671080409e822fbb218e3fdf00">mlx::core::simd::operator==</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:aaacbf6671080409e822fbb218e3fdf00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d7dcf1914ce8fe8518d84b0f2a5fe91" id="r_a8d7dcf1914ce8fe8518d84b0f2a5fe91"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a8d7dcf1914ce8fe8518d84b0f2a5fe91"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a8d7dcf1914ce8fe8518d84b0f2a5fe91">mlx::core::simd::operator&gt;=</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:a8d7dcf1914ce8fe8518d84b0f2a5fe91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecdc08fcc70b158749a93a7a0f688aa3" id="r_aecdc08fcc70b158749a93a7a0f688aa3"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aecdc08fcc70b158749a93a7a0f688aa3"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aecdc08fcc70b158749a93a7a0f688aa3">mlx::core::simd::operator&gt;=</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:aecdc08fcc70b158749a93a7a0f688aa3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9097573af69cc66d1427d0f52507e7a" id="r_ab9097573af69cc66d1427d0f52507e7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ab9097573af69cc66d1427d0f52507e7a">mlx::core::simd::operator&gt;=</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:ab9097573af69cc66d1427d0f52507e7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1570f6937d194a09e61d0e3a70ef578" id="r_ad1570f6937d194a09e61d0e3a70ef578"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:ad1570f6937d194a09e61d0e3a70ef578"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ad1570f6937d194a09e61d0e3a70ef578">mlx::core::simd::operator&lt;=</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:ad1570f6937d194a09e61d0e3a70ef578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46c6ea18a9edd2a9cdba2ab62ca4782c" id="r_a46c6ea18a9edd2a9cdba2ab62ca4782c"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a46c6ea18a9edd2a9cdba2ab62ca4782c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a46c6ea18a9edd2a9cdba2ab62ca4782c">mlx::core::simd::operator&lt;=</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a46c6ea18a9edd2a9cdba2ab62ca4782c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:accd17f741cab18590fdbe388d4783967" id="r_accd17f741cab18590fdbe388d4783967"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#accd17f741cab18590fdbe388d4783967">mlx::core::simd::operator&lt;=</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:accd17f741cab18590fdbe388d4783967"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35d875fa7bce02a6171f37240a346e1d" id="r_a35d875fa7bce02a6171f37240a346e1d"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a35d875fa7bce02a6171f37240a346e1d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a35d875fa7bce02a6171f37240a346e1d">mlx::core::simd::operator&gt;</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:a35d875fa7bce02a6171f37240a346e1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf2391cc4d945887d7820501ba14ba89" id="r_acf2391cc4d945887d7820501ba14ba89"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:acf2391cc4d945887d7820501ba14ba89"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#acf2391cc4d945887d7820501ba14ba89">mlx::core::simd::operator&gt;</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:acf2391cc4d945887d7820501ba14ba89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa17e031474fa87f6ea7855257dcc9ece" id="r_aa17e031474fa87f6ea7855257dcc9ece"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aa17e031474fa87f6ea7855257dcc9ece">mlx::core::simd::operator&gt;</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:aa17e031474fa87f6ea7855257dcc9ece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f63139b42029ba8d7b3b8ef10f5ac96" id="r_a3f63139b42029ba8d7b3b8ef10f5ac96"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a3f63139b42029ba8d7b3b8ef10f5ac96"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a3f63139b42029ba8d7b3b8ef10f5ac96">mlx::core::simd::operator&lt;</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:a3f63139b42029ba8d7b3b8ef10f5ac96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf29bfdcfdbb9a0acb9f4a6ed622868f" id="r_aaf29bfdcfdbb9a0acb9f4a6ed622868f"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aaf29bfdcfdbb9a0acb9f4a6ed622868f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aaf29bfdcfdbb9a0acb9f4a6ed622868f">mlx::core::simd::operator&lt;</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:aaf29bfdcfdbb9a0acb9f4a6ed622868f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e0c9b3e986809be5e87aacc4612bb8e" id="r_a9e0c9b3e986809be5e87aacc4612bb8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a9e0c9b3e986809be5e87aacc4612bb8e">mlx::core::simd::operator&lt;</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a9e0c9b3e986809be5e87aacc4612bb8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cce6db46c391a5d06dcb262e21b81fc" id="r_a6cce6db46c391a5d06dcb262e21b81fc"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a6cce6db46c391a5d06dcb262e21b81fc"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a6cce6db46c391a5d06dcb262e21b81fc">mlx::core::simd::operator!=</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:a6cce6db46c391a5d06dcb262e21b81fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3699410174385f5e597cfccad57fc736" id="r_a3699410174385f5e597cfccad57fc736"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a3699410174385f5e597cfccad57fc736"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a3699410174385f5e597cfccad57fc736">mlx::core::simd::operator!=</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a3699410174385f5e597cfccad57fc736"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc6a26b6e28d3d532fc356f96c97df1d" id="r_abc6a26b6e28d3d532fc356f96c97df1d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#abc6a26b6e28d3d532fc356f96c97df1d">mlx::core::simd::operator!=</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:abc6a26b6e28d3d532fc356f96c97df1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38e83534a648d0743dc4c7deb9a7fd49" id="r_a38e83534a648d0743dc4c7deb9a7fd49"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a38e83534a648d0743dc4c7deb9a7fd49">mlx::core::simd::operator||</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a38e83534a648d0743dc4c7deb9a7fd49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdcdaea84869a0b05c08139c10f13a06" id="r_acdcdaea84869a0b05c08139c10f13a06"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:acdcdaea84869a0b05c08139c10f13a06"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#acdcdaea84869a0b05c08139c10f13a06">mlx::core::simd::operator||</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:acdcdaea84869a0b05c08139c10f13a06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9ac1951153211b2ff95dd34a3427797" id="r_aa9ac1951153211b2ff95dd34a3427797"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:aa9ac1951153211b2ff95dd34a3427797"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#aa9ac1951153211b2ff95dd34a3427797">mlx::core::simd::operator||</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:aa9ac1951153211b2ff95dd34a3427797"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a381e5ec89406074b8d1921304238bb" id="r_a2a381e5ec89406074b8d1921304238bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a2a381e5ec89406074b8d1921304238bb">mlx::core::simd::operator&amp;&amp;</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:a2a381e5ec89406074b8d1921304238bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9d5f107ce0c40c3b6a2f176cbb70cd7" id="r_af9d5f107ce0c40c3b6a2f176cbb70cd7"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:af9d5f107ce0c40c3b6a2f176cbb70cd7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#af9d5f107ce0c40c3b6a2f176cbb70cd7">mlx::core::simd::operator&amp;&amp;</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; a, T b)</td></tr>
<tr class="separator:af9d5f107ce0c40c3b6a2f176cbb70cd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8f245dfc5154c04c0865a208ab1cfe9" id="r_af8f245dfc5154c04c0865a208ab1cfe9"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:af8f245dfc5154c04c0865a208ab1cfe9"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#af8f245dfc5154c04c0865a208ab1cfe9">mlx::core::simd::operator&amp;&amp;</a> (T a, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; b)</td></tr>
<tr class="separator:af8f245dfc5154c04c0865a208ab1cfe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20ffdefe25beda96860a1dc9a6f4aa02" id="r_a20ffdefe25beda96860a1dc9a6f4aa02"><td class="memItemLeft" align="right" valign="top">template&lt;&gt; </td></tr>
<tr class="memitem:a20ffdefe25beda96860a1dc9a6f4aa02"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; bool, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a20ffdefe25beda96860a1dc9a6f4aa02">mlx::core::simd::isnan</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; v)</td></tr>
<tr class="separator:a20ffdefe25beda96860a1dc9a6f4aa02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a146d2a834c936a381c1f86caffa822d7" id="r_a146d2a834c936a381c1f86caffa822d7"><td class="memItemLeft" align="right" valign="top">template&lt;&gt; </td></tr>
<tr class="memitem:a146d2a834c936a381c1f86caffa822d7"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a146d2a834c936a381c1f86caffa822d7">mlx::core::simd::clamp</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; v, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; <a class="el" href="namespacemlx_1_1core_1_1simd.html#acd4196d0c66204cfae70b064c305e146">min</a>, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; <a class="el" href="namespacemlx_1_1core_1_1simd.html#a6fcea259041cecfd042d0c4e6afc4b8f">max</a>)</td></tr>
<tr class="separator:a146d2a834c936a381c1f86caffa822d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99099c338377518773b55d4042f9410d" id="r_a99099c338377518773b55d4042f9410d"><td class="memTemplParams" colspan="2">template&lt;typename T&gt; </td></tr>
<tr class="memitem:a99099c338377518773b55d4042f9410d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a99099c338377518773b55d4042f9410d">mlx::core::simd::fma</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; x, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; y, T z)</td></tr>
<tr class="separator:a99099c338377518773b55d4042f9410d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b5ebb46e7beae839c97b2e7ed9c7426" id="r_a3b5ebb46e7beae839c97b2e7ed9c7426"><td class="memTemplParams" colspan="2">template&lt;typename MaskT&gt; </td></tr>
<tr class="memitem:a3b5ebb46e7beae839c97b2e7ed9c7426"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a3b5ebb46e7beae839c97b2e7ed9c7426">mlx::core::simd::select</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; MaskT, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; mask, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; x, <a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; y)</td></tr>
<tr class="separator:a3b5ebb46e7beae839c97b2e7ed9c7426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a995da0f1b4ca8077abbbc6f6a6dfd663" id="r_a995da0f1b4ca8077abbbc6f6a6dfd663"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a995da0f1b4ca8077abbbc6f6a6dfd663">mlx::core::simd::max</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; x)</td></tr>
<tr class="separator:a995da0f1b4ca8077abbbc6f6a6dfd663"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a160075943b92d541f2e7f7472eaa5167" id="r_a160075943b92d541f2e7f7472eaa5167"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a160075943b92d541f2e7f7472eaa5167">mlx::core::simd::min</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; x)</td></tr>
<tr class="separator:a160075943b92d541f2e7f7472eaa5167"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0e7c082fc6bed52d522765ef91d205d" id="r_ab0e7c082fc6bed52d522765ef91d205d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#ab0e7c082fc6bed52d522765ef91d205d">mlx::core::simd::sum</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; x)</td></tr>
<tr class="separator:ab0e7c082fc6bed52d522765ef91d205d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a26dff48b078fb3e9fef688232183ed" id="r_a0a26dff48b078fb3e9fef688232183ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a0a26dff48b078fb3e9fef688232183ed">mlx::core::simd::prod</a> (<a class="el" href="structmlx_1_1core_1_1simd_1_1_simd.html">Simd</a>&lt; <a class="el" href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52">float16_t</a>, <a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">N</a> &gt; x)</td></tr>
<tr class="separator:a0a26dff48b078fb3e9fef688232183ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a12b1553495a0c99d52472bd2a6626ddb" id="r_a12b1553495a0c99d52472bd2a6626ddb"><td class="memItemLeft" align="right" valign="top">constexpr int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core_1_1simd.html#a12b1553495a0c99d52472bd2a6626ddb">mlx::core::simd::N</a> = 8</td></tr>
<tr class="separator:a12b1553495a0c99d52472bd2a6626ddb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a63ba6e115ef14e134081310f7d4579a5" name="a63ba6e115ef14e134081310f7d4579a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63ba6e115ef14e134081310f7d4579a5">&#9670;&#160;</a></span>DEFINE_NEON_BINARY_OP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEFINE_NEON_BINARY_OP</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>name</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>op</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">inline</span> Simd&lt;float16_t, N&gt; name(Simd&lt;float16_t, N&gt; a, Simd&lt;float16_t, N&gt; b) { \</div>
<div class="line"> <span class="keywordflow">return</span> op(a.value, b.value); \</div>
<div class="line"> } \</div>
<div class="line"> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; \</div>
<div class="line"> Simd&lt;float16_t, N&gt; name(Simd&lt;float16_t, N&gt; a, T b) { \</div>
<div class="line"> <span class="keywordflow">return</span> op(a.value, Simd&lt;float16_t, N&gt;(b).value); \</div>
<div class="line"> } \</div>
<div class="line"> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; \</div>
<div class="line"> Simd&lt;float16_t, N&gt; name(T a, Simd&lt;float16_t, N&gt; b) { \</div>
<div class="line"> <span class="keywordflow">return</span> op(Simd&lt;float16_t, N&gt;(a).value, b.value); \</div>
<div class="line"> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="a9fcd94c7369a6b4437f9c310a805c79d" name="a9fcd94c7369a6b4437f9c310a805c79d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fcd94c7369a6b4437f9c310a805c79d">&#9670;&#160;</a></span>DEFINE_NEON_COMPARISON</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEFINE_NEON_COMPARISON</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>Op</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>op</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; \</div>
<div class="line"> Simd&lt;bool, N&gt; <span class="keyword">operator</span> Op(Simd&lt;float16_t, N&gt; a, T b) { \</div>
<div class="line"> <span class="keyword">auto</span> out = op(a.value, Simd&lt;float16_t, N&gt;(b).value); \</div>
<div class="line"> <span class="keywordflow">return</span> Simd&lt;uint16_t, N&gt;(*(uint16_t*)(&amp;out)); \</div>
<div class="line"> } \</div>
<div class="line"> <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; \</div>
<div class="line"> Simd&lt;bool, N&gt; <span class="keyword">operator</span> Op(T a, Simd&lt;float16_t, N&gt; b) { \</div>
<div class="line"> <span class="keyword">auto</span> out = op(Simd&lt;float16_t, N&gt;(a).value, b.value); \</div>
<div class="line"> <span class="keywordflow">return</span> Simd&lt;uint16_t, N&gt;(*(uint16_t*)(&amp;out)); \</div>
<div class="line"> } \</div>
<div class="line"> <span class="keyword">inline</span> Simd&lt;bool, N&gt; <span class="keyword">operator</span> Op( \</div>
<div class="line"> Simd&lt;float16_t, N&gt; a, Simd&lt;float16_t, N&gt; b) { \</div>
<div class="line"> <span class="keyword">auto</span> out = op(a.value, b.value); \</div>
<div class="line"> <span class="keywordflow">return</span> Simd&lt;uint16_t, N&gt;(*(uint16_t*)(&amp;out)); \</div>
<div class="line"> }</div>
</div><!-- fragment -->
</div>
</div>
<a id="af8138a463be93b9e0c9b685e94a1fd00" name="af8138a463be93b9e0c9b685e94a1fd00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8138a463be93b9e0c9b685e94a1fd00">&#9670;&#160;</a></span>DEFINE_NEON_UNARY_OP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define DEFINE_NEON_UNARY_OP</td>
<td>(</td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>name</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>op</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">inline</span> Simd&lt;float16_t, N&gt; name(Simd&lt;float16_t, N&gt; a) { \</div>
<div class="line"> <span class="keywordflow">return</span> Simd&lt;float16_t, N&gt;{op(a.value)}; \</div>
<div class="line"> }</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_938ab0ecf10b8b860ff766c820f665fd.html">mlx</a></li><li class="navelem"><a class="el" href="dir_1d446c9bd3c99228254c9484e0bc5c06.html">backend</a></li><li class="navelem"><a class="el" href="dir_48c8bf40aae7e42226b4fe31ea48af19.html">cpu</a></li><li class="navelem"><a class="el" href="dir_777905fddc177f731a39846ae16b0314.html">simd</a></li><li class="navelem"><a class="el" href="neon__fp16__simd_8h.html">neon_fp16_simd.h</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
</ul>
</div>
</body>
</html>