This commit is contained in:
Awni Hannun
2024-09-17 12:06:14 -07:00
committed by CircleCI Docs
parent 9da49a07a4
commit d44f06ae79
739 changed files with 28107 additions and 8524 deletions

View File

@@ -503,11 +503,11 @@ $(function() { codefold.init(0); });
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; y,</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> </div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"><a class="line" href="group__ops.html#ga506d1b63e391e45a7d8dc10cfd71e78d"> 416</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga506d1b63e391e45a7d8dc10cfd71e78d">nan_to_num</a>(</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"><a class="line" href="group__ops.html#gab1467c6a9e675152e768afd6dcfb61de"> 416</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gab1467c6a9e675152e768afd6dcfb61de">nan_to_num</a>(</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> <span class="keywordtype">float</span> nan = 0.0f,</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <span class="keyword">const</span> std::optional&lt;float&gt;&amp; posinf = std::nullopt,</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">const</span> std::optional&lt;float&gt;&amp; neginf = std::nullopt,</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <span class="keyword">const</span> std::optional&lt;float&gt; posinf = std::nullopt,</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> <span class="keyword">const</span> std::optional&lt;float&gt; neginf = std::nullopt,</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"> 421</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"> 422</span> </div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"><a class="line" href="group__ops.html#ga3b1b90ef1275ca17655b6d7f25d3ee68"> 424</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga3b1b90ef1275ca17655b6d7f25d3ee68">all</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keywordtype">bool</span> keepdims, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
@@ -1152,150 +1152,177 @@ $(function() { codefold.init(0); });
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"> 1247</span> <span class="keywordtype">int</span> groups = 1,</div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span> </div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"><a class="line" href="group__ops.html#ga6381c7062b232ac21f3fdc3136aaf86e"> 1251</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga6381c7062b232ac21f3fdc3136aaf86e">quantized_matmul</a>(</div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; x,</div>
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; w,</div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; scales,</div>
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; biases,</div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b">transpose</a> = <span class="keyword">true</span>,</div>
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> <span class="keywordtype">int</span> group_size = 64,</div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> <span class="keywordtype">int</span> bits = 4,</div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span> </div>
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"><a class="line" href="group__ops.html#gab43cc28690da7cdd43b43065adbd31da"> 1262</a></span>std::tuple&lt;array, array, array&gt; <a class="code hl_function" href="group__ops.html#gab43cc28690da7cdd43b43065adbd31da">quantize</a>(</div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; w,</div>
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> <span class="keywordtype">int</span> group_size = 64,</div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> <span class="keywordtype">int</span> bits = 4,</div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> </div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"><a class="line" href="group__ops.html#gabff758a5c1ce32ad7e8b78aba0164077"> 1269</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gabff758a5c1ce32ad7e8b78aba0164077">dequantize</a>(</div>
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; w,</div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; scales,</div>
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; biases,</div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> <span class="keywordtype">int</span> group_size = 64,</div>
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> <span class="keywordtype">int</span> bits = 4,</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> </div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"><a class="line" href="group__ops.html#ga368a0dc0e5dfb76922e7aa55a95f12f0"> 1278</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga368a0dc0e5dfb76922e7aa55a95f12f0">gather_qmm</a>(</div>
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; x,</div>
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; w,</div>
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; scales,</div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; biases,</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> std::optional&lt;array&gt; lhs_indices = std::nullopt,</div>
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> std::optional&lt;array&gt; rhs_indices = std::nullopt,</div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b">transpose</a> = <span class="keyword">true</span>,</div>
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> <span class="keywordtype">int</span> group_size = 64,</div>
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordtype">int</span> bits = 4,</div>
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> </div>
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"><a class="line" href="group__ops.html#gaf5c9735f4690327e1500e04e728fae70"> 1291</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaf5c9735f4690327e1500e04e728fae70">tensordot</a>(</div>
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b,</div>
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span> <span class="keyword">const</span> <span class="keywordtype">int</span> axis = 2,</div>
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> </div>
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"><a class="line" href="group__ops.html#gad7fe00b566f89d607639c1a497cabbc6"> 1297</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaf5c9735f4690327e1500e04e728fae70">tensordot</a>(</div>
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b,</div>
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; axes_a,</div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; axes_b,</div>
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span> </div>
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"><a class="line" href="group__ops.html#ga866af24e10db2797e1c5a5986dbf6c0d"> 1305</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga866af24e10db2797e1c5a5986dbf6c0d">outer</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"><a class="line" href="group__ops.html#gaa30bf1adcd78d1c2595d07b215731714"> 1251</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaa30bf1adcd78d1c2595d07b215731714">conv_transpose1d</a>(</div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; input,</div>
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; weight,</div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span> <span class="keywordtype">int</span> stride = 1,</div>
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span> <span class="keywordtype">int</span> padding = 0,</div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> <span class="keywordtype">int</span> dilation = 1,</div>
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span> <span class="keywordtype">int</span> groups = 1,</div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span> </div>
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"><a class="line" href="group__ops.html#gaebb59971cb9bc45005dc1d398e4f0a3d"> 1261</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaebb59971cb9bc45005dc1d398e4f0a3d">conv_transpose2d</a>(</div>
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; input,</div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; weight,</div>
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span> <span class="keyword">const</span> std::pair&lt;int, int&gt;&amp; stride = {1, 1},</div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span> <span class="keyword">const</span> std::pair&lt;int, int&gt;&amp; padding = {0, 0},</div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span> <span class="keyword">const</span> std::pair&lt;int, int&gt;&amp; dilation = {1, 1},</div>
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span> <span class="keywordtype">int</span> groups = 1,</div>
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span> </div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"><a class="line" href="group__ops.html#ga8db814da631d9cd32a8d6563bf4ac530"> 1271</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga8db814da631d9cd32a8d6563bf4ac530">conv_transpose3d</a>(</div>
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; input,</div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; weight,</div>
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span> <span class="keyword">const</span> std::tuple&lt;int, int, int&gt;&amp; stride = {1, 1, 1},</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span> <span class="keyword">const</span> std::tuple&lt;int, int, int&gt;&amp; padding = {0, 0, 0},</div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span> <span class="keyword">const</span> std::tuple&lt;int, int, int&gt;&amp; dilation = {1, 1, 1},</div>
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span> <span class="keywordtype">int</span> groups = 1,</div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span> </div>
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"><a class="line" href="group__ops.html#ga6381c7062b232ac21f3fdc3136aaf86e"> 1281</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga6381c7062b232ac21f3fdc3136aaf86e">quantized_matmul</a>(</div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; x,</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; w,</div>
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; scales,</div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"> 1285</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; biases,</div>
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b">transpose</a> = <span class="keyword">true</span>,</div>
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span> <span class="keywordtype">int</span> group_size = 64,</div>
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span> <span class="keywordtype">int</span> bits = 4,</div>
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> </div>
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"><a class="line" href="group__ops.html#gab43cc28690da7cdd43b43065adbd31da"> 1292</a></span>std::tuple&lt;array, array, array&gt; <a class="code hl_function" href="group__ops.html#gab43cc28690da7cdd43b43065adbd31da">quantize</a>(</div>
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; w,</div>
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span> <span class="keywordtype">int</span> group_size = 64,</div>
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span> <span class="keywordtype">int</span> bits = 4,</div>
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span> </div>
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"><a class="line" href="group__ops.html#gabff758a5c1ce32ad7e8b78aba0164077"> 1299</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gabff758a5c1ce32ad7e8b78aba0164077">dequantize</a>(</div>
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; w,</div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; scales,</div>
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; biases,</div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"> 1303</span> <span class="keywordtype">int</span> group_size = 64,</div>
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span> <span class="keywordtype">int</span> bits = 4,</div>
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span> </div>
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"><a class="line" href="group__ops.html#ga654fec16a9746b390916697a2ab2546e"> 1308</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga654fec16a9746b390916697a2ab2546e">inner</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> </div>
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"><a class="line" href="group__ops.html#ga82a53e083205a965387b3c3e2463244a"> 1311</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga82a53e083205a965387b3c3e2463244a">addmm</a>(</div>
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> c,</div>
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> a,</div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> b,</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> <span class="keyword">const</span> <span class="keywordtype">float</span>&amp; alpha = 1.f,</div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> <span class="keyword">const</span> <span class="keywordtype">float</span>&amp; beta = 1.f,</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> </div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"><a class="line" href="group__ops.html#ga6b76c8ea46b19e6866af155fa5910be6"> 1320</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga6b76c8ea46b19e6866af155fa5910be6">block_masked_mm</a>(</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> a,</div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> b,</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> <span class="keywordtype">int</span> block_size,</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> std::optional&lt;array&gt; mask_out = std::nullopt,</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> std::optional&lt;array&gt; mask_lhs = std::nullopt,</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> std::optional&lt;array&gt; mask_rhs = std::nullopt,</div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> </div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"><a class="line" href="group__ops.html#ga8d50480266d258cac40ff51bcb0fc6a7"> 1330</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga8d50480266d258cac40ff51bcb0fc6a7">gather_mm</a>(</div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> a,</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> b,</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> std::optional&lt;array&gt; lhs_indices = std::nullopt,</div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span> std::optional&lt;array&gt; rhs_indices = std::nullopt,</div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"><a class="line" href="group__ops.html#ga368a0dc0e5dfb76922e7aa55a95f12f0"> 1308</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga368a0dc0e5dfb76922e7aa55a95f12f0">gather_qmm</a>(</div>
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; x,</div>
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; w,</div>
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; scales,</div>
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; biases,</div>
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span> std::optional&lt;array&gt; lhs_indices = std::nullopt,</div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> std::optional&lt;array&gt; rhs_indices = std::nullopt,</div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__ops.html#gac1869f3b7094869b44fe7ac4ce58638b">transpose</a> = <span class="keyword">true</span>,</div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span> <span class="keywordtype">int</span> group_size = 64,</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span> <span class="keywordtype">int</span> bits = 4,</div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span> </div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"><a class="line" href="group__ops.html#gaf5c9735f4690327e1500e04e728fae70"> 1321</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaf5c9735f4690327e1500e04e728fae70">tensordot</a>(</div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b,</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span> <span class="keyword">const</span> <span class="keywordtype">int</span> axis = 2,</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span> </div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"><a class="line" href="group__ops.html#gad7fe00b566f89d607639c1a497cabbc6"> 1327</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaf5c9735f4690327e1500e04e728fae70">tensordot</a>(</div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b,</div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; axes_a,</div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; axes_b,</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span> </div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"><a class="line" href="group__ops.html#ga866af24e10db2797e1c5a5986dbf6c0d"> 1335</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga866af24e10db2797e1c5a5986dbf6c0d">outer</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span> </div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"><a class="line" href="group__ops.html#ga9236b085a88ead3128ed8079d009cac6"> 1338</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga9236b085a88ead3128ed8079d009cac6">diagonal</a>(</div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span> <span class="keywordtype">int</span> offset = 0,</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span> <span class="keywordtype">int</span> axis1 = 0,</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> <span class="keywordtype">int</span> axis2 = 1,</div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> </div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"><a class="line" href="group__ops.html#ga11af511875640e1fa88e0ca87e199344"> 1346</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga11af511875640e1fa88e0ca87e199344">diag</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keywordtype">int</span> k = 0, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> </div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"><a class="line" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd"> 1349</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd">trace</a>(</div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> <span class="keywordtype">int</span> offset,</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> <span class="keywordtype">int</span> axis1,</div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> <span class="keywordtype">int</span> axis2,</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype,</div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"><a class="line" href="group__ops.html#ga5ed43c2dbf7d6cbddbaa2fd682deaafd"> 1356</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd">trace</a>(</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> <span class="keywordtype">int</span> offset,</div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span> <span class="keywordtype">int</span> axis1,</div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span> <span class="keywordtype">int</span> axis2,</div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"><a class="line" href="group__ops.html#gaf25c00108feaafaa6350a4434cb0062e"> 1362</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd">trace</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> </div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"><a class="line" href="group__ops.html#gac4a51a68fbe1725436b026d2fbb95759"> 1369</a></span>std::vector&lt;array&gt; <a class="code hl_function" href="group__ops.html#gac4a51a68fbe1725436b026d2fbb95759">depends</a>(</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; inputs,</div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; dependencies);</div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> </div>
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"><a class="line" href="group__ops.html#gaba4d25e7a2bf87ba4feb7837ec7fa396"> 1374</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaba4d25e7a2bf87ba4feb7837ec7fa396">atleast_1d</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"><a class="line" href="group__ops.html#ga08ca172ce80157c916c89dd0b45b95c5"> 1375</a></span>std::vector&lt;array&gt; <a class="code hl_function" href="group__ops.html#gaba4d25e7a2bf87ba4feb7837ec7fa396">atleast_1d</a>(</div>
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"> 1376</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; a,</div>
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01378" name="l01378"></a><span class="lineno"><a class="line" href="group__ops.html#gaeeb7f5bb88aa32a3ac2be1f39c5f8087"> 1378</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaeeb7f5bb88aa32a3ac2be1f39c5f8087">atleast_2d</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"><a class="line" href="group__ops.html#ga9950299a80c2562f13448758f856d1f5"> 1379</a></span>std::vector&lt;array&gt; <a class="code hl_function" href="group__ops.html#gaeeb7f5bb88aa32a3ac2be1f39c5f8087">atleast_2d</a>(</div>
<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; a,</div>
<div class="line"><a id="l01381" name="l01381"></a><span class="lineno"> 1381</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"><a class="line" href="group__ops.html#ga4afd919601e67782ff964465919956a0"> 1382</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga4afd919601e67782ff964465919956a0">atleast_3d</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"><a class="line" href="group__ops.html#gaffdf742ad79440a60dda40062a8074fe"> 1383</a></span>std::vector&lt;array&gt; <a class="code hl_function" href="group__ops.html#ga4afd919601e67782ff964465919956a0">atleast_3d</a>(</div>
<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; a,</div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"><a class="line" href="group__ops.html#ga654fec16a9746b390916697a2ab2546e"> 1338</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga654fec16a9746b390916697a2ab2546e">inner</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span> </div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"><a class="line" href="group__ops.html#ga82a53e083205a965387b3c3e2463244a"> 1341</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga82a53e083205a965387b3c3e2463244a">addmm</a>(</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> c,</div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> a,</div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> b,</div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span> <span class="keyword">const</span> <span class="keywordtype">float</span>&amp; alpha = 1.f,</div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span> <span class="keyword">const</span> <span class="keywordtype">float</span>&amp; beta = 1.f,</div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span> </div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"><a class="line" href="group__ops.html#ga6b76c8ea46b19e6866af155fa5910be6"> 1350</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga6b76c8ea46b19e6866af155fa5910be6">block_masked_mm</a>(</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> a,</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> b,</div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span> <span class="keywordtype">int</span> block_size,</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span> std::optional&lt;array&gt; mask_out = std::nullopt,</div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span> std::optional&lt;array&gt; mask_lhs = std::nullopt,</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span> std::optional&lt;array&gt; mask_rhs = std::nullopt,</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span> </div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"><a class="line" href="group__ops.html#ga8d50480266d258cac40ff51bcb0fc6a7"> 1360</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga8d50480266d258cac40ff51bcb0fc6a7">gather_mm</a>(</div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> a,</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> b,</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span> std::optional&lt;array&gt; lhs_indices = std::nullopt,</div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span> std::optional&lt;array&gt; rhs_indices = std::nullopt,</div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span> </div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"><a class="line" href="group__ops.html#ga9236b085a88ead3128ed8079d009cac6"> 1368</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga9236b085a88ead3128ed8079d009cac6">diagonal</a>(</div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span> <span class="keywordtype">int</span> offset = 0,</div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span> <span class="keywordtype">int</span> axis1 = 0,</div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span> <span class="keywordtype">int</span> axis2 = 1,</div>
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"> 1374</span> </div>
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"><a class="line" href="group__ops.html#ga11af511875640e1fa88e0ca87e199344"> 1376</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga11af511875640e1fa88e0ca87e199344">diag</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keywordtype">int</span> k = 0, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span> </div>
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"><a class="line" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd"> 1379</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd">trace</a>(</div>
<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01381" name="l01381"></a><span class="lineno"> 1381</span> <span class="keywordtype">int</span> offset,</div>
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"> 1382</span> <span class="keywordtype">int</span> axis1,</div>
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span> <span class="keywordtype">int</span> axis2,</div>
<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype,</div>
<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"> 1385</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"> 1386</span> </div>
<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"><a class="line" href="group__ops.html#ga6d5f5f72362488b956cdc4615ef6c636"> 1391</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga6d5f5f72362488b956cdc4615ef6c636">number_of_elements</a>(</div>
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"> 1392</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span> std::vector&lt;int&gt; axes,</div>
<div class="line"><a id="l01394" name="l01394"></a><span class="lineno"> 1394</span> <span class="keywordtype">bool</span> inverted,</div>
<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype = <a class="code hl_variable" href="namespacemlx_1_1core.html#a5d6373aad1444edc9de1eb07bfe5cad3">int32</a>,</div>
<div class="line"><a id="l01396" name="l01396"></a><span class="lineno"> 1396</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01397" name="l01397"></a><span class="lineno"> 1397</span> </div>
<div class="line"><a id="l01398" name="l01398"></a><span class="lineno"><a class="line" href="group__ops.html#ga5b596906bf8cdc8d97ed6ddc9aeb4c23"> 1398</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga5b596906bf8cdc8d97ed6ddc9aeb4c23">conjugate</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span> </div>
<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"><a class="line" href="group__ops.html#ga752fd2707dabb05d0308ba3d55346ada"> 1401</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga752fd2707dabb05d0308ba3d55346ada">bitwise_and</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"><a class="line" href="group__ops.html#gaf0d232de4cbfffda1e2c838f8afdf6ff"> 1402</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaf0d232de4cbfffda1e2c838f8afdf6ff">operator&amp;</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01403" name="l01403"></a><span class="lineno"> 1403</span> </div>
<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"><a class="line" href="group__ops.html#ga8af4f22c08c11c4ffab7e3d45e0f3cd6"> 1405</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga8af4f22c08c11c4ffab7e3d45e0f3cd6">bitwise_or</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"><a class="line" href="group__ops.html#ga52392a2a98f09a80da8d338c4908bd02"> 1406</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga52392a2a98f09a80da8d338c4908bd02">operator|</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span> </div>
<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"><a class="line" href="group__ops.html#ga3188638fba3a60e264baf69956a1e08b"> 1409</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga3188638fba3a60e264baf69956a1e08b">bitwise_xor</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"><a class="line" href="group__ops.html#gac3a6fe18694e84b3d63458e9553ac181"> 1410</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gac3a6fe18694e84b3d63458e9553ac181">operator^</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span> </div>
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"><a class="line" href="group__ops.html#ga89682bf78491761e062d4ee7bef0c829"> 1413</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga89682bf78491761e062d4ee7bef0c829">left_shift</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"><a class="line" href="group__ops.html#gad656c30f9fd7d9467e405657b325aa7e"> 1414</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gad656c30f9fd7d9467e405657b325aa7e">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"> 1415</span> </div>
<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"><a class="line" href="group__ops.html#gafa376ad57d38ba87378f0272dc379b23"> 1417</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gafa376ad57d38ba87378f0272dc379b23">right_shift</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"><a class="line" href="group__ops.html#ga498b61f7e8f056ae00297fa0dc17303a"> 1418</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga498b61f7e8f056ae00297fa0dc17303a">operator&gt;&gt;</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span> </div>
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"><a class="line" href="group__ops.html#ga3602aa91b7b124a0b41ec1b2137a1b02"> 1420</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga3602aa91b7b124a0b41ec1b2137a1b02">view</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a>&amp; dtype, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span>} <span class="comment">// namespace mlx::core</span></div>
<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"><a class="line" href="group__ops.html#ga5ed43c2dbf7d6cbddbaa2fd682deaafd"> 1386</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd">trace</a>(</div>
<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"> 1387</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"> 1388</span> <span class="keywordtype">int</span> offset,</div>
<div class="line"><a id="l01389" name="l01389"></a><span class="lineno"> 1389</span> <span class="keywordtype">int</span> axis1,</div>
<div class="line"><a id="l01390" name="l01390"></a><span class="lineno"> 1390</span> <span class="keywordtype">int</span> axis2,</div>
<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"> 1391</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"><a class="line" href="group__ops.html#gaf25c00108feaafaa6350a4434cb0062e"> 1392</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gabf786129c7660ed8d5acb5499bc6fefd">trace</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span> </div>
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"><a class="line" href="group__ops.html#gac4a51a68fbe1725436b026d2fbb95759"> 1399</a></span>std::vector&lt;array&gt; <a class="code hl_function" href="group__ops.html#gac4a51a68fbe1725436b026d2fbb95759">depends</a>(</div>
<div class="line"><a id="l01400" name="l01400"></a><span class="lineno"> 1400</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; inputs,</div>
<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"> 1401</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; dependencies);</div>
<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"> 1402</span> </div>
<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"><a class="line" href="group__ops.html#gaba4d25e7a2bf87ba4feb7837ec7fa396"> 1404</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaba4d25e7a2bf87ba4feb7837ec7fa396">atleast_1d</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"><a class="line" href="group__ops.html#ga08ca172ce80157c916c89dd0b45b95c5"> 1405</a></span>std::vector&lt;array&gt; <a class="code hl_function" href="group__ops.html#gaba4d25e7a2bf87ba4feb7837ec7fa396">atleast_1d</a>(</div>
<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"> 1406</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; a,</div>
<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01408" name="l01408"></a><span class="lineno"><a class="line" href="group__ops.html#gaeeb7f5bb88aa32a3ac2be1f39c5f8087"> 1408</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaeeb7f5bb88aa32a3ac2be1f39c5f8087">atleast_2d</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"><a class="line" href="group__ops.html#ga9950299a80c2562f13448758f856d1f5"> 1409</a></span>std::vector&lt;array&gt; <a class="code hl_function" href="group__ops.html#gaeeb7f5bb88aa32a3ac2be1f39c5f8087">atleast_2d</a>(</div>
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"> 1410</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; a,</div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01412" name="l01412"></a><span class="lineno"><a class="line" href="group__ops.html#ga4afd919601e67782ff964465919956a0"> 1412</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga4afd919601e67782ff964465919956a0">atleast_3d</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"><a class="line" href="group__ops.html#gaffdf742ad79440a60dda40062a8074fe"> 1413</a></span>std::vector&lt;array&gt; <a class="code hl_function" href="group__ops.html#ga4afd919601e67782ff964465919956a0">atleast_3d</a>(</div>
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span> <span class="keyword">const</span> std::vector&lt;array&gt;&amp; a,</div>
<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"> 1415</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span> </div>
<div class="line"><a id="l01421" name="l01421"></a><span class="lineno"><a class="line" href="group__ops.html#ga6d5f5f72362488b956cdc4615ef6c636"> 1421</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga6d5f5f72362488b956cdc4615ef6c636">number_of_elements</a>(</div>
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"> 1422</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a,</div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span> std::vector&lt;int&gt; axes,</div>
<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span> <span class="keywordtype">bool</span> inverted,</div>
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"> 1425</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> dtype = <a class="code hl_variable" href="namespacemlx_1_1core.html#a5d6373aad1444edc9de1eb07bfe5cad3">int32</a>,</div>
<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"> 1427</span> </div>
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"><a class="line" href="group__ops.html#ga5b596906bf8cdc8d97ed6ddc9aeb4c23"> 1428</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga5b596906bf8cdc8d97ed6ddc9aeb4c23">conjugate</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span> </div>
<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"><a class="line" href="group__ops.html#ga752fd2707dabb05d0308ba3d55346ada"> 1431</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga752fd2707dabb05d0308ba3d55346ada">bitwise_and</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"><a class="line" href="group__ops.html#gaf0d232de4cbfffda1e2c838f8afdf6ff"> 1432</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gaf0d232de4cbfffda1e2c838f8afdf6ff">operator&amp;</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span> </div>
<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"><a class="line" href="group__ops.html#ga8af4f22c08c11c4ffab7e3d45e0f3cd6"> 1435</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga8af4f22c08c11c4ffab7e3d45e0f3cd6">bitwise_or</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"><a class="line" href="group__ops.html#ga52392a2a98f09a80da8d338c4908bd02"> 1436</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga52392a2a98f09a80da8d338c4908bd02">operator|</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span> </div>
<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"><a class="line" href="group__ops.html#ga3188638fba3a60e264baf69956a1e08b"> 1439</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga3188638fba3a60e264baf69956a1e08b">bitwise_xor</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"><a class="line" href="group__ops.html#gac3a6fe18694e84b3d63458e9553ac181"> 1440</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gac3a6fe18694e84b3d63458e9553ac181">operator^</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span> </div>
<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"><a class="line" href="group__ops.html#ga89682bf78491761e062d4ee7bef0c829"> 1443</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga89682bf78491761e062d4ee7bef0c829">left_shift</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"><a class="line" href="group__ops.html#gad656c30f9fd7d9467e405657b325aa7e"> 1444</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gad656c30f9fd7d9467e405657b325aa7e">operator&lt;&lt;</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span> </div>
<div class="line"><a id="l01447" name="l01447"></a><span class="lineno"><a class="line" href="group__ops.html#gafa376ad57d38ba87378f0272dc379b23"> 1447</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#gafa376ad57d38ba87378f0272dc379b23">right_shift</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"><a class="line" href="group__ops.html#ga498b61f7e8f056ae00297fa0dc17303a"> 1448</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga498b61f7e8f056ae00297fa0dc17303a">operator&gt;&gt;</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; b);</div>
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span> </div>
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"><a class="line" href="group__ops.html#ga3602aa91b7b124a0b41ec1b2137a1b02"> 1450</a></span><a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a> <a class="code hl_function" href="group__ops.html#ga3602aa91b7b124a0b41ec1b2137a1b02">view</a>(<span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; a, <span class="keyword">const</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a>&amp; dtype, <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span>} <span class="comment">// namespace mlx::core</span></div>
<div class="ttc" id="aarray_8h_html"><div class="ttname"><a href="array_8h.html">array.h</a></div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1array_html"><div class="ttname"><a href="classmlx_1_1core_1_1array.html">mlx::core::array</a></div><div class="ttdef"><b>Definition</b> array.h:20</div></div>
<div class="ttc" id="adevice_8h_html"><div class="ttname"><a href="device_8h.html">device.h</a></div></div>
@@ -1356,7 +1383,6 @@ $(function() { codefold.init(0); });
<div class="ttc" id="agroup__ops_html_ga4c8b8a1632944acaae50f0de6c23ece6"><div class="ttname"><a href="group__ops.html#ga4c8b8a1632944acaae50f0de6c23ece6">mlx::core::operator&lt;=</a></div><div class="ttdeci">array operator&lt;=(const array &amp;a, const array &amp;b)</div><div class="ttdef"><b>Definition</b> ops.h:375</div></div>
<div class="ttc" id="agroup__ops_html_ga4d29556bb93e2f66916116cf1f062b36"><div class="ttname"><a href="group__ops.html#ga4d29556bb93e2f66916116cf1f062b36">mlx::core::reciprocal</a></div><div class="ttdeci">array reciprocal(const array &amp;a, StreamOrDevice s={})</div><div class="ttdoc">The reciprocal (1/x) of the elements in an array.</div></div>
<div class="ttc" id="agroup__ops_html_ga4f3389e5b89e70e862e7d2b40d6c7f78"><div class="ttname"><a href="group__ops.html#ga4f3389e5b89e70e862e7d2b40d6c7f78">mlx::core::tri</a></div><div class="ttdeci">array tri(int n, int m, int k, Dtype type, StreamOrDevice s={})</div></div>
<div class="ttc" id="agroup__ops_html_ga506d1b63e391e45a7d8dc10cfd71e78d"><div class="ttname"><a href="group__ops.html#ga506d1b63e391e45a7d8dc10cfd71e78d">mlx::core::nan_to_num</a></div><div class="ttdeci">array nan_to_num(const array &amp;a, float nan=0.0f, const std::optional&lt; float &gt; &amp;posinf=std::nullopt, const std::optional&lt; float &gt; &amp;neginf=std::nullopt, StreamOrDevice s={})</div><div class="ttdoc">Replace NaN and infinities with finite numbers.</div></div>
<div class="ttc" id="agroup__ops_html_ga50aa98754b412bb57c083f6e3e95061f"><div class="ttname"><a href="group__ops.html#ga50aa98754b412bb57c083f6e3e95061f">mlx::core::flatten</a></div><div class="ttdeci">array flatten(const array &amp;a, int start_axis, int end_axis=-1, StreamOrDevice s={})</div><div class="ttdoc">Flatten the dimensions in the range [start_axis, end_axis] .</div></div>
<div class="ttc" id="agroup__ops_html_ga51eac95c04400921c54716de14b52491"><div class="ttname"><a href="group__ops.html#ga51eac95c04400921c54716de14b52491">mlx::core::isclose</a></div><div class="ttdeci">array isclose(const array &amp;a, const array &amp;b, double rtol=1e-5, double atol=1e-8, bool equal_nan=false, StreamOrDevice s={})</div><div class="ttdoc">Returns a boolean array where two arrays are element-wise equal within the specified tolerance.</div></div>
<div class="ttc" id="agroup__ops_html_ga52392a2a98f09a80da8d338c4908bd02"><div class="ttname"><a href="group__ops.html#ga52392a2a98f09a80da8d338c4908bd02">mlx::core::operator|</a></div><div class="ttdeci">array operator|(const array &amp;a, const array &amp;b)</div></div>
@@ -1409,6 +1435,7 @@ $(function() { codefold.init(0); });
<div class="ttc" id="agroup__ops_html_ga8af4f22c08c11c4ffab7e3d45e0f3cd6"><div class="ttname"><a href="group__ops.html#ga8af4f22c08c11c4ffab7e3d45e0f3cd6">mlx::core::bitwise_or</a></div><div class="ttdeci">array bitwise_or(const array &amp;a, const array &amp;b, StreamOrDevice s={})</div><div class="ttdoc">Bitwise inclusive or.</div></div>
<div class="ttc" id="agroup__ops_html_ga8d50480266d258cac40ff51bcb0fc6a7"><div class="ttname"><a href="group__ops.html#ga8d50480266d258cac40ff51bcb0fc6a7">mlx::core::gather_mm</a></div><div class="ttdeci">array gather_mm(array a, array b, std::optional&lt; array &gt; lhs_indices=std::nullopt, std::optional&lt; array &gt; rhs_indices=std::nullopt, StreamOrDevice s={})</div><div class="ttdoc">Compute matrix product with matrix-level gather.</div></div>
<div class="ttc" id="agroup__ops_html_ga8d656904aa2690b60955ae745aecfc30"><div class="ttname"><a href="group__ops.html#ga8d656904aa2690b60955ae745aecfc30">mlx::core::floor</a></div><div class="ttdeci">array floor(const array &amp;a, StreamOrDevice s={})</div><div class="ttdoc">Floor the element of an array.</div></div>
<div class="ttc" id="agroup__ops_html_ga8db814da631d9cd32a8d6563bf4ac530"><div class="ttname"><a href="group__ops.html#ga8db814da631d9cd32a8d6563bf4ac530">mlx::core::conv_transpose3d</a></div><div class="ttdeci">array conv_transpose3d(const array &amp;input, const array &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, StreamOrDevice s={})</div><div class="ttdoc">3D transposed convolution with a filter</div></div>
<div class="ttc" id="agroup__ops_html_ga8de80ecef30fc560003d40f61a38b99d"><div class="ttname"><a href="group__ops.html#ga8de80ecef30fc560003d40f61a38b99d">mlx::core::as_strided</a></div><div class="ttdeci">array as_strided(array a, std::vector&lt; int &gt; shape, std::vector&lt; size_t &gt; strides, size_t offset, StreamOrDevice s={})</div><div class="ttdoc">Create a view of an array with the given shape and strides.</div></div>
<div class="ttc" id="agroup__ops_html_ga8df3b2703bf671457422894dd870cdc5"><div class="ttname"><a href="group__ops.html#ga8df3b2703bf671457422894dd870cdc5">mlx::core::argsort</a></div><div class="ttdeci">array argsort(const array &amp;a, StreamOrDevice s={})</div><div class="ttdoc">Returns indices that sort the flattened array.</div></div>
<div class="ttc" id="agroup__ops_html_ga8f3059336ee0c87207b1f8c6ab312645"><div class="ttname"><a href="group__ops.html#ga8f3059336ee0c87207b1f8c6ab312645">mlx::core::array_equal</a></div><div class="ttdeci">array array_equal(const array &amp;a, const array &amp;b, bool equal_nan, StreamOrDevice s={})</div><div class="ttdoc">True if two arrays have the same shape and elements.</div></div>
@@ -1420,10 +1447,12 @@ $(function() { codefold.init(0); });
<div class="ttc" id="agroup__ops_html_ga968bcabed902311dcfbd903b0fb886ec"><div class="ttname"><a href="group__ops.html#ga968bcabed902311dcfbd903b0fb886ec">mlx::core::linspace</a></div><div class="ttdeci">array linspace(double start, double stop, int num=50, Dtype dtype=float32, StreamOrDevice s={})</div><div class="ttdoc">A 1D array of num evenly spaced numbers in the range [start, stop]</div></div>
<div class="ttc" id="agroup__ops_html_ga99f5c904f724156a814d7817188351d2"><div class="ttname"><a href="group__ops.html#ga99f5c904f724156a814d7817188351d2">mlx::core::remainder</a></div><div class="ttdeci">array remainder(const array &amp;a, const array &amp;b, StreamOrDevice s={})</div><div class="ttdoc">Compute the element-wise remainder of division.</div></div>
<div class="ttc" id="agroup__ops_html_gaa041f3f070e68f4946db07516b7d092e"><div class="ttname"><a href="group__ops.html#gaa041f3f070e68f4946db07516b7d092e">mlx::core::arctan</a></div><div class="ttdeci">array arctan(const array &amp;a, StreamOrDevice s={})</div><div class="ttdoc">Arc Tangent of the elements of an array.</div></div>
<div class="ttc" id="agroup__ops_html_gaa30bf1adcd78d1c2595d07b215731714"><div class="ttname"><a href="group__ops.html#gaa30bf1adcd78d1c2595d07b215731714">mlx::core::conv_transpose1d</a></div><div class="ttdeci">array conv_transpose1d(const array &amp;input, const array &amp;weight, int stride=1, int padding=0, int dilation=1, int groups=1, StreamOrDevice s={})</div><div class="ttdoc">1D transposed convolution with a filter</div></div>
<div class="ttc" id="agroup__ops_html_gaa30ebc0a8376dbc3f7e46a47052b5894"><div class="ttname"><a href="group__ops.html#gaa30ebc0a8376dbc3f7e46a47052b5894">mlx::core::divmod</a></div><div class="ttdeci">std::vector&lt; array &gt; divmod(const array &amp;a, const array &amp;b, StreamOrDevice s={})</div><div class="ttdoc">Compute the element-wise quotient and remainder.</div></div>
<div class="ttc" id="agroup__ops_html_gaa9df5917876eeb0cb28b7fa81f880412"><div class="ttname"><a href="group__ops.html#gaa9df5917876eeb0cb28b7fa81f880412">mlx::core::triu</a></div><div class="ttdeci">array triu(array x, int k=0, StreamOrDevice s={})</div></div>
<div class="ttc" id="agroup__ops_html_gaafafcfcebdf7248679c8543d0c0497e5"><div class="ttname"><a href="group__ops.html#gaafafcfcebdf7248679c8543d0c0497e5">mlx::core::arccosh</a></div><div class="ttdeci">array arccosh(const array &amp;a, StreamOrDevice s={})</div><div class="ttdoc">Inverse Hyperbolic Cosine of the elements of an array.</div></div>
<div class="ttc" id="agroup__ops_html_gab105a57b9a4d84496fe1e4d60e13d361"><div class="ttname"><a href="group__ops.html#gab105a57b9a4d84496fe1e4d60e13d361">mlx::core::tile</a></div><div class="ttdeci">array tile(const array &amp;arr, std::vector&lt; int &gt; reps, StreamOrDevice s={})</div></div>
<div class="ttc" id="agroup__ops_html_gab1467c6a9e675152e768afd6dcfb61de"><div class="ttname"><a href="group__ops.html#gab1467c6a9e675152e768afd6dcfb61de">mlx::core::nan_to_num</a></div><div class="ttdeci">array nan_to_num(const array &amp;a, float nan=0.0f, const std::optional&lt; float &gt; posinf=std::nullopt, const std::optional&lt; float &gt; neginf=std::nullopt, StreamOrDevice s={})</div><div class="ttdoc">Replace NaN and infinities with finite numbers.</div></div>
<div class="ttc" id="agroup__ops_html_gab27599802617a4c8f9964ab5f4ffee12"><div class="ttname"><a href="group__ops.html#gab27599802617a4c8f9964ab5f4ffee12">mlx::core::min</a></div><div class="ttdeci">array min(const array &amp;a, bool keepdims, StreamOrDevice s={})</div><div class="ttdoc">The minimum of all elements of the array.</div></div>
<div class="ttc" id="agroup__ops_html_gab3bfbf82b1e4de7b00bbcf1a2255fbde"><div class="ttname"><a href="group__ops.html#gab3bfbf82b1e4de7b00bbcf1a2255fbde">mlx::core::operator%</a></div><div class="ttdeci">array operator%(const array &amp;a, const array &amp;b)</div></div>
<div class="ttc" id="agroup__ops_html_gab43cc28690da7cdd43b43065adbd31da"><div class="ttname"><a href="group__ops.html#gab43cc28690da7cdd43b43065adbd31da">mlx::core::quantize</a></div><div class="ttdeci">std::tuple&lt; array, array, array &gt; quantize(const array &amp;w, int group_size=64, int bits=4, StreamOrDevice s={})</div><div class="ttdoc">Quantize a matrix along its last axis.</div></div>
@@ -1456,6 +1485,7 @@ $(function() { codefold.init(0); });
<div class="ttc" id="agroup__ops_html_gade905ee92eb6ab7edfc312aeddfbaeb6"><div class="ttname"><a href="group__ops.html#gade905ee92eb6ab7edfc312aeddfbaeb6">mlx::core::sum</a></div><div class="ttdeci">array sum(const array &amp;a, bool keepdims, StreamOrDevice s={})</div><div class="ttdoc">Sums the elements of an array.</div></div>
<div class="ttc" id="agroup__ops_html_gae0a81d4f983e296a87302e36d65bfc76"><div class="ttname"><a href="group__ops.html#gae0a81d4f983e296a87302e36d65bfc76">mlx::core::take_along_axis</a></div><div class="ttdeci">array take_along_axis(const array &amp;a, const array &amp;indices, int axis, StreamOrDevice s={})</div><div class="ttdoc">Take array entries given indices along the axis.</div></div>
<div class="ttc" id="agroup__ops_html_gae60b0b5339b9c50b9970260faf613e83"><div class="ttname"><a href="group__ops.html#gae60b0b5339b9c50b9970260faf613e83">mlx::core::argmax</a></div><div class="ttdeci">array argmax(const array &amp;a, bool keepdims, StreamOrDevice s={})</div><div class="ttdoc">Returns the index of the maximum value in the array.</div></div>
<div class="ttc" id="agroup__ops_html_gaebb59971cb9bc45005dc1d398e4f0a3d"><div class="ttname"><a href="group__ops.html#gaebb59971cb9bc45005dc1d398e4f0a3d">mlx::core::conv_transpose2d</a></div><div class="ttdeci">array conv_transpose2d(const array &amp;input, const array &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, StreamOrDevice s={})</div><div class="ttdoc">2D transposed convolution with a filter</div></div>
<div class="ttc" id="agroup__ops_html_gaebf0a73ad3732fba39df37826c235692"><div class="ttname"><a href="group__ops.html#gaebf0a73ad3732fba39df37826c235692">mlx::core::sin</a></div><div class="ttdeci">array sin(const array &amp;a, StreamOrDevice s={})</div><div class="ttdoc">Sine of the elements of an array.</div></div>
<div class="ttc" id="agroup__ops_html_gaee1d774bb0843601d7a0a4257d616ae3"><div class="ttname"><a href="group__ops.html#gaee1d774bb0843601d7a0a4257d616ae3">mlx::core::operator&amp;&amp;</a></div><div class="ttdeci">array operator&amp;&amp;(const array &amp;a, const array &amp;b)</div></div>
<div class="ttc" id="agroup__ops_html_gaee37cac8476e8f8d666bcded5bc59143"><div class="ttname"><a href="group__ops.html#gaee37cac8476e8f8d666bcded5bc59143">mlx::core::cummax</a></div><div class="ttdeci">array cummax(const array &amp;a, int axis, bool reverse=false, bool inclusive=true, StreamOrDevice s={})</div><div class="ttdoc">Cumulative max of an array.</div></div>