This commit is contained in:
CircleCI Docs 2024-10-18 19:13:44 +00:00
parent ecfb26b8e7
commit 3dee931c0a
590 changed files with 10972 additions and 5085 deletions

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 5d79ff0eb4fd2457710e4f29cb9324ed
config: 19a532605596267974106a744b1b96b3
tags: 645f666f9bcd5a90fca523b33c5a78b7

View File

@ -14,7 +14,7 @@ silicon computer is
To install from PyPI you must meet the following requirements:
- Using an M series chip (Apple silicon)
- Using a native Python >= 3.8
- Using a native Python >= 3.9
- macOS >= 13.5
.. note::

View File

@ -0,0 +1,6 @@
mlx.core.imag
=============
.. currentmodule:: mlx.core
.. autofunction:: imag

View File

@ -0,0 +1,6 @@
mlx.core.real
=============
.. currentmodule:: mlx.core
.. autofunction:: real

View File

@ -80,6 +80,7 @@ Operations
greater_equal
hadamard_transform
identity
imag
inner
isfinite
isclose
@ -125,6 +126,7 @@ Operations
quantize
quantized_matmul
radians
real
reciprocal
remainder
repeat

View File

@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
VERSION: '0.18.1',
VERSION: '0.19.0',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',

View File

@ -123,41 +123,43 @@ $(function(){ initResizable(false); });
<tr id="row_1_0_1_22_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_floor.html" target="_self">Floor</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_23_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_greater.html" target="_self">Greater</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_24_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_greater_equal.html" target="_self">GreaterEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_25_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionmlx_1_1core_1_1detail_1_1_int_or_float.html" target="_self">IntOrFloat</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_26_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_in_tracing.html" target="_self">InTracing</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_27_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_left_shift.html" target="_self">LeftShift</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_28_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_less.html" target="_self">Less</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_29_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_less_equal.html" target="_self">LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_30_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log.html" target="_self">Log</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_31_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log10.html" target="_self">Log10</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_32_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log1p.html" target="_self">Log1p</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_33_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log2.html" target="_self">Log2</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_34_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log_add_exp.html" target="_self">LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_35_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_and.html" target="_self">LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_36_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_not.html" target="_self">LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_37_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_or.html" target="_self">LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_38_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_maximum.html" target="_self">Maximum</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_39_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_minimum.html" target="_self">Minimum</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_40_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_multiply.html" target="_self">Multiply</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_41_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_na_n_equal.html" target="_self">NaNEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_42_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_negative.html" target="_self">Negative</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_43_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_not_equal.html" target="_self">NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_44_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_power.html" target="_self">Power</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_45_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_remainder.html" target="_self">Remainder</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_46_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_retain_graph.html" target="_self">RetainGraph</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_47_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_right_shift.html" target="_self">RightShift</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_48_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_round.html" target="_self">Round</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_49_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_rsqrt.html" target="_self">Rsqrt</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_50_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_select.html" target="_self">Select</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_51_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sigmoid.html" target="_self">Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_52_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sign.html" target="_self">Sign</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_53_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sin.html" target="_self">Sin</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_54_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sinh.html" target="_self">Sinh</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_55_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sqrt.html" target="_self">Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_56_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_square.html" target="_self">Square</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_57_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_subtract.html" target="_self">Subtract</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_58_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_tan.html" target="_self">Tan</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_59_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_tanh.html" target="_self">Tanh</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_25_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_imag.html" target="_self">Imag</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_26_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionmlx_1_1core_1_1detail_1_1_int_or_float.html" target="_self">IntOrFloat</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_27_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_in_tracing.html" target="_self">InTracing</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_28_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_left_shift.html" target="_self">LeftShift</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_29_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_less.html" target="_self">Less</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_30_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_less_equal.html" target="_self">LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_31_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log.html" target="_self">Log</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_32_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log10.html" target="_self">Log10</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_33_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log1p.html" target="_self">Log1p</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_34_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log2.html" target="_self">Log2</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_35_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log_add_exp.html" target="_self">LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_36_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_and.html" target="_self">LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_37_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_not.html" target="_self">LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_38_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_or.html" target="_self">LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_39_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_maximum.html" target="_self">Maximum</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_40_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_minimum.html" target="_self">Minimum</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_41_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_multiply.html" target="_self">Multiply</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_42_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_na_n_equal.html" target="_self">NaNEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_43_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_negative.html" target="_self">Negative</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_44_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_not_equal.html" target="_self">NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_45_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_power.html" target="_self">Power</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_46_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_real.html" target="_self">Real</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_47_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_remainder.html" target="_self">Remainder</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_48_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_retain_graph.html" target="_self">RetainGraph</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_49_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_right_shift.html" target="_self">RightShift</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_50_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_round.html" target="_self">Round</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_51_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_rsqrt.html" target="_self">Rsqrt</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_52_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_select.html" target="_self">Select</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_53_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sigmoid.html" target="_self">Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_54_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sign.html" target="_self">Sign</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_55_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sin.html" target="_self">Sin</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_56_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sinh.html" target="_self">Sinh</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_57_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sqrt.html" target="_self">Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_58_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_square.html" target="_self">Square</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_59_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_subtract.html" target="_self">Subtract</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_60_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_tan.html" target="_self">Tan</a></td><td class="desc"></td></tr>
<tr id="row_1_0_1_61_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_tanh.html" target="_self">Tanh</a></td><td class="desc"></td></tr>
<tr id="row_1_0_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_0_2_" class="arrow" onclick="dynsection.toggleFolder('1_0_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacemlx_1_1core_1_1distributed.html" target="_self">distributed</a></td><td class="desc"></td></tr>
<tr id="row_1_0_2_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_all_gather.html" target="_self">AllGather</a></td><td class="desc"></td></tr>
<tr id="row_1_0_2_1_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_all_reduce.html" target="_self">AllReduce</a></td><td class="desc"></td></tr>
@ -251,63 +253,65 @@ $(function(){ initResizable(false); });
<tr id="row_1_0_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_greater.html" target="_self">Greater</a></td><td class="desc"></td></tr>
<tr id="row_1_0_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_greater_equal.html" target="_self">GreaterEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_hadamard.html" target="_self">Hadamard</a></td><td class="desc"></td></tr>
<tr id="row_1_0_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_inverse.html" target="_self">Inverse</a></td><td class="desc"></td></tr>
<tr id="row_1_0_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_less.html" target="_self">Less</a></td><td class="desc"></td></tr>
<tr id="row_1_0_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_less_equal.html" target="_self">LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_load.html" target="_self">Load</a></td><td class="desc"></td></tr>
<tr id="row_1_0_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log.html" target="_self">Log</a></td><td class="desc"></td></tr>
<tr id="row_1_0_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log1p.html" target="_self">Log1p</a></td><td class="desc"></td></tr>
<tr id="row_1_0_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log_add_exp.html" target="_self">LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_and.html" target="_self">LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_1_0_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_not.html" target="_self">LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_1_0_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_or.html" target="_self">LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_1_0_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_matmul.html" target="_self">Matmul</a></td><td class="desc"></td></tr>
<tr id="row_1_0_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_maximum.html" target="_self">Maximum</a></td><td class="desc"></td></tr>
<tr id="row_1_0_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_minimum.html" target="_self">Minimum</a></td><td class="desc"></td></tr>
<tr id="row_1_0_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_multiply.html" target="_self">Multiply</a></td><td class="desc"></td></tr>
<tr id="row_1_0_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_negative.html" target="_self">Negative</a></td><td class="desc"></td></tr>
<tr id="row_1_0_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_node_namer.html" target="_self">NodeNamer</a></td><td class="desc"></td></tr>
<tr id="row_1_0_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_not_equal.html" target="_self">NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_number_of_elements.html" target="_self">NumberOfElements</a></td><td class="desc"></td></tr>
<tr id="row_1_0_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_pad.html" target="_self">Pad</a></td><td class="desc"></td></tr>
<tr id="row_1_0_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_partition.html" target="_self">Partition</a></td><td class="desc"></td></tr>
<tr id="row_1_0_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_power.html" target="_self">Power</a></td><td class="desc"></td></tr>
<tr id="row_1_0_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_primitive.html" target="_self">Primitive</a></td><td class="desc"></td></tr>
<tr id="row_1_0_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_print_formatter.html" target="_self">PrintFormatter</a></td><td class="desc"></td></tr>
<tr id="row_1_0_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_q_r_f.html" target="_self">QRF</a></td><td class="desc"></td></tr>
<tr id="row_1_0_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_quantized_matmul.html" target="_self">QuantizedMatmul</a></td><td class="desc"></td></tr>
<tr id="row_1_0_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_random_bits.html" target="_self">RandomBits</a></td><td class="desc"></td></tr>
<tr id="row_1_0_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_reduce.html" target="_self">Reduce</a></td><td class="desc"></td></tr>
<tr id="row_1_0_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_reduction_plan.html" target="_self">ReductionPlan</a></td><td class="desc"></td></tr>
<tr id="row_1_0_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_remainder.html" target="_self">Remainder</a></td><td class="desc"></td></tr>
<tr id="row_1_0_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_reshape.html" target="_self">Reshape</a></td><td class="desc"></td></tr>
<tr id="row_1_0_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_round.html" target="_self">Round</a></td><td class="desc"></td></tr>
<tr id="row_1_0_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_scan.html" target="_self">Scan</a></td><td class="desc"></td></tr>
<tr id="row_1_0_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_scatter.html" target="_self">Scatter</a></td><td class="desc"></td></tr>
<tr id="row_1_0_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_select.html" target="_self">Select</a></td><td class="desc"></td></tr>
<tr id="row_1_0_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sigmoid.html" target="_self">Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_1_0_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sign.html" target="_self">Sign</a></td><td class="desc"></td></tr>
<tr id="row_1_0_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sin.html" target="_self">Sin</a></td><td class="desc"></td></tr>
<tr id="row_1_0_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sinh.html" target="_self">Sinh</a></td><td class="desc"></td></tr>
<tr id="row_1_0_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_slice.html" target="_self">Slice</a></td><td class="desc"></td></tr>
<tr id="row_1_0_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_slice_update.html" target="_self">SliceUpdate</a></td><td class="desc"></td></tr>
<tr id="row_1_0_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_softmax.html" target="_self">Softmax</a></td><td class="desc"></td></tr>
<tr id="row_1_0_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sort.html" target="_self">Sort</a></td><td class="desc"></td></tr>
<tr id="row_1_0_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_split.html" target="_self">Split</a></td><td class="desc"></td></tr>
<tr id="row_1_0_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sqrt.html" target="_self">Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_1_0_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_square.html" target="_self">Square</a></td><td class="desc"></td></tr>
<tr id="row_1_0_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_stop_gradient.html" target="_self">StopGradient</a></td><td class="desc"></td></tr>
<tr id="row_1_0_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_stream.html" target="_self">Stream</a></td><td class="desc"></td></tr>
<tr id="row_1_0_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_stream_context.html" target="_self">StreamContext</a></td><td class="desc"></td></tr>
<tr id="row_1_0_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_subtract.html" target="_self">Subtract</a></td><td class="desc"></td></tr>
<tr id="row_1_0_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_s_v_d.html" target="_self">SVD</a></td><td class="desc"></td></tr>
<tr id="row_1_0_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_tan.html" target="_self">Tan</a></td><td class="desc"></td></tr>
<tr id="row_1_0_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_tanh.html" target="_self">Tanh</a></td><td class="desc"></td></tr>
<tr id="row_1_0_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_transpose.html" target="_self">Transpose</a></td><td class="desc"></td></tr>
<tr id="row_1_0_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_type_to_dtype.html" target="_self">TypeToDtype</a></td><td class="desc"></td></tr>
<tr id="row_1_0_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html" target="_self">UnaryPrimitive</a></td><td class="desc"></td></tr>
<tr id="row_1_0_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_uniform.html" target="_self">Uniform</a></td><td class="desc"></td></tr>
<tr id="row_1_0_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_view.html" target="_self">View</a></td><td class="desc"></td></tr>
<tr id="row_1_0_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_imag.html" target="_self">Imag</a></td><td class="desc"></td></tr>
<tr id="row_1_0_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_inverse.html" target="_self">Inverse</a></td><td class="desc"></td></tr>
<tr id="row_1_0_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_less.html" target="_self">Less</a></td><td class="desc"></td></tr>
<tr id="row_1_0_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_less_equal.html" target="_self">LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_load.html" target="_self">Load</a></td><td class="desc"></td></tr>
<tr id="row_1_0_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log.html" target="_self">Log</a></td><td class="desc"></td></tr>
<tr id="row_1_0_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log1p.html" target="_self">Log1p</a></td><td class="desc"></td></tr>
<tr id="row_1_0_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log_add_exp.html" target="_self">LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_1_0_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_and.html" target="_self">LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_1_0_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_not.html" target="_self">LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_1_0_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_or.html" target="_self">LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_1_0_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_matmul.html" target="_self">Matmul</a></td><td class="desc"></td></tr>
<tr id="row_1_0_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_maximum.html" target="_self">Maximum</a></td><td class="desc"></td></tr>
<tr id="row_1_0_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_minimum.html" target="_self">Minimum</a></td><td class="desc"></td></tr>
<tr id="row_1_0_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_multiply.html" target="_self">Multiply</a></td><td class="desc"></td></tr>
<tr id="row_1_0_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_negative.html" target="_self">Negative</a></td><td class="desc"></td></tr>
<tr id="row_1_0_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_node_namer.html" target="_self">NodeNamer</a></td><td class="desc"></td></tr>
<tr id="row_1_0_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_not_equal.html" target="_self">NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_1_0_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_number_of_elements.html" target="_self">NumberOfElements</a></td><td class="desc"></td></tr>
<tr id="row_1_0_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_pad.html" target="_self">Pad</a></td><td class="desc"></td></tr>
<tr id="row_1_0_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_partition.html" target="_self">Partition</a></td><td class="desc"></td></tr>
<tr id="row_1_0_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_power.html" target="_self">Power</a></td><td class="desc"></td></tr>
<tr id="row_1_0_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_primitive.html" target="_self">Primitive</a></td><td class="desc"></td></tr>
<tr id="row_1_0_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_print_formatter.html" target="_self">PrintFormatter</a></td><td class="desc"></td></tr>
<tr id="row_1_0_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_q_r_f.html" target="_self">QRF</a></td><td class="desc"></td></tr>
<tr id="row_1_0_90_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_quantized_matmul.html" target="_self">QuantizedMatmul</a></td><td class="desc"></td></tr>
<tr id="row_1_0_91_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_random_bits.html" target="_self">RandomBits</a></td><td class="desc"></td></tr>
<tr id="row_1_0_92_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_real.html" target="_self">Real</a></td><td class="desc"></td></tr>
<tr id="row_1_0_93_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_reduce.html" target="_self">Reduce</a></td><td class="desc"></td></tr>
<tr id="row_1_0_94_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_reduction_plan.html" target="_self">ReductionPlan</a></td><td class="desc"></td></tr>
<tr id="row_1_0_95_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_remainder.html" target="_self">Remainder</a></td><td class="desc"></td></tr>
<tr id="row_1_0_96_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_reshape.html" target="_self">Reshape</a></td><td class="desc"></td></tr>
<tr id="row_1_0_97_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_round.html" target="_self">Round</a></td><td class="desc"></td></tr>
<tr id="row_1_0_98_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_scan.html" target="_self">Scan</a></td><td class="desc"></td></tr>
<tr id="row_1_0_99_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_scatter.html" target="_self">Scatter</a></td><td class="desc"></td></tr>
<tr id="row_1_0_100_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_select.html" target="_self">Select</a></td><td class="desc"></td></tr>
<tr id="row_1_0_101_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sigmoid.html" target="_self">Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_1_0_102_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sign.html" target="_self">Sign</a></td><td class="desc"></td></tr>
<tr id="row_1_0_103_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sin.html" target="_self">Sin</a></td><td class="desc"></td></tr>
<tr id="row_1_0_104_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sinh.html" target="_self">Sinh</a></td><td class="desc"></td></tr>
<tr id="row_1_0_105_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_slice.html" target="_self">Slice</a></td><td class="desc"></td></tr>
<tr id="row_1_0_106_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_slice_update.html" target="_self">SliceUpdate</a></td><td class="desc"></td></tr>
<tr id="row_1_0_107_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_softmax.html" target="_self">Softmax</a></td><td class="desc"></td></tr>
<tr id="row_1_0_108_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sort.html" target="_self">Sort</a></td><td class="desc"></td></tr>
<tr id="row_1_0_109_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_split.html" target="_self">Split</a></td><td class="desc"></td></tr>
<tr id="row_1_0_110_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sqrt.html" target="_self">Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_1_0_111_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_square.html" target="_self">Square</a></td><td class="desc"></td></tr>
<tr id="row_1_0_112_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_stop_gradient.html" target="_self">StopGradient</a></td><td class="desc"></td></tr>
<tr id="row_1_0_113_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_stream.html" target="_self">Stream</a></td><td class="desc"></td></tr>
<tr id="row_1_0_114_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_stream_context.html" target="_self">StreamContext</a></td><td class="desc"></td></tr>
<tr id="row_1_0_115_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_subtract.html" target="_self">Subtract</a></td><td class="desc"></td></tr>
<tr id="row_1_0_116_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_s_v_d.html" target="_self">SVD</a></td><td class="desc"></td></tr>
<tr id="row_1_0_117_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_tan.html" target="_self">Tan</a></td><td class="desc"></td></tr>
<tr id="row_1_0_118_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_tanh.html" target="_self">Tanh</a></td><td class="desc"></td></tr>
<tr id="row_1_0_119_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_transpose.html" target="_self">Transpose</a></td><td class="desc"></td></tr>
<tr id="row_1_0_120_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_type_to_dtype.html" target="_self">TypeToDtype</a></td><td class="desc"></td></tr>
<tr id="row_1_0_121_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html" target="_self">UnaryPrimitive</a></td><td class="desc"></td></tr>
<tr id="row_1_0_122_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_uniform.html" target="_self">Uniform</a></td><td class="desc"></td></tr>
<tr id="row_1_0_123_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_view.html" target="_self">View</a></td><td class="desc"></td></tr>
<tr id="row_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_1_" class="arrow" onclick="dynsection.toggleFolder('1_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacemlx_1_1steel.html" target="_self">steel</a></td><td class="desc"></td></tr>
<tr id="row_1_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_accum_helper.html" target="_self">AccumHelper</a></td><td class="desc"></td></tr>
<tr id="row_1_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_1_1_" class="arrow" onclick="dynsection.toggleFolder('1_1_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_block_loader.html" target="_self">BlockLoader</a></td><td class="desc"></td></tr>
@ -412,75 +416,77 @@ $(function(){ initResizable(false); });
<tr id="row_40_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_g_e_m_v_t_kernel.html" target="_self">GEMVTKernel</a></td><td class="desc">Vector matrix multiplication </td></tr>
<tr id="row_41_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_greater.html" target="_self">Greater</a></td><td class="desc"></td></tr>
<tr id="row_42_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_greater_equal.html" target="_self">GreaterEqual</a></td><td class="desc"></td></tr>
<tr id="row_43_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_indices.html" target="_self">Indices</a></td><td class="desc"></td></tr>
<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_kernel_merge_sort.html" target="_self">KernelMergeSort</a></td><td class="desc"></td></tr>
<tr id="row_45_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_kernel_multi_block_merge_sort.html" target="_self">KernelMultiBlockMergeSort</a></td><td class="desc"></td></tr>
<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_left_shift.html" target="_self">LeftShift</a></td><td class="desc"></td></tr>
<tr id="row_47_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less.html" target="_self">Less</a></td><td class="desc"></td></tr>
<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less_equal.html" target="_self">LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_49_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less_than.html" target="_self">LessThan</a></td><td class="desc"></td></tr>
<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits.html" target="_self">Limits</a></td><td class="desc"></td></tr>
<tr id="row_51_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01bfloat16__t_01_4.html" target="_self">Limits&lt; bfloat16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01bool_01_4.html" target="_self">Limits&lt; bool &gt;</a></td><td class="desc"></td></tr>
<tr id="row_53_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01complex64__t_01_4.html" target="_self">Limits&lt; complex64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01float_01_4.html" target="_self">Limits&lt; float &gt;</a></td><td class="desc"></td></tr>
<tr id="row_55_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01half_01_4.html" target="_self">Limits&lt; half &gt;</a></td><td class="desc"></td></tr>
<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int16__t_01_4.html" target="_self">Limits&lt; int16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_57_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int32__t_01_4.html" target="_self">Limits&lt; int32_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int64__t_01_4.html" target="_self">Limits&lt; int64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_59_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int8__t_01_4.html" target="_self">Limits&lt; int8_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint16__t_01_4.html" target="_self">Limits&lt; uint16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_61_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint32__t_01_4.html" target="_self">Limits&lt; uint32_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_62_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint64__t_01_4.html" target="_self">Limits&lt; uint64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_63_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint8__t_01_4.html" target="_self">Limits&lt; uint8_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log.html" target="_self">Log</a></td><td class="desc"></td></tr>
<tr id="row_65_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log10.html" target="_self">Log10</a></td><td class="desc"></td></tr>
<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log1p.html" target="_self">Log1p</a></td><td class="desc"></td></tr>
<tr id="row_67_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log2.html" target="_self">Log2</a></td><td class="desc"></td></tr>
<tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log_add_exp.html" target="_self">LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_69_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_and.html" target="_self">LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_70_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_not.html" target="_self">LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_71_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_or.html" target="_self">LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_72_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc.html" target="_self">looped_elem_to_loc</a></td><td class="desc"></td></tr>
<tr id="row_73_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc_3_010_00_01offset__t_01_4.html" target="_self">looped_elem_to_loc&lt; 0, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_74_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc_3_011_00_01offset__t_01_4.html" target="_self">looped_elem_to_loc&lt; 1, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_75_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_max.html" target="_self">Max</a></td><td class="desc"></td></tr>
<tr id="row_76_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_maximum.html" target="_self">Maximum</a></td><td class="desc"></td></tr>
<tr id="row_77_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_min.html" target="_self">Min</a></td><td class="desc"></td></tr>
<tr id="row_78_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_minimum.html" target="_self">Minimum</a></td><td class="desc"></td></tr>
<tr id="row_79_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx__atomic.html" target="_self">mlx_atomic</a></td><td class="desc"></td></tr>
<tr id="row_80_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx__atomic_3_01_t_00_01enable__if__t_3_01is__metal__atomic_3_01_t_01_4_01_4_01_4.html" target="_self">mlx_atomic&lt; T, enable_if_t&lt; is_metal_atomic&lt; T &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_81_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_conv_params.html" target="_self">MLXConvParams</a></td><td class="desc"></td></tr>
<tr id="row_82_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_fast_attention_params.html" target="_self">MLXFastAttentionParams</a></td><td class="desc"></td></tr>
<tr id="row_83_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_scaled_dot_product_attention_params.html" target="_self">MLXScaledDotProductAttentionParams</a></td><td class="desc"></td></tr>
<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_multiply.html" target="_self">Multiply</a></td><td class="desc"></td></tr>
<tr id="row_85_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_na_n_equal.html" target="_self">NaNEqual</a></td><td class="desc"></td></tr>
<tr id="row_86_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_negative.html" target="_self">Negative</a></td><td class="desc"></td></tr>
<tr id="row_87_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_none.html" target="_self">None</a></td><td class="desc"></td></tr>
<tr id="row_88_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_not_equal.html" target="_self">NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_89_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_or.html" target="_self">Or</a></td><td class="desc"></td></tr>
<tr id="row_90_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_power.html" target="_self">Power</a></td><td class="desc"></td></tr>
<tr id="row_91_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_prod.html" target="_self">Prod</a></td><td class="desc"></td></tr>
<tr id="row_92_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_quantized_block_loader.html" target="_self">QuantizedBlockLoader</a></td><td class="desc"></td></tr>
<tr id="row_93_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_read_writer.html" target="_self">ReadWriter</a></td><td class="desc"></td></tr>
<tr id="row_94_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_remainder.html" target="_self">Remainder</a></td><td class="desc"></td></tr>
<tr id="row_95_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_right_shift.html" target="_self">RightShift</a></td><td class="desc"></td></tr>
<tr id="row_96_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_round.html" target="_self">Round</a></td><td class="desc"></td></tr>
<tr id="row_97_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_rsqrt.html" target="_self">Rsqrt</a></td><td class="desc"></td></tr>
<tr id="row_98_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_scale_op.html" target="_self">ScaleOp</a></td><td class="desc"></td></tr>
<tr id="row_99_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_select.html" target="_self">Select</a></td><td class="desc"></td></tr>
<tr id="row_100_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sigmoid.html" target="_self">Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_101_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sign.html" target="_self">Sign</a></td><td class="desc"></td></tr>
<tr id="row_102_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sin.html" target="_self">Sin</a></td><td class="desc"></td></tr>
<tr id="row_103_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sinh.html" target="_self">Sinh</a></td><td class="desc"></td></tr>
<tr id="row_104_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sqrt.html" target="_self">Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_105_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_square.html" target="_self">Square</a></td><td class="desc"></td></tr>
<tr id="row_106_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_subtract.html" target="_self">Subtract</a></td><td class="desc"></td></tr>
<tr id="row_107_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sum.html" target="_self">Sum</a></td><td class="desc"></td></tr>
<tr id="row_108_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_tan.html" target="_self">Tan</a></td><td class="desc"></td></tr>
<tr id="row_109_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_tanh.html" target="_self">Tanh</a></td><td class="desc"></td></tr>
<tr id="row_110_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_thread_pool.html" target="_self">ThreadPool</a></td><td class="desc"></td></tr>
<tr id="row_111_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_thread_sort.html" target="_self">ThreadSort</a></td><td class="desc"></td></tr>
<tr id="row_43_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_imag.html" target="_self">Imag</a></td><td class="desc"></td></tr>
<tr id="row_44_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_indices.html" target="_self">Indices</a></td><td class="desc"></td></tr>
<tr id="row_45_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_kernel_merge_sort.html" target="_self">KernelMergeSort</a></td><td class="desc"></td></tr>
<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_kernel_multi_block_merge_sort.html" target="_self">KernelMultiBlockMergeSort</a></td><td class="desc"></td></tr>
<tr id="row_47_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_left_shift.html" target="_self">LeftShift</a></td><td class="desc"></td></tr>
<tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less.html" target="_self">Less</a></td><td class="desc"></td></tr>
<tr id="row_49_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less_equal.html" target="_self">LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less_than.html" target="_self">LessThan</a></td><td class="desc"></td></tr>
<tr id="row_51_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits.html" target="_self">Limits</a></td><td class="desc"></td></tr>
<tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01bfloat16__t_01_4.html" target="_self">Limits&lt; bfloat16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_53_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01bool_01_4.html" target="_self">Limits&lt; bool &gt;</a></td><td class="desc"></td></tr>
<tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01complex64__t_01_4.html" target="_self">Limits&lt; complex64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_55_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01float_01_4.html" target="_self">Limits&lt; float &gt;</a></td><td class="desc"></td></tr>
<tr id="row_56_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01half_01_4.html" target="_self">Limits&lt; half &gt;</a></td><td class="desc"></td></tr>
<tr id="row_57_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int16__t_01_4.html" target="_self">Limits&lt; int16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_58_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int32__t_01_4.html" target="_self">Limits&lt; int32_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_59_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int64__t_01_4.html" target="_self">Limits&lt; int64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_60_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int8__t_01_4.html" target="_self">Limits&lt; int8_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_61_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint16__t_01_4.html" target="_self">Limits&lt; uint16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_62_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint32__t_01_4.html" target="_self">Limits&lt; uint32_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_63_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint64__t_01_4.html" target="_self">Limits&lt; uint64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_64_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint8__t_01_4.html" target="_self">Limits&lt; uint8_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_65_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log.html" target="_self">Log</a></td><td class="desc"></td></tr>
<tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log10.html" target="_self">Log10</a></td><td class="desc"></td></tr>
<tr id="row_67_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log1p.html" target="_self">Log1p</a></td><td class="desc"></td></tr>
<tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log2.html" target="_self">Log2</a></td><td class="desc"></td></tr>
<tr id="row_69_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log_add_exp.html" target="_self">LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_70_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_and.html" target="_self">LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_71_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_not.html" target="_self">LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_72_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_or.html" target="_self">LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_73_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc.html" target="_self">looped_elem_to_loc</a></td><td class="desc"></td></tr>
<tr id="row_74_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc_3_010_00_01offset__t_01_4.html" target="_self">looped_elem_to_loc&lt; 0, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_75_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc_3_011_00_01offset__t_01_4.html" target="_self">looped_elem_to_loc&lt; 1, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_76_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_max.html" target="_self">Max</a></td><td class="desc"></td></tr>
<tr id="row_77_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_maximum.html" target="_self">Maximum</a></td><td class="desc"></td></tr>
<tr id="row_78_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_min.html" target="_self">Min</a></td><td class="desc"></td></tr>
<tr id="row_79_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_minimum.html" target="_self">Minimum</a></td><td class="desc"></td></tr>
<tr id="row_80_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx__atomic.html" target="_self">mlx_atomic</a></td><td class="desc"></td></tr>
<tr id="row_81_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx__atomic_3_01_t_00_01enable__if__t_3_01is__metal__atomic_3_01_t_01_4_01_4_01_4.html" target="_self">mlx_atomic&lt; T, enable_if_t&lt; is_metal_atomic&lt; T &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_82_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_conv_params.html" target="_self">MLXConvParams</a></td><td class="desc"></td></tr>
<tr id="row_83_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_fast_attention_params.html" target="_self">MLXFastAttentionParams</a></td><td class="desc"></td></tr>
<tr id="row_84_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_scaled_dot_product_attention_params.html" target="_self">MLXScaledDotProductAttentionParams</a></td><td class="desc"></td></tr>
<tr id="row_85_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_multiply.html" target="_self">Multiply</a></td><td class="desc"></td></tr>
<tr id="row_86_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_na_n_equal.html" target="_self">NaNEqual</a></td><td class="desc"></td></tr>
<tr id="row_87_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_negative.html" target="_self">Negative</a></td><td class="desc"></td></tr>
<tr id="row_88_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_none.html" target="_self">None</a></td><td class="desc"></td></tr>
<tr id="row_89_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_not_equal.html" target="_self">NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_90_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_or.html" target="_self">Or</a></td><td class="desc"></td></tr>
<tr id="row_91_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_power.html" target="_self">Power</a></td><td class="desc"></td></tr>
<tr id="row_92_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_prod.html" target="_self">Prod</a></td><td class="desc"></td></tr>
<tr id="row_93_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_quantized_block_loader.html" target="_self">QuantizedBlockLoader</a></td><td class="desc"></td></tr>
<tr id="row_94_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_read_writer.html" target="_self">ReadWriter</a></td><td class="desc"></td></tr>
<tr id="row_95_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_real.html" target="_self">Real</a></td><td class="desc"></td></tr>
<tr id="row_96_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_remainder.html" target="_self">Remainder</a></td><td class="desc"></td></tr>
<tr id="row_97_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_right_shift.html" target="_self">RightShift</a></td><td class="desc"></td></tr>
<tr id="row_98_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_round.html" target="_self">Round</a></td><td class="desc"></td></tr>
<tr id="row_99_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_rsqrt.html" target="_self">Rsqrt</a></td><td class="desc"></td></tr>
<tr id="row_100_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_scale_op.html" target="_self">ScaleOp</a></td><td class="desc"></td></tr>
<tr id="row_101_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_select.html" target="_self">Select</a></td><td class="desc"></td></tr>
<tr id="row_102_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sigmoid.html" target="_self">Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_103_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sign.html" target="_self">Sign</a></td><td class="desc"></td></tr>
<tr id="row_104_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sin.html" target="_self">Sin</a></td><td class="desc"></td></tr>
<tr id="row_105_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sinh.html" target="_self">Sinh</a></td><td class="desc"></td></tr>
<tr id="row_106_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sqrt.html" target="_self">Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_107_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_square.html" target="_self">Square</a></td><td class="desc"></td></tr>
<tr id="row_108_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_subtract.html" target="_self">Subtract</a></td><td class="desc"></td></tr>
<tr id="row_109_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sum.html" target="_self">Sum</a></td><td class="desc"></td></tr>
<tr id="row_110_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_tan.html" target="_self">Tan</a></td><td class="desc"></td></tr>
<tr id="row_111_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_tanh.html" target="_self">Tanh</a></td><td class="desc"></td></tr>
<tr id="row_112_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_thread_pool.html" target="_self">ThreadPool</a></td><td class="desc"></td></tr>
<tr id="row_113_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_thread_sort.html" target="_self">ThreadSort</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@ -139,6 +139,8 @@ Classes</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_floor.html">mlx::core::detail::Floor</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_imag.html">mlx::core::detail::Imag</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_log.html">mlx::core::detail::Log</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_log2.html">mlx::core::detail::Log2</a></td></tr>
@ -151,6 +153,8 @@ Classes</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_negative.html">mlx::core::detail::Negative</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_real.html">mlx::core::detail::Real</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_round.html">mlx::core::detail::Round</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_sigmoid.html">mlx::core::detail::Sigmoid</a></td></tr>

File diff suppressed because it is too large Load Diff

View File

@ -546,7 +546,7 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> <span class="keyword">typename</span> in_T,</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> <span class="keyword">typename</span> out_T,</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> <span class="keywordtype">int</span> step,</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <span class="keywordtype">bool</span> real = <span class="keyword">false</span>&gt;</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764">real</a> = <span class="keyword">false</span>&gt;</div>
<div class="foldopen" id="foldopen00443" data-start="{" data-end="}">
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"><a class="line" href="backend_2metal_2kernels_2fft_8h.html#a6558a8205ee4c3e4767bafa93f7606de"> 443</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="backend_2metal_2kernels_2fft_8h.html#a6558a8205ee4c3e4767bafa93f7606de">four_step_fft</a>(</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <span class="keyword">const</span> device in_T* in [[buffer(0)]],</div>
@ -627,6 +627,7 @@ $(function(){ initResizable(false); });
<div class="ttc" id="abackend_2metal_2kernels_2fft_8h_html_ad395c11e6f2aee72cd1928fba93a35a3"><div class="ttname"><a href="backend_2metal_2kernels_2fft_8h.html#ad395c11e6f2aee72cd1928fba93a35a3">elems_per_thread_</a></div><div class="ttdeci">static constant constexpr const int elems_per_thread_</div><div class="ttdef"><b>Definition</b> fft.h:25</div></div>
<div class="ttc" id="abackend_2metal_2kernels_2fft_8h_html_adb129cc3808c08fd95af9795bfc7ae63"><div class="ttname"><a href="backend_2metal_2kernels_2fft_8h.html#adb129cc3808c08fd95af9795bfc7ae63">rader_3_steps_</a></div><div class="ttdeci">static constant constexpr const int rader_3_steps_</div><div class="ttdef"><b>Definition</b> fft.h:46</div></div>
<div class="ttc" id="abackend_2metal_2kernels_2fft_8h_html_afea05e9a7105bafbaafca25042f4d1b4"><div class="ttname"><a href="backend_2metal_2kernels_2fft_8h.html#afea05e9a7105bafbaafca25042f4d1b4">rader_5_steps_</a></div><div class="ttdeci">static constant constexpr const int rader_5_steps_</div><div class="ttdef"><b>Definition</b> fft.h:44</div></div>
<div class="ttc" id="agroup__ops_html_gaf8913cabeb9fb193ba687aaeb2087764"><div class="ttname"><a href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764">mlx::core::real</a></div><div class="ttdeci">array real(const array &amp;a, StreamOrDevice s={})</div></div>
<div class="ttc" id="ametal_2kernels_2hadamard_8h_html_a590e5366adc78bab4fe44e37885d413f"><div class="ttname"><a href="metal_2kernels_2hadamard_8h.html#a590e5366adc78bab4fe44e37885d413f">radix_func</a></div><div class="ttdeci">METAL_FUNC void radix_func(thread float *x)</div><div class="ttdef"><b>Definition</b> hadamard.h:11</div></div>
<div class="ttc" id="anamespacemetal_html"><div class="ttname"><a href="namespacemetal.html">metal</a></div><div class="ttdef"><b>Definition</b> bf16.h:265</div></div>
<div class="ttc" id="anamespacemetal_html_a6653b28c9473087141eddce39878d4d3"><div class="ttname"><a href="namespacemetal.html#a6653b28c9473087141eddce39878d4d3">metal::min</a></div><div class="ttdeci">METAL_FUNC bfloat16_t min(bfloat16_t x, bfloat16_t y)</div><div class="ttdef"><b>Definition</b> bf16_math.h:234</div></div>

View File

@ -117,8 +117,8 @@ Functions</h2></td></tr>
<tr class="separator:ae309cb543dfb0239cfccc53a8ad0408e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1fdfdaa5644394362e6baba30701bae" id="r_af1fdfdaa5644394362e6baba30701bae"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#af1fdfdaa5644394362e6baba30701bae">mlx::core::type_to_name</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a)</td></tr>
<tr class="separator:af1fdfdaa5644394362e6baba30701bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b3f872f6046bdd4d429ee1f1c31cd40" id="r_a7b3f872f6046bdd4d429ee1f1c31cd40"><td class="memItemLeft" align="right" valign="top">MTL::Size&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#a7b3f872f6046bdd4d429ee1f1c31cd40">mlx::core::get_block_dims</a> (int dim0, int dim1, int dim2)</td></tr>
<tr class="separator:a7b3f872f6046bdd4d429ee1f1c31cd40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f0f59d3ffe2d16a684e5fc093302e15" id="r_a0f0f59d3ffe2d16a684e5fc093302e15"><td class="memItemLeft" align="right" valign="top">MTL::Size&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#a0f0f59d3ffe2d16a684e5fc093302e15">mlx::core::get_block_dims</a> (int dim0, int dim1, int dim2, int pow2=10)</td></tr>
<tr class="separator:a0f0f59d3ffe2d16a684e5fc093302e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dc169474a51a1f4f761d5752819bd7c" id="r_a8dc169474a51a1f4f761d5752819bd7c"><td class="memItemLeft" align="right" valign="top">MTL::Size&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#a8dc169474a51a1f4f761d5752819bd7c">mlx::core::get_2d_grid_dims</a> (const std::vector&lt; int &gt; &amp;shape, const std::vector&lt; size_t &gt; &amp;strides)</td></tr>
<tr class="separator:a8dc169474a51a1f4f761d5752819bd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed148d95e7b5221f1312473deded0d27" id="r_aed148d95e7b5221f1312473deded0d27"><td class="memItemLeft" align="right" valign="top">NS::String *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#aed148d95e7b5221f1312473deded0d27">mlx::core::make_string</a> (std::ostringstream &amp;os)</td></tr>

View File

@ -127,8 +127,8 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment">// Compute the thread block dimensions which fit the given</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">// input dimensions.</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment">// - The thread block dimensions will be powers of two</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">// - The thread block size will be less than 1024</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a7b3f872f6046bdd4d429ee1f1c31cd40"> 34</a></span>MTL::Size <a class="code hl_function" href="namespacemlx_1_1core.html#a7b3f872f6046bdd4d429ee1f1c31cd40">get_block_dims</a>(<span class="keywordtype">int</span> dim0, <span class="keywordtype">int</span> dim1, <span class="keywordtype">int</span> dim2);</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment">// - The thread block size will be less than 2^pow2</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a0f0f59d3ffe2d16a684e5fc093302e15"> 34</a></span>MTL::Size <a class="code hl_function" href="namespacemlx_1_1core.html#a0f0f59d3ffe2d16a684e5fc093302e15">get_block_dims</a>(<span class="keywordtype">int</span> dim0, <span class="keywordtype">int</span> dim1, <span class="keywordtype">int</span> dim2, <span class="keywordtype">int</span> pow2 = 10);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">// Computes a 2D grid where each element is &lt; UINT_MAX</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment">// Assumes:</span></div>
@ -180,10 +180,10 @@ $(function(){ initResizable(false); });
<div class="ttc" id="aclassmlx_1_1core_1_1_primitive_html_ae1aff91354ce036596088a3e19474ecb"><div class="ttname"><a href="classmlx_1_1core_1_1_primitive.html#ae1aff91354ce036596088a3e19474ecb">mlx::core::Primitive::print</a></div><div class="ttdeci">virtual void print(std::ostream &amp;os)=0</div><div class="ttdoc">Print the primitive.</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="anamespacemlx_1_1core_html"><div class="ttname"><a href="namespacemlx_1_1core.html">mlx::core</a></div><div class="ttdef"><b>Definition</b> allocator.h:7</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a0f0f59d3ffe2d16a684e5fc093302e15"><div class="ttname"><a href="namespacemlx_1_1core.html#a0f0f59d3ffe2d16a684e5fc093302e15">mlx::core::get_block_dims</a></div><div class="ttdeci">MTL::Size get_block_dims(int dim0, int dim1, int dim2, int pow2=10)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a489e45b3a5cd8b46e8ea56b9132eb230"><div class="ttname"><a href="namespacemlx_1_1core.html#a489e45b3a5cd8b46e8ea56b9132eb230">mlx::core::debug_set_primitive_buffer_label</a></div><div class="ttdeci">void debug_set_primitive_buffer_label(MTL::CommandBuffer *command_buffer, Primitive &amp;primitive)</div><div class="ttdef"><b>Definition</b> utils.h:58</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a62340bbaa8b216539688a60adcb568bf"><div class="ttname"><a href="namespacemlx_1_1core.html#a62340bbaa8b216539688a60adcb568bf">mlx::core::set_vector_bytes</a></div><div class="ttdeci">void set_vector_bytes(CommandEncoder &amp;enc, const std::vector&lt; T &gt; &amp;vec, size_t nelems, int idx)</div><div class="ttdef"><b>Definition</b> utils.h:14</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a79817d2432e782e596c9c49a08b93be2"><div class="ttname"><a href="namespacemlx_1_1core.html#a79817d2432e782e596c9c49a08b93be2">mlx::core::debug_set_stream_queue_label</a></div><div class="ttdeci">void debug_set_stream_queue_label(MTL::CommandQueue *queue, int index)</div><div class="ttdef"><b>Definition</b> utils.h:50</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a7b3f872f6046bdd4d429ee1f1c31cd40"><div class="ttname"><a href="namespacemlx_1_1core.html#a7b3f872f6046bdd4d429ee1f1c31cd40">mlx::core::get_block_dims</a></div><div class="ttdeci">MTL::Size get_block_dims(int dim0, int dim1, int dim2)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a8dc169474a51a1f4f761d5752819bd7c"><div class="ttname"><a href="namespacemlx_1_1core.html#a8dc169474a51a1f4f761d5752819bd7c">mlx::core::get_2d_grid_dims</a></div><div class="ttdeci">MTL::Size get_2d_grid_dims(const std::vector&lt; int &gt; &amp;shape, const std::vector&lt; size_t &gt; &amp;strides)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_ad4be35b310a252edd80d9cf04f094a60"><div class="ttname"><a href="namespacemlx_1_1core.html#ad4be35b310a252edd80d9cf04f094a60">mlx::core::get_primitive_string</a></div><div class="ttdeci">std::string get_primitive_string(Primitive *primitive)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_aed148d95e7b5221f1312473deded0d27"><div class="ttname"><a href="namespacemlx_1_1core.html#aed148d95e7b5221f1312473deded0d27">mlx::core::make_string</a></div><div class="ttdeci">NS::String * make_string(std::ostringstream &amp;os)</div><div class="ttdef"><b>Definition</b> utils.h:45</div></div>

File diff suppressed because one or more lines are too long

View File

@ -109,7 +109,7 @@ Inheritance diagram for mlx::core::FFT:</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0cdce626ed2c8eeeecc6949418437839" id="r_a0cdce626ed2c8eeeecc6949418437839"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0cdce626ed2c8eeeecc6949418437839">FFT</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>, const std::vector&lt; size_t &gt; &amp;axes, bool inverse, bool real)</td></tr>
<tr class="memitem:a0cdce626ed2c8eeeecc6949418437839" id="r_a0cdce626ed2c8eeeecc6949418437839"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0cdce626ed2c8eeeecc6949418437839">FFT</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>, const std::vector&lt; size_t &gt; &amp;axes, bool inverse, bool <a class="el" href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764">real</a>)</td></tr>
<tr class="separator:a0cdce626ed2c8eeeecc6949418437839"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bc262a0c2b5d4fe655e3e2e0ff28635" id="r_a6bc262a0c2b5d4fe655e3e2e0ff28635"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6bc262a0c2b5d4fe655e3e2e0ff28635">eval_cpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;out) override</td></tr>
<tr class="separator:a6bc262a0c2b5d4fe655e3e2e0ff28635"><td class="memSeparator" colspan="2">&#160;</td></tr>

View File

@ -0,0 +1,129 @@
<!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.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MLX: Member List</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="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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MLX
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacemlx.html">mlx</a></li><li class="navelem"><a class="el" href="namespacemlx_1_1core.html">core</a></li><li class="navelem"><a class="el" href="classmlx_1_1core_1_1_imag.html">Imag</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">mlx::core::Imag Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a8ae61e3289c4134232a69295268f8261">device</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#a17d1f1f9f8528668fcdf39b636720829">eval_cpu</a>(const std::vector&lt; array &gt; &amp;inputs, array &amp;out) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#aa0ed6e32c36200a3ff9bc592c9b300db">mlx::core::UnaryPrimitive::eval_cpu</a>(const std::vector&lt; array &gt; &amp;inputs, std::vector&lt; array &gt; &amp;outputs) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#a247a4d059b0a99678c6be8c15e42c1e6">eval_gpu</a>(const std::vector&lt; array &gt; &amp;inputs, array &amp;out) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a971fe9ad47f6569118879ce1d0f41447">mlx::core::UnaryPrimitive::eval_gpu</a>(const std::vector&lt; array &gt; &amp;inputs, std::vector&lt; array &gt; &amp;outputs) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#a284b7de34a316110fdc98e7b753372b2">Imag</a>(Stream stream)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#a51c15ae82855edebba2ba779516465f5">is_equivalent</a>(const Primitive &amp;other) const override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#ac01c5ed9b886983450ed9f049ddac55a">jvp</a>(const std::vector&lt; array &gt; &amp;primals, const std::vector&lt; array &gt; &amp;tangents, const std::vector&lt; int &gt; &amp;argnums) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a0a859309a4f192f2679e07f2e4ff4d22">operator=</a>(const UnaryPrimitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#ab90b2ea80f1d914be03cf44def5db5a5">operator=</a>(UnaryPrimitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a6b1be7ea92f3a7bb19875c70259dad6b">mlx::core::Primitive::operator=</a>(const Primitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a50bbddd43e1ba0cf5f127cd7aa756a9e">mlx::core::Primitive::operator=</a>(Primitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#ab396ef74748abd3d4121ffee33a08d48">output_shapes</a>(const std::vector&lt; array &gt; &amp;inputs) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#afc69f22ee1f6e8a9ecc2c3a8f43b8fdb">Primitive</a>(Stream stream)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a3349f745fae50ca7627f79a731a19e32">Primitive</a>(const Primitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a342da891b9882bdee9a0e0c1ac826eda">Primitive</a>(Primitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#a0c8d48e2a1474d80a314ea9b96dbaa8d">print</a>(std::ostream &amp;os) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a189f6d4ed369f82a4b724a29eb056d4e">UnaryPrimitive</a>(Stream stream)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a9935cffc4f246d3d883bc3d26c5163f2">UnaryPrimitive</a>(const UnaryPrimitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a780281fb04e2daf1be630c124bd605e3">UnaryPrimitive</a>(UnaryPrimitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#a80da5fdd0fa549eebd7804c0e261848b">vjp</a>(const std::vector&lt; array &gt; &amp;primals, const std::vector&lt; array &gt; &amp;cotangents, const std::vector&lt; int &gt; &amp;argnums, const std::vector&lt; array &gt; &amp;outputs) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html#ace9906672bd88df0573653883d58ecb3">vmap</a>(const std::vector&lt; array &gt; &amp;inputs, const std::vector&lt; int &gt; &amp;axes) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a29f70eb2d3b7e6c5fe52779c03f03777">~Primitive</a>()=default</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#ac0677ab99a5ca660ed6ab7902ea364de">~UnaryPrimitive</a>()=default</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,477 @@
<!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.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MLX: mlx::core::Imag Class 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="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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MLX
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacemlx.html">mlx</a></li><li class="navelem"><a class="el" href="namespacemlx_1_1core.html">core</a></li><li class="navelem"><a class="el" href="classmlx_1_1core_1_1_imag.html">Imag</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classmlx_1_1core_1_1_imag-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">mlx::core::Imag Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="primitives_8h_source.html">primitives.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mlx::core::Imag:</div>
<div class="dyncontent">
<div class="center">
<img src="classmlx_1_1core_1_1_imag.png" usemap="#mlx::core::Imag_map" alt=""/>
<map id="mlx::core::Imag_map" name="mlx::core::Imag_map">
<area href="classmlx_1_1core_1_1_unary_primitive.html" alt="mlx::core::UnaryPrimitive" shape="rect" coords="0,56,150,80"/>
<area href="classmlx_1_1core_1_1_primitive.html" alt="mlx::core::Primitive" shape="rect" coords="0,0,150,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a284b7de34a316110fdc98e7b753372b2" id="r_a284b7de34a316110fdc98e7b753372b2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a284b7de34a316110fdc98e7b753372b2">Imag</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>)</td></tr>
<tr class="separator:a284b7de34a316110fdc98e7b753372b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17d1f1f9f8528668fcdf39b636720829" id="r_a17d1f1f9f8528668fcdf39b636720829"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a17d1f1f9f8528668fcdf39b636720829">eval_cpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;out) override</td></tr>
<tr class="separator:a17d1f1f9f8528668fcdf39b636720829"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a247a4d059b0a99678c6be8c15e42c1e6" id="r_a247a4d059b0a99678c6be8c15e42c1e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a247a4d059b0a99678c6be8c15e42c1e6">eval_gpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;out) override</td></tr>
<tr class="separator:a247a4d059b0a99678c6be8c15e42c1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace9906672bd88df0573653883d58ecb3" id="r_ace9906672bd88df0573653883d58ecb3"><td class="memItemLeft" align="right" valign="top">virtual std::pair&lt; std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;, std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ace9906672bd88df0573653883d58ecb3">vmap</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, const std::vector&lt; int &gt; &amp;axes) override</td></tr>
<tr class="memdesc:ace9906672bd88df0573653883d58ecb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The primitive must know how to vectorize itself across the given axes. <br /></td></tr>
<tr class="separator:ace9906672bd88df0573653883d58ecb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac01c5ed9b886983450ed9f049ddac55a" id="r_ac01c5ed9b886983450ed9f049ddac55a"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac01c5ed9b886983450ed9f049ddac55a">jvp</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;primals, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;tangents, const std::vector&lt; int &gt; &amp;argnums) override</td></tr>
<tr class="memdesc:ac01c5ed9b886983450ed9f049ddac55a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Jacobian-vector product. <br /></td></tr>
<tr class="separator:ac01c5ed9b886983450ed9f049ddac55a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80da5fdd0fa549eebd7804c0e261848b" id="r_a80da5fdd0fa549eebd7804c0e261848b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a80da5fdd0fa549eebd7804c0e261848b">vjp</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;primals, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;cotangents, const std::vector&lt; int &gt; &amp;argnums, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;outputs) override</td></tr>
<tr class="memdesc:a80da5fdd0fa549eebd7804c0e261848b"><td class="mdescLeft">&#160;</td><td class="mdescRight">The vector-Jacobian product. <br /></td></tr>
<tr class="separator:a80da5fdd0fa549eebd7804c0e261848b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c8d48e2a1474d80a314ea9b96dbaa8d" id="r_a0c8d48e2a1474d80a314ea9b96dbaa8d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0c8d48e2a1474d80a314ea9b96dbaa8d">print</a> (std::ostream &amp;os) override</td></tr>
<tr class="memdesc:a0c8d48e2a1474d80a314ea9b96dbaa8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print the primitive. <br /></td></tr>
<tr class="separator:a0c8d48e2a1474d80a314ea9b96dbaa8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51c15ae82855edebba2ba779516465f5" id="r_a51c15ae82855edebba2ba779516465f5"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a51c15ae82855edebba2ba779516465f5">is_equivalent</a> (const <a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;other) const override</td></tr>
<tr class="memdesc:a51c15ae82855edebba2ba779516465f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equivalence check defaults to false unless overridden by the primitive. <br /></td></tr>
<tr class="separator:a51c15ae82855edebba2ba779516465f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab396ef74748abd3d4121ffee33a08d48" id="r_ab396ef74748abd3d4121ffee33a08d48"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ab396ef74748abd3d4121ffee33a08d48">output_shapes</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs) override</td></tr>
<tr class="memdesc:ab396ef74748abd3d4121ffee33a08d48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the output shapes of the primitive. <br /></td></tr>
<tr class="separator:ab396ef74748abd3d4121ffee33a08d48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmlx_1_1core_1_1_unary_primitive"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmlx_1_1core_1_1_unary_primitive')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td></tr>
<tr class="memitem:a189f6d4ed369f82a4b724a29eb056d4e inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a189f6d4ed369f82a4b724a29eb056d4e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a189f6d4ed369f82a4b724a29eb056d4e">UnaryPrimitive</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>)</td></tr>
<tr class="memdesc:a189f6d4ed369f82a4b724a29eb056d4e inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract base class for a primitive with a single output. <br /></td></tr>
<tr class="separator:a189f6d4ed369f82a4b724a29eb056d4e inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ed6e32c36200a3ff9bc592c9b300db inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_aa0ed6e32c36200a3ff9bc592c9b300db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#aa0ed6e32c36200a3ff9bc592c9b300db">eval_cpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;outputs) override</td></tr>
<tr class="memdesc:aa0ed6e32c36200a3ff9bc592c9b300db inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the output arrays. <br /></td></tr>
<tr class="separator:aa0ed6e32c36200a3ff9bc592c9b300db inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a971fe9ad47f6569118879ce1d0f41447 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a971fe9ad47f6569118879ce1d0f41447"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a971fe9ad47f6569118879ce1d0f41447">eval_gpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;outputs) override</td></tr>
<tr class="separator:a971fe9ad47f6569118879ce1d0f41447 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0677ab99a5ca660ed6ab7902ea364de inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_ac0677ab99a5ca660ed6ab7902ea364de"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#ac0677ab99a5ca660ed6ab7902ea364de">~UnaryPrimitive</a> ()=default</td></tr>
<tr class="separator:ac0677ab99a5ca660ed6ab7902ea364de inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9935cffc4f246d3d883bc3d26c5163f2 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a9935cffc4f246d3d883bc3d26c5163f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a9935cffc4f246d3d883bc3d26c5163f2">UnaryPrimitive</a> (const <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;other)=delete</td></tr>
<tr class="separator:a9935cffc4f246d3d883bc3d26c5163f2 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a780281fb04e2daf1be630c124bd605e3 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a780281fb04e2daf1be630c124bd605e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a780281fb04e2daf1be630c124bd605e3">UnaryPrimitive</a> (<a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;&amp;other)=delete</td></tr>
<tr class="separator:a780281fb04e2daf1be630c124bd605e3 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a859309a4f192f2679e07f2e4ff4d22 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a0a859309a4f192f2679e07f2e4ff4d22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a0a859309a4f192f2679e07f2e4ff4d22">operator=</a> (const <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;other)=delete</td></tr>
<tr class="separator:a0a859309a4f192f2679e07f2e4ff4d22 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab90b2ea80f1d914be03cf44def5db5a5 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_ab90b2ea80f1d914be03cf44def5db5a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#ab90b2ea80f1d914be03cf44def5db5a5">operator=</a> (<a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;&amp;other)=delete</td></tr>
<tr class="separator:ab90b2ea80f1d914be03cf44def5db5a5 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmlx_1_1core_1_1_primitive"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmlx_1_1core_1_1_primitive')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td></tr>
<tr class="memitem:afc69f22ee1f6e8a9ecc2c3a8f43b8fdb inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_afc69f22ee1f6e8a9ecc2c3a8f43b8fdb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#afc69f22ee1f6e8a9ecc2c3a8f43b8fdb">Primitive</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>)</td></tr>
<tr class="separator:afc69f22ee1f6e8a9ecc2c3a8f43b8fdb inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae61e3289c4134232a69295268f8261 inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a8ae61e3289c4134232a69295268f8261"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmlx_1_1core_1_1_device.html">Device</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a8ae61e3289c4134232a69295268f8261">device</a> ()</td></tr>
<tr class="memdesc:a8ae61e3289c4134232a69295268f8261 inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">The device the primitive will run on. <br /></td></tr>
<tr class="separator:a8ae61e3289c4134232a69295268f8261 inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46e6257397a662528f9f831842ac456a inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a46e6257397a662528f9f831842ac456a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a> ()</td></tr>
<tr class="memdesc:a46e6257397a662528f9f831842ac456a inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">The stream the primitive will run on. <br /></td></tr>
<tr class="separator:a46e6257397a662528f9f831842ac456a inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f70eb2d3b7e6c5fe52779c03f03777 inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a29f70eb2d3b7e6c5fe52779c03f03777"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a29f70eb2d3b7e6c5fe52779c03f03777">~Primitive</a> ()=default</td></tr>
<tr class="separator:a29f70eb2d3b7e6c5fe52779c03f03777 inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3349f745fae50ca7627f79a731a19e32 inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a3349f745fae50ca7627f79a731a19e32"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a3349f745fae50ca7627f79a731a19e32">Primitive</a> (const <a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;other)=delete</td></tr>
<tr class="separator:a3349f745fae50ca7627f79a731a19e32 inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a342da891b9882bdee9a0e0c1ac826eda inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a342da891b9882bdee9a0e0c1ac826eda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a342da891b9882bdee9a0e0c1ac826eda">Primitive</a> (<a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;&amp;other)=delete</td></tr>
<tr class="separator:a342da891b9882bdee9a0e0c1ac826eda inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b1be7ea92f3a7bb19875c70259dad6b inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a6b1be7ea92f3a7bb19875c70259dad6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a6b1be7ea92f3a7bb19875c70259dad6b">operator=</a> (const <a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;other)=delete</td></tr>
<tr class="separator:a6b1be7ea92f3a7bb19875c70259dad6b inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50bbddd43e1ba0cf5f127cd7aa756a9e inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a50bbddd43e1ba0cf5f127cd7aa756a9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a50bbddd43e1ba0cf5f127cd7aa756a9e">operator=</a> (<a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;&amp;other)=delete</td></tr>
<tr class="separator:a50bbddd43e1ba0cf5f127cd7aa756a9e inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a284b7de34a316110fdc98e7b753372b2" name="a284b7de34a316110fdc98e7b753372b2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a284b7de34a316110fdc98e7b753372b2">&#9670;&#160;</a></span>Imag()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">mlx::core::Imag::Imag </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a></td> <td class="paramname"><span class="paramname"><em>stream</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a17d1f1f9f8528668fcdf39b636720829" name="a17d1f1f9f8528668fcdf39b636720829"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17d1f1f9f8528668fcdf39b636720829">&#9670;&#160;</a></span>eval_cpu()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mlx::core::Imag::eval_cpu </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>inputs</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;</td> <td class="paramname"><span class="paramname"><em>out</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a7e8f6f5d6ae0a33f6abc0f5a46e0b132">mlx::core::UnaryPrimitive</a>.</p>
</div>
</div>
<a id="a247a4d059b0a99678c6be8c15e42c1e6" name="a247a4d059b0a99678c6be8c15e42c1e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a247a4d059b0a99678c6be8c15e42c1e6">&#9670;&#160;</a></span>eval_gpu()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mlx::core::Imag::eval_gpu </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>inputs</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;</td> <td class="paramname"><span class="paramname"><em>out</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a6b7f80abaf038d53ec6ffbb0dfac6adb">mlx::core::UnaryPrimitive</a>.</p>
</div>
</div>
<a id="a51c15ae82855edebba2ba779516465f5" name="a51c15ae82855edebba2ba779516465f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51c15ae82855edebba2ba779516465f5">&#9670;&#160;</a></span>is_equivalent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mlx::core::Imag::is_equivalent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Equivalence check defaults to false unless overridden by the primitive. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#a6140a502af4c2bbbc776ab26e9afebcd">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="ac01c5ed9b886983450ed9f049ddac55a" name="ac01c5ed9b886983450ed9f049ddac55a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac01c5ed9b886983450ed9f049ddac55a">&#9670;&#160;</a></span>jvp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; mlx::core::Imag::jvp </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>primals</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>tangents</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>argnums</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The Jacobian-vector product. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#a9fecf38f53da08ba1947543c2b3158c2">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="ab396ef74748abd3d4121ffee33a08d48" name="ab396ef74748abd3d4121ffee33a08d48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab396ef74748abd3d4121ffee33a08d48">&#9670;&#160;</a></span>output_shapes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; std::vector&lt; int &gt; &gt; mlx::core::Imag::output_shapes </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>inputs</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the output shapes of the primitive. </p>
<p>This is not required to be implemented by derived classes, in which case it will throw. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#a8849dc20991398f6f9a24d6785673853">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="a0c8d48e2a1474d80a314ea9b96dbaa8d" name="a0c8d48e2a1474d80a314ea9b96dbaa8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c8d48e2a1474d80a314ea9b96dbaa8d">&#9670;&#160;</a></span>print()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mlx::core::Imag::print </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;</td> <td class="paramname"><span class="paramname"><em>os</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Print the primitive. </p>
<p>Implements <a class="el" href="classmlx_1_1core_1_1_primitive.html#ae1aff91354ce036596088a3e19474ecb">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="a80da5fdd0fa549eebd7804c0e261848b" name="a80da5fdd0fa549eebd7804c0e261848b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80da5fdd0fa549eebd7804c0e261848b">&#9670;&#160;</a></span>vjp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; mlx::core::Imag::vjp </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>primals</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>cotangents</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>argnums</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>outputs</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The vector-Jacobian product. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#a1dcb6807326eeab62474c6a0e3836d42">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="ace9906672bd88df0573653883d58ecb3" name="ace9906672bd88df0573653883d58ecb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace9906672bd88df0573653883d58ecb3">&#9670;&#160;</a></span>vmap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::pair&lt; std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;, std::vector&lt; int &gt; &gt; mlx::core::Imag::vmap </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>inputs</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>axes</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The primitive must know how to vectorize itself across the given axes. </p>
<p>The output is a pair containing the output arrays representing the vectorized computation and the axes which corresponds to the vectorized dimensions of each output. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#ac632b9619dd7a6a0f177bd36202e8103">mlx::core::Primitive</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>mlx/<a class="el" href="primitives_8h_source.html">primitives.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 882 B

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,129 @@
<!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.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MLX: Member List</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="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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MLX
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacemlx.html">mlx</a></li><li class="navelem"><a class="el" href="namespacemlx_1_1core.html">core</a></li><li class="navelem"><a class="el" href="classmlx_1_1core_1_1_real.html">Real</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="headertitle"><div class="title">mlx::core::Real Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a8ae61e3289c4134232a69295268f8261">device</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#a365d046caac91b521f0f5a5518037934">eval_cpu</a>(const std::vector&lt; array &gt; &amp;inputs, array &amp;out) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#aa0ed6e32c36200a3ff9bc592c9b300db">mlx::core::UnaryPrimitive::eval_cpu</a>(const std::vector&lt; array &gt; &amp;inputs, std::vector&lt; array &gt; &amp;outputs) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#a1e209e88a43bdd1eea43ad0b03f9a7f2">eval_gpu</a>(const std::vector&lt; array &gt; &amp;inputs, array &amp;out) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a971fe9ad47f6569118879ce1d0f41447">mlx::core::UnaryPrimitive::eval_gpu</a>(const std::vector&lt; array &gt; &amp;inputs, std::vector&lt; array &gt; &amp;outputs) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#a6d9bed396862a9e9d6abfbdcd8d8d239">is_equivalent</a>(const Primitive &amp;other) const override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#adff418a54970e2344bd3c2885aae5526">jvp</a>(const std::vector&lt; array &gt; &amp;primals, const std::vector&lt; array &gt; &amp;tangents, const std::vector&lt; int &gt; &amp;argnums) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a0a859309a4f192f2679e07f2e4ff4d22">operator=</a>(const UnaryPrimitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#ab90b2ea80f1d914be03cf44def5db5a5">operator=</a>(UnaryPrimitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a6b1be7ea92f3a7bb19875c70259dad6b">mlx::core::Primitive::operator=</a>(const Primitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a50bbddd43e1ba0cf5f127cd7aa756a9e">mlx::core::Primitive::operator=</a>(Primitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#a75d7b85e68a7a03ec911c7acc09ddde5">output_shapes</a>(const std::vector&lt; array &gt; &amp;inputs) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#afc69f22ee1f6e8a9ecc2c3a8f43b8fdb">Primitive</a>(Stream stream)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a3349f745fae50ca7627f79a731a19e32">Primitive</a>(const Primitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a342da891b9882bdee9a0e0c1ac826eda">Primitive</a>(Primitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#a740a0dfb54c2a4467a0a59f11fe69e1b">print</a>(std::ostream &amp;os) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#acd4480e3f0834d70ff6b5f1ecef17892">Real</a>(Stream stream)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>()</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a189f6d4ed369f82a4b724a29eb056d4e">UnaryPrimitive</a>(Stream stream)</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a9935cffc4f246d3d883bc3d26c5163f2">UnaryPrimitive</a>(const UnaryPrimitive &amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a780281fb04e2daf1be630c124bd605e3">UnaryPrimitive</a>(UnaryPrimitive &amp;&amp;other)=delete</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#a29f6109339c5141a862ceae72c8b80fe">vjp</a>(const std::vector&lt; array &gt; &amp;primals, const std::vector&lt; array &gt; &amp;cotangents, const std::vector&lt; int &gt; &amp;argnums, const std::vector&lt; array &gt; &amp;outputs) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html#a07fbbefb6a1bc1ebd3985b24c36693b6">vmap</a>(const std::vector&lt; array &gt; &amp;inputs, const std::vector&lt; int &gt; &amp;axes) override</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a29f70eb2d3b7e6c5fe52779c03f03777">~Primitive</a>()=default</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#ac0677ab99a5ca660ed6ab7902ea364de">~UnaryPrimitive</a>()=default</td><td class="entry"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

View File

@ -0,0 +1,477 @@
<!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.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MLX: mlx::core::Real Class 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="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>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">MLX
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacemlx.html">mlx</a></li><li class="navelem"><a class="el" href="namespacemlx_1_1core.html">core</a></li><li class="navelem"><a class="el" href="classmlx_1_1core_1_1_real.html">Real</a></li> </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classmlx_1_1core_1_1_real-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">mlx::core::Real Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="primitives_8h_source.html">primitives.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for mlx::core::Real:</div>
<div class="dyncontent">
<div class="center">
<img src="classmlx_1_1core_1_1_real.png" usemap="#mlx::core::Real_map" alt=""/>
<map id="mlx::core::Real_map" name="mlx::core::Real_map">
<area href="classmlx_1_1core_1_1_unary_primitive.html" alt="mlx::core::UnaryPrimitive" shape="rect" coords="0,56,150,80"/>
<area href="classmlx_1_1core_1_1_primitive.html" alt="mlx::core::Primitive" shape="rect" coords="0,0,150,24"/>
</map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:acd4480e3f0834d70ff6b5f1ecef17892" id="r_acd4480e3f0834d70ff6b5f1ecef17892"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#acd4480e3f0834d70ff6b5f1ecef17892">Real</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>)</td></tr>
<tr class="separator:acd4480e3f0834d70ff6b5f1ecef17892"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a365d046caac91b521f0f5a5518037934" id="r_a365d046caac91b521f0f5a5518037934"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a365d046caac91b521f0f5a5518037934">eval_cpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;out) override</td></tr>
<tr class="separator:a365d046caac91b521f0f5a5518037934"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e209e88a43bdd1eea43ad0b03f9a7f2" id="r_a1e209e88a43bdd1eea43ad0b03f9a7f2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1e209e88a43bdd1eea43ad0b03f9a7f2">eval_gpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;out) override</td></tr>
<tr class="separator:a1e209e88a43bdd1eea43ad0b03f9a7f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07fbbefb6a1bc1ebd3985b24c36693b6" id="r_a07fbbefb6a1bc1ebd3985b24c36693b6"><td class="memItemLeft" align="right" valign="top">virtual std::pair&lt; std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;, std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a07fbbefb6a1bc1ebd3985b24c36693b6">vmap</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, const std::vector&lt; int &gt; &amp;axes) override</td></tr>
<tr class="memdesc:a07fbbefb6a1bc1ebd3985b24c36693b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The primitive must know how to vectorize itself across the given axes. <br /></td></tr>
<tr class="separator:a07fbbefb6a1bc1ebd3985b24c36693b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff418a54970e2344bd3c2885aae5526" id="r_adff418a54970e2344bd3c2885aae5526"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#adff418a54970e2344bd3c2885aae5526">jvp</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;primals, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;tangents, const std::vector&lt; int &gt; &amp;argnums) override</td></tr>
<tr class="memdesc:adff418a54970e2344bd3c2885aae5526"><td class="mdescLeft">&#160;</td><td class="mdescRight">The Jacobian-vector product. <br /></td></tr>
<tr class="separator:adff418a54970e2344bd3c2885aae5526"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f6109339c5141a862ceae72c8b80fe" id="r_a29f6109339c5141a862ceae72c8b80fe"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a29f6109339c5141a862ceae72c8b80fe">vjp</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;primals, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;cotangents, const std::vector&lt; int &gt; &amp;argnums, const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;outputs) override</td></tr>
<tr class="memdesc:a29f6109339c5141a862ceae72c8b80fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">The vector-Jacobian product. <br /></td></tr>
<tr class="separator:a29f6109339c5141a862ceae72c8b80fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a740a0dfb54c2a4467a0a59f11fe69e1b" id="r_a740a0dfb54c2a4467a0a59f11fe69e1b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a740a0dfb54c2a4467a0a59f11fe69e1b">print</a> (std::ostream &amp;os) override</td></tr>
<tr class="memdesc:a740a0dfb54c2a4467a0a59f11fe69e1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print the primitive. <br /></td></tr>
<tr class="separator:a740a0dfb54c2a4467a0a59f11fe69e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d9bed396862a9e9d6abfbdcd8d8d239" id="r_a6d9bed396862a9e9d6abfbdcd8d8d239"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d9bed396862a9e9d6abfbdcd8d8d239">is_equivalent</a> (const <a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;other) const override</td></tr>
<tr class="memdesc:a6d9bed396862a9e9d6abfbdcd8d8d239"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equivalence check defaults to false unless overridden by the primitive. <br /></td></tr>
<tr class="separator:a6d9bed396862a9e9d6abfbdcd8d8d239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75d7b85e68a7a03ec911c7acc09ddde5" id="r_a75d7b85e68a7a03ec911c7acc09ddde5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::vector&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a75d7b85e68a7a03ec911c7acc09ddde5">output_shapes</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs) override</td></tr>
<tr class="memdesc:a75d7b85e68a7a03ec911c7acc09ddde5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the output shapes of the primitive. <br /></td></tr>
<tr class="separator:a75d7b85e68a7a03ec911c7acc09ddde5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmlx_1_1core_1_1_unary_primitive"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmlx_1_1core_1_1_unary_primitive')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">mlx::core::UnaryPrimitive</a></td></tr>
<tr class="memitem:a189f6d4ed369f82a4b724a29eb056d4e inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a189f6d4ed369f82a4b724a29eb056d4e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a189f6d4ed369f82a4b724a29eb056d4e">UnaryPrimitive</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>)</td></tr>
<tr class="memdesc:a189f6d4ed369f82a4b724a29eb056d4e inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">An abstract base class for a primitive with a single output. <br /></td></tr>
<tr class="separator:a189f6d4ed369f82a4b724a29eb056d4e inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0ed6e32c36200a3ff9bc592c9b300db inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_aa0ed6e32c36200a3ff9bc592c9b300db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#aa0ed6e32c36200a3ff9bc592c9b300db">eval_cpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;outputs) override</td></tr>
<tr class="memdesc:aa0ed6e32c36200a3ff9bc592c9b300db inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">A primitive must know how to evaluate itself on the CPU/GPU for the given inputs and populate the output arrays. <br /></td></tr>
<tr class="separator:aa0ed6e32c36200a3ff9bc592c9b300db inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a971fe9ad47f6569118879ce1d0f41447 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a971fe9ad47f6569118879ce1d0f41447"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a971fe9ad47f6569118879ce1d0f41447">eval_gpu</a> (const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;inputs, std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;outputs) override</td></tr>
<tr class="separator:a971fe9ad47f6569118879ce1d0f41447 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0677ab99a5ca660ed6ab7902ea364de inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_ac0677ab99a5ca660ed6ab7902ea364de"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#ac0677ab99a5ca660ed6ab7902ea364de">~UnaryPrimitive</a> ()=default</td></tr>
<tr class="separator:ac0677ab99a5ca660ed6ab7902ea364de inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9935cffc4f246d3d883bc3d26c5163f2 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a9935cffc4f246d3d883bc3d26c5163f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a9935cffc4f246d3d883bc3d26c5163f2">UnaryPrimitive</a> (const <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;other)=delete</td></tr>
<tr class="separator:a9935cffc4f246d3d883bc3d26c5163f2 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a780281fb04e2daf1be630c124bd605e3 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a780281fb04e2daf1be630c124bd605e3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a780281fb04e2daf1be630c124bd605e3">UnaryPrimitive</a> (<a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;&amp;other)=delete</td></tr>
<tr class="separator:a780281fb04e2daf1be630c124bd605e3 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a859309a4f192f2679e07f2e4ff4d22 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_a0a859309a4f192f2679e07f2e4ff4d22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a0a859309a4f192f2679e07f2e4ff4d22">operator=</a> (const <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;other)=delete</td></tr>
<tr class="separator:a0a859309a4f192f2679e07f2e4ff4d22 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab90b2ea80f1d914be03cf44def5db5a5 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive" id="r_ab90b2ea80f1d914be03cf44def5db5a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#ab90b2ea80f1d914be03cf44def5db5a5">operator=</a> (<a class="el" href="classmlx_1_1core_1_1_unary_primitive.html">UnaryPrimitive</a> &amp;&amp;other)=delete</td></tr>
<tr class="separator:ab90b2ea80f1d914be03cf44def5db5a5 inherit pub_methods_classmlx_1_1core_1_1_unary_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classmlx_1_1core_1_1_primitive"><td colspan="2" onclick="javascript:dynsection.toggleInherit('pub_methods_classmlx_1_1core_1_1_primitive')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></td></tr>
<tr class="memitem:afc69f22ee1f6e8a9ecc2c3a8f43b8fdb inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_afc69f22ee1f6e8a9ecc2c3a8f43b8fdb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#afc69f22ee1f6e8a9ecc2c3a8f43b8fdb">Primitive</a> (<a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> <a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a>)</td></tr>
<tr class="separator:afc69f22ee1f6e8a9ecc2c3a8f43b8fdb inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ae61e3289c4134232a69295268f8261 inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a8ae61e3289c4134232a69295268f8261"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmlx_1_1core_1_1_device.html">Device</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a8ae61e3289c4134232a69295268f8261">device</a> ()</td></tr>
<tr class="memdesc:a8ae61e3289c4134232a69295268f8261 inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">The device the primitive will run on. <br /></td></tr>
<tr class="separator:a8ae61e3289c4134232a69295268f8261 inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46e6257397a662528f9f831842ac456a inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a46e6257397a662528f9f831842ac456a"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a46e6257397a662528f9f831842ac456a">stream</a> ()</td></tr>
<tr class="memdesc:a46e6257397a662528f9f831842ac456a inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="mdescLeft">&#160;</td><td class="mdescRight">The stream the primitive will run on. <br /></td></tr>
<tr class="separator:a46e6257397a662528f9f831842ac456a inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29f70eb2d3b7e6c5fe52779c03f03777 inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a29f70eb2d3b7e6c5fe52779c03f03777"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a29f70eb2d3b7e6c5fe52779c03f03777">~Primitive</a> ()=default</td></tr>
<tr class="separator:a29f70eb2d3b7e6c5fe52779c03f03777 inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3349f745fae50ca7627f79a731a19e32 inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a3349f745fae50ca7627f79a731a19e32"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a3349f745fae50ca7627f79a731a19e32">Primitive</a> (const <a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;other)=delete</td></tr>
<tr class="separator:a3349f745fae50ca7627f79a731a19e32 inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a342da891b9882bdee9a0e0c1ac826eda inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a342da891b9882bdee9a0e0c1ac826eda"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a342da891b9882bdee9a0e0c1ac826eda">Primitive</a> (<a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;&amp;other)=delete</td></tr>
<tr class="separator:a342da891b9882bdee9a0e0c1ac826eda inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b1be7ea92f3a7bb19875c70259dad6b inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a6b1be7ea92f3a7bb19875c70259dad6b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a6b1be7ea92f3a7bb19875c70259dad6b">operator=</a> (const <a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;other)=delete</td></tr>
<tr class="separator:a6b1be7ea92f3a7bb19875c70259dad6b inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50bbddd43e1ba0cf5f127cd7aa756a9e inherit pub_methods_classmlx_1_1core_1_1_primitive" id="r_a50bbddd43e1ba0cf5f127cd7aa756a9e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_primitive.html#a50bbddd43e1ba0cf5f127cd7aa756a9e">operator=</a> (<a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;&amp;other)=delete</td></tr>
<tr class="separator:a50bbddd43e1ba0cf5f127cd7aa756a9e inherit pub_methods_classmlx_1_1core_1_1_primitive"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="acd4480e3f0834d70ff6b5f1ecef17892" name="acd4480e3f0834d70ff6b5f1ecef17892"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd4480e3f0834d70ff6b5f1ecef17892">&#9670;&#160;</a></span>Real()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">mlx::core::Real::Real </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a></td> <td class="paramname"><span class="paramname"><em>stream</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a365d046caac91b521f0f5a5518037934" name="a365d046caac91b521f0f5a5518037934"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a365d046caac91b521f0f5a5518037934">&#9670;&#160;</a></span>eval_cpu()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mlx::core::Real::eval_cpu </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>inputs</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;</td> <td class="paramname"><span class="paramname"><em>out</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a7e8f6f5d6ae0a33f6abc0f5a46e0b132">mlx::core::UnaryPrimitive</a>.</p>
</div>
</div>
<a id="a1e209e88a43bdd1eea43ad0b03f9a7f2" name="a1e209e88a43bdd1eea43ad0b03f9a7f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1e209e88a43bdd1eea43ad0b03f9a7f2">&#9670;&#160;</a></span>eval_gpu()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mlx::core::Real::eval_gpu </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>inputs</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;</td> <td class="paramname"><span class="paramname"><em>out</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Implements <a class="el" href="classmlx_1_1core_1_1_unary_primitive.html#a6b7f80abaf038d53ec6ffbb0dfac6adb">mlx::core::UnaryPrimitive</a>.</p>
</div>
</div>
<a id="a6d9bed396862a9e9d6abfbdcd8d8d239" name="a6d9bed396862a9e9d6abfbdcd8d8d239"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d9bed396862a9e9d6abfbdcd8d8d239">&#9670;&#160;</a></span>is_equivalent()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool mlx::core::Real::is_equivalent </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlx_1_1core_1_1_primitive.html">Primitive</a> &amp;</td> <td class="paramname"><span class="paramname"><em>other</em></span></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Equivalence check defaults to false unless overridden by the primitive. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#a6140a502af4c2bbbc776ab26e9afebcd">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="adff418a54970e2344bd3c2885aae5526" name="adff418a54970e2344bd3c2885aae5526"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adff418a54970e2344bd3c2885aae5526">&#9670;&#160;</a></span>jvp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; mlx::core::Real::jvp </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>primals</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>tangents</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>argnums</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The Jacobian-vector product. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#a9fecf38f53da08ba1947543c2b3158c2">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="a75d7b85e68a7a03ec911c7acc09ddde5" name="a75d7b85e68a7a03ec911c7acc09ddde5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75d7b85e68a7a03ec911c7acc09ddde5">&#9670;&#160;</a></span>output_shapes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; std::vector&lt; int &gt; &gt; mlx::core::Real::output_shapes </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>inputs</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the output shapes of the primitive. </p>
<p>This is not required to be implemented by derived classes, in which case it will throw. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#a8849dc20991398f6f9a24d6785673853">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="a740a0dfb54c2a4467a0a59f11fe69e1b" name="a740a0dfb54c2a4467a0a59f11fe69e1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a740a0dfb54c2a4467a0a59f11fe69e1b">&#9670;&#160;</a></span>print()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void mlx::core::Real::print </td>
<td>(</td>
<td class="paramtype">std::ostream &amp;</td> <td class="paramname"><span class="paramname"><em>os</em></span></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Print the primitive. </p>
<p>Implements <a class="el" href="classmlx_1_1core_1_1_primitive.html#ae1aff91354ce036596088a3e19474ecb">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="a29f6109339c5141a862ceae72c8b80fe" name="a29f6109339c5141a862ceae72c8b80fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29f6109339c5141a862ceae72c8b80fe">&#9670;&#160;</a></span>vjp()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; mlx::core::Real::vjp </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>primals</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>cotangents</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>argnums</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>outputs</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The vector-Jacobian product. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#a1dcb6807326eeab62474c6a0e3836d42">mlx::core::Primitive</a>.</p>
</div>
</div>
<a id="a07fbbefb6a1bc1ebd3985b24c36693b6" name="a07fbbefb6a1bc1ebd3985b24c36693b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07fbbefb6a1bc1ebd3985b24c36693b6">&#9670;&#160;</a></span>vmap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual std::pair&lt; std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt;, std::vector&lt; int &gt; &gt; mlx::core::Real::vmap </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>inputs</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::vector&lt; int &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>axes</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>The primitive must know how to vectorize itself across the given axes. </p>
<p>The output is a pair containing the output arrays representing the vectorized computation and the axes which corresponds to the vectorized dimensions of each output. </p>
<p>Reimplemented from <a class="el" href="classmlx_1_1core_1_1_primitive.html#ac632b9619dd7a6a0f177bd36202e8103">mlx::core::Primitive</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>mlx/<a class="el" href="primitives_8h_source.html">primitives.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 866 B

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -117,26 +117,26 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> }</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span>}</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Op&gt;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keywordtype">void</span> unary_op(<span class="keyword">const</span> T* a, T* out, Op <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>, <span class="keywordtype">size_t</span> shape, <span class="keywordtype">size_t</span> stride) {</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U = T, <span class="keyword">typename</span> Op&gt;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="keywordtype">void</span> unary_op(<span class="keyword">const</span> T* a, U* out, Op <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>, <span class="keywordtype">size_t</span> shape, <span class="keywordtype">size_t</span> stride) {</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; shape; i += 1) {</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> out[i] = <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>(*a);</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> a += stride;</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> }</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>}</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Op&gt;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U = T, <span class="keyword">typename</span> Op&gt;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="keywordtype">void</span> unary_op(<span class="keyword">const</span> array&amp; a, array&amp; out, Op <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>) {</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">const</span> T* a_ptr = a.data&lt;T&gt;();</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">if</span> (a.flags().contiguous) {</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> set_unary_output_data(a, out);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> T* dst = out.data&lt;T&gt;();</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> U* dst = out.data&lt;U&gt;();</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; a.data_size(); ++i) {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> dst[i] = <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>(a_ptr[i]);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> }</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> out.set_data(<a class="code hl_function" href="namespacemlx_1_1core_1_1allocator.html#a86ac0a11ff78f21e717f641716c34abc">allocator::malloc_or_wait</a>(out.nbytes()));</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> T* dst = out.data&lt;T&gt;();</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> U* dst = out.data&lt;U&gt;();</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordtype">size_t</span> shape = a.ndim() &gt; 0 ? a.shape(-1) : 1;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordtype">size_t</span> stride = a.ndim() &gt; 0 ? a.strides(-1) : 1;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">if</span> (a.ndim() &lt;= 1) {</div>

View File

@ -176,7 +176,7 @@ $(function(){ initResizable(false); });
<div class="ttc" id="aclassmlx_1_1core_1_1_broadcast_html"><div class="ttname"><a href="classmlx_1_1core_1_1_broadcast.html">mlx::core::Broadcast</a></div><div class="ttdef"><b>Definition</b> primitives.h:528</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1_copy_html"><div class="ttname"><a href="classmlx_1_1core_1_1_copy.html">mlx::core::Copy</a></div><div class="ttdef"><b>Definition</b> primitives.h:683</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1_primitive_html"><div class="ttname"><a href="classmlx_1_1core_1_1_primitive.html">mlx::core::Primitive</a></div><div class="ttdef"><b>Definition</b> primitives.h:48</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1_stop_gradient_html"><div class="ttname"><a href="classmlx_1_1core_1_1_stop_gradient.html">mlx::core::StopGradient</a></div><div class="ttdef"><b>Definition</b> primitives.h:1987</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1_stop_gradient_html"><div class="ttname"><a href="classmlx_1_1core_1_1_stop_gradient.html">mlx::core::StopGradient</a></div><div class="ttdef"><b>Definition</b> primitives.h:2015</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="aclassmlx_1_1core_1_1array_html_a53006e77d13d9d88b525ef577748939f"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#a53006e77d13d9d88b525ef577748939f">mlx::core::array::ndim</a></div><div class="ttdeci">size_t ndim() const</div><div class="ttdoc">The number of dimensions of the array.</div><div class="ttdef"><b>Definition</b> array.h:94</div></div>
<div class="ttc" id="aclassmlx_1_1core_1_1array_html_a90c5afddc2fa3028c0f8099bd64c8a99"><div class="ttname"><a href="classmlx_1_1core_1_1array.html#a90c5afddc2fa3028c0f8099bd64c8a99">mlx::core::array::item</a></div><div class="ttdeci">T item()</div><div class="ttdoc">Get the value from a scalar array.</div><div class="ttdef"><b>Definition</b> array.h:535</div></div>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Operations &#8212; MLX 0.18.1 documentation</title>
<title>Operations &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>
@ -1168,6 +1170,8 @@ document.write(`
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44rollRK5arrayiRKNSt6vectorIiEE14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">roll()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44rollRK5arrayRKNSt6vectorIiEEi14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">roll()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">roll()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44realRK5array14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">real()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44imagRK5array14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">imag()</span></code></a></li>
</ul>
</nav>
</div>
@ -2967,6 +2971,16 @@ document.write(`
<span id="_CPPv34rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice"></span><span id="_CPPv24rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice"></span><span id="roll__arrayCR.std::vector:i:CR.std::vector:i:CR.StreamOrDevice"></span><span class="target" id="group__ops_1ga6c6fe942a8f7c573a1cb2342566f74d2"></span><span class="n"><span class="pre">array</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">roll</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">a</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4StRK5arraybi14StreamOrDevice" title="std"><span class="n"><span class="pre">std</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">shift</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4StRK5arraybi14StreamOrDevice" title="std"><span class="n"><span class="pre">std</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">axes</span></span>, <span class="n"><span class="pre">StreamOrDevice</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">s</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice" title="Link to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv44realRK5array14StreamOrDevice">
<span id="_CPPv34realRK5array14StreamOrDevice"></span><span id="_CPPv24realRK5array14StreamOrDevice"></span><span id="real__arrayCR.StreamOrDevice"></span><span class="target" id="group__ops_1gaf8913cabeb9fb193ba687aaeb2087764"></span><span class="n"><span class="pre">array</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">real</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">a</span></span>, <span class="n"><span class="pre">StreamOrDevice</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">s</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv44realRK5array14StreamOrDevice" title="Link to this definition">#</a><br /></dt>
<dd></dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv44imagRK5array14StreamOrDevice">
<span id="_CPPv34imagRK5array14StreamOrDevice"></span><span id="_CPPv24imagRK5array14StreamOrDevice"></span><span id="imag__arrayCR.StreamOrDevice"></span><span class="target" id="group__ops_1ga7ff592a64d528f0cf4f3d098465da029"></span><span class="n"><span class="pre">array</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">imag</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">array</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">a</span></span>, <span class="n"><span class="pre">StreamOrDevice</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">s</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="p"><span class="pre">{</span></span><span class="p"><span class="pre">}</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv44imagRK5array14StreamOrDevice" title="Link to this definition">#</a><br /></dt>
<dd></dd></dl>
</section>
@ -3320,6 +3334,8 @@ document.write(`
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44rollRK5arrayiRKNSt6vectorIiEE14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">roll()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44rollRK5arrayRKNSt6vectorIiEEi14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">roll()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44rollRK5arrayRKNSt6vectorIiEERKNSt6vectorIiEE14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">roll()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44realRK5array14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">real()</span></code></a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#_CPPv44imagRK5array14StreamOrDevice"><code class="docutils literal notranslate"><span class="pre">imag()</span></code></a></li>
</ul>
</nav></div>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Custom Metal Kernels &#8212; MLX 0.18.1 documentation</title>
<title>Custom Metal Kernels &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -135,8 +135,8 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -324,6 +324,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -369,6 +370,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Custom Extensions in MLX &#8212; MLX 0.18.1 documentation</title>
<title>Custom Extensions in MLX &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Metal Debugger &#8212; MLX 0.18.1 documentation</title>
<title>Metal Debugger &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -149,6 +149,8 @@ Files</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="scatter_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scatter_8h.html">scatter.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="sdpa__vector_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdpa__vector_8h.html">sdpa_vector.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="kernels_2softmax_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="kernels_2softmax_8h.html">softmax.h</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top"><a href="sort_8h_source.html"><span class="icondoc"></span></a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sort_8h.html">sort.h</a></td></tr>

View File

@ -57,6 +57,7 @@
<a href="jit_2scan_8h_source.html"/>
<a href="kernels_2scan_8h_source.html"/>
<a href="scatter_8h_source.html"/>
<a href="sdpa__vector_8h_source.html"/>
<a href="jit_2softmax_8h_source.html"/>
<a href="kernels_2softmax_8h_source.html"/>
<a href="sort_8h_source.html"/>
@ -185,6 +186,7 @@
<a href="jit_2scan_8h.html"/>
<a href="kernels_2scan_8h.html"/>
<a href="scatter_8h.html"/>
<a href="sdpa__vector_8h.html"/>
<a href="jit_2softmax_8h.html"/>
<a href="kernels_2softmax_8h.html"/>
<a href="sort_8h.html"/>
@ -345,6 +347,8 @@
<a href="struct_greater-members.html"/>
<a href="struct_greater_equal.html"/>
<a href="struct_greater_equal-members.html"/>
<a href="struct_imag.html"/>
<a href="struct_imag-members.html"/>
<a href="struct_indices.html"/>
<a href="struct_indices-members.html"/>
<a href="struct_kernel_merge_sort.html"/>
@ -444,6 +448,8 @@
<a href="struct_quantized_block_loader-members.html"/>
<a href="struct_read_writer.html"/>
<a href="struct_read_writer-members.html"/>
<a href="struct_real.html"/>
<a href="struct_real-members.html"/>
<a href="struct_remainder.html"/>
<a href="struct_remainder-members.html"/>
<a href="struct_right_shift.html"/>
@ -606,6 +612,8 @@
<a href="classmlx_1_1core_1_1_greater_equal-members.html"/>
<a href="classmlx_1_1core_1_1_hadamard.html"/>
<a href="classmlx_1_1core_1_1_hadamard-members.html"/>
<a href="classmlx_1_1core_1_1_imag.html"/>
<a href="classmlx_1_1core_1_1_imag-members.html"/>
<a href="classmlx_1_1core_1_1_inverse.html"/>
<a href="classmlx_1_1core_1_1_inverse-members.html"/>
<a href="classmlx_1_1core_1_1_less.html"/>
@ -658,6 +666,8 @@
<a href="classmlx_1_1core_1_1_quantized_matmul-members.html"/>
<a href="classmlx_1_1core_1_1_random_bits.html"/>
<a href="classmlx_1_1core_1_1_random_bits-members.html"/>
<a href="classmlx_1_1core_1_1_real.html"/>
<a href="classmlx_1_1core_1_1_real-members.html"/>
<a href="classmlx_1_1core_1_1_reduce.html"/>
<a href="classmlx_1_1core_1_1_reduce-members.html"/>
<a href="structmlx_1_1core_1_1_reduction_plan.html"/>
@ -778,6 +788,8 @@
<a href="structmlx_1_1core_1_1detail_1_1_greater-members.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_greater_equal.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_greater_equal-members.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_imag.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_imag-members.html"/>
<a href="unionmlx_1_1core_1_1detail_1_1_int_or_float.html"/>
<a href="unionmlx_1_1core_1_1detail_1_1_int_or_float-members.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_in_tracing.html"/>
@ -818,6 +830,8 @@
<a href="structmlx_1_1core_1_1detail_1_1_not_equal-members.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_power.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_power-members.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_real.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_real-members.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_remainder.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_remainder-members.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_retain_graph.html"/>
@ -1791,10 +1805,10 @@
<a href="backend_2metal_2kernels_2utils_8h.html#ad6c45cacca97899cd362df49c06fea79"/>
<a href="backend_2metal_2kernels_2utils_8h.html#ad9a671a5f9aaa729ae7a77026f16bcb0"/>
<a href="backend_2metal_2utils_8h.html"/>
<a href="backend_2metal_2utils_8h.html#a0f0f59d3ffe2d16a684e5fc093302e15"/>
<a href="backend_2metal_2utils_8h.html#a489e45b3a5cd8b46e8ea56b9132eb230"/>
<a href="backend_2metal_2utils_8h.html#a62340bbaa8b216539688a60adcb568bf"/>
<a href="backend_2metal_2utils_8h.html#a79817d2432e782e596c9c49a08b93be2"/>
<a href="backend_2metal_2utils_8h.html#a7b3f872f6046bdd4d429ee1f1c31cd40"/>
<a href="backend_2metal_2utils_8h.html#a8dc169474a51a1f4f761d5752819bd7c"/>
<a href="backend_2metal_2utils_8h.html#ad4be35b310a252edd80d9cf04f094a60"/>
<a href="backend_2metal_2utils_8h.html#ae309cb543dfb0239cfccc53a8ad0408e"/>
@ -2428,6 +2442,16 @@
<a href="classmlx_1_1core_1_1_hadamard.html#ab27d6a9df42b3aab41ace3073a4c880d"/>
<a href="classmlx_1_1core_1_1_hadamard.html#abe4a0ed820b126940beec519d4239923"/>
<a href="classmlx_1_1core_1_1_hadamard.html#af4134775427b8998d66f489468b98656"/>
<a href="classmlx_1_1core_1_1_imag.html"/>
<a href="classmlx_1_1core_1_1_imag.html#a0c8d48e2a1474d80a314ea9b96dbaa8d"/>
<a href="classmlx_1_1core_1_1_imag.html#a17d1f1f9f8528668fcdf39b636720829"/>
<a href="classmlx_1_1core_1_1_imag.html#a247a4d059b0a99678c6be8c15e42c1e6"/>
<a href="classmlx_1_1core_1_1_imag.html#a284b7de34a316110fdc98e7b753372b2"/>
<a href="classmlx_1_1core_1_1_imag.html#a51c15ae82855edebba2ba779516465f5"/>
<a href="classmlx_1_1core_1_1_imag.html#a80da5fdd0fa549eebd7804c0e261848b"/>
<a href="classmlx_1_1core_1_1_imag.html#ab396ef74748abd3d4121ffee33a08d48"/>
<a href="classmlx_1_1core_1_1_imag.html#ac01c5ed9b886983450ed9f049ddac55a"/>
<a href="classmlx_1_1core_1_1_imag.html#ace9906672bd88df0573653883d58ecb3"/>
<a href="classmlx_1_1core_1_1_inverse.html"/>
<a href="classmlx_1_1core_1_1_inverse.html#a086fbbc947ad232e01686ad063a78ed2"/>
<a href="classmlx_1_1core_1_1_inverse.html#a543f18f1ce5c06c897141091e95a66e9"/>
@ -2655,6 +2679,16 @@
<a href="classmlx_1_1core_1_1_random_bits.html#a72ec915debf5823e7c0463045b2894e6"/>
<a href="classmlx_1_1core_1_1_random_bits.html#a7dd5ed03f2a4ab45d1d5e8e2b587de6b"/>
<a href="classmlx_1_1core_1_1_random_bits.html#a8a5593c34fd868d94b36a8ced1390271"/>
<a href="classmlx_1_1core_1_1_real.html"/>
<a href="classmlx_1_1core_1_1_real.html#a07fbbefb6a1bc1ebd3985b24c36693b6"/>
<a href="classmlx_1_1core_1_1_real.html#a1e209e88a43bdd1eea43ad0b03f9a7f2"/>
<a href="classmlx_1_1core_1_1_real.html#a29f6109339c5141a862ceae72c8b80fe"/>
<a href="classmlx_1_1core_1_1_real.html#a365d046caac91b521f0f5a5518037934"/>
<a href="classmlx_1_1core_1_1_real.html#a6d9bed396862a9e9d6abfbdcd8d8d239"/>
<a href="classmlx_1_1core_1_1_real.html#a740a0dfb54c2a4467a0a59f11fe69e1b"/>
<a href="classmlx_1_1core_1_1_real.html#a75d7b85e68a7a03ec911c7acc09ddde5"/>
<a href="classmlx_1_1core_1_1_real.html#acd4480e3f0834d70ff6b5f1ecef17892"/>
<a href="classmlx_1_1core_1_1_real.html#adff418a54970e2344bd3c2885aae5526"/>
<a href="classmlx_1_1core_1_1_reduce.html"/>
<a href="classmlx_1_1core_1_1_reduce.html#a055368c1d036fb953a23ef230e33dcbf"/>
<a href="classmlx_1_1core_1_1_reduce.html#a0848518b16ae6d4043d6be247bdf31c9"/>
@ -3970,6 +4004,7 @@
<a href="group__ops.html#ga7f649970bf38b987b6ef847054f3c2f8"/>
<a href="group__ops.html#ga7fb616054665b3c2d61fa234f501f079"/>
<a href="group__ops.html#ga7fed87d96cc7741d8267f4eac83f5fe7"/>
<a href="group__ops.html#ga7ff592a64d528f0cf4f3d098465da029"/>
<a href="group__ops.html#ga81c2f138ea81d78affd42e9a646cacbc"/>
<a href="group__ops.html#ga82216209dce901296fc737fe8efa5c94"/>
<a href="group__ops.html#ga82a53e083205a965387b3c3e2463244a"/>
@ -4099,6 +4134,7 @@
<a href="group__ops.html#gaf66dc3c77b88e4009e0678eda41eca81"/>
<a href="group__ops.html#gaf79cf0271ca0105d7b14295a90d0ed14"/>
<a href="group__ops.html#gaf83c53c453faa9083ba27e4b97539339"/>
<a href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764"/>
<a href="group__ops.html#gaf8f2ec2b98a4b59eca73d7471df6e032"/>
<a href="group__ops.html#gaf985df6609c6bd75a14a844655d89eaa"/>
<a href="group__ops.html#gafa0eb25d5978674bfc9e59d4145ec590"/>
@ -4202,7 +4238,6 @@
<a href="kernels_2steel_2conv_2kernels_2steel__conv_8h.html#a5728711d1c2ee4038457babb7ac12888"/>
<a href="kernels_8h.html"/>
<a href="kernels_8h.html#a05a220cff45f12439fde775983c6df78"/>
<a href="kernels_8h.html#a15175e8e2b1e26726c63393e4d68b628"/>
<a href="kernels_8h.html#a195b86cad5bb99aa1bcd23952305af6b"/>
<a href="kernels_8h.html#a1d4cffc3c78067b3d9a62d64f3fb686f"/>
<a href="kernels_8h.html#a35a412f688d79eb47e42d20a7c8650ee"/>
@ -4223,6 +4258,7 @@
<a href="kernels_8h.html#aeefaff208444d3fa61ecc0946fe1de5f"/>
<a href="kernels_8h.html#af48c6f2f72b61dbd6766e4f5fea85df5"/>
<a href="kernels_8h.html#afb57825bb763050cc9a9d194aa41ac36"/>
<a href="kernels_8h.html#afbb085188b563a54606d84f87a9bf5a6"/>
<a href="lapack__helper_8h.html"/>
<a href="lapack__helper_8h.html#ae22db9704827bf013a0a61f21a47464b"/>
<a href="linalg_8h.html"/>
@ -4312,9 +4348,9 @@
<a href="metal_2kernels_2ternary_8h.html#adf8b5989de971e43829875dc0097cdfb"/>
<a href="metal_2kernels_2ternary_8h.html#afdf0d9d0cb21fcb3f176500785076af8"/>
<a href="metal_2kernels_2unary_8h.html"/>
<a href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263"/>
<a href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd"/>
<a href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb"/>
<a href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014"/>
<a href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777"/>
<a href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5"/>
<a href="metal_2reduce_8h.html"/>
<a href="metal_2reduce_8h.html#aa0332c64ee9965f05026c30a0b778000"/>
<a href="metal_2reduce_8h.html#ab1eeca8ec6fa31819ee108fa6ed2c41b"/>
@ -4624,6 +4660,7 @@
<a href="namespacemlx_1_1core.html#a0cc824d6318f97f7058918ab64ddfc25"/>
<a href="namespacemlx_1_1core.html#a0d42d6c1d5f77a96e2f296b8ebd79ee6"/>
<a href="namespacemlx_1_1core.html#a0dd3893abc8986901872c8365ab1509d"/>
<a href="namespacemlx_1_1core.html#a0f0f59d3ffe2d16a684e5fc093302e15"/>
<a href="namespacemlx_1_1core.html#a0fdadf87edd8a0a57c63953fb0ebe053"/>
<a href="namespacemlx_1_1core.html#a0fefc3ae4f1350ebe05ec6098fd6bae3"/>
<a href="namespacemlx_1_1core.html#a113d2bac7e4aa6a4cb4a5c3242527b82"/>
@ -4640,7 +4677,6 @@
<a href="namespacemlx_1_1core.html#a14287949d82ffefad0306cef5eb5f9e4"/>
<a href="namespacemlx_1_1core.html#a14c188303d09b97867bcfd34519aa4a6"/>
<a href="namespacemlx_1_1core.html#a14e6c43b924eacca1b2dac1d5d00ca2b"/>
<a href="namespacemlx_1_1core.html#a15175e8e2b1e26726c63393e4d68b628"/>
<a href="namespacemlx_1_1core.html#a15dda19aa7fa1fc5fca35df5cf963297"/>
<a href="namespacemlx_1_1core.html#a15eb2ea76508ff823fa0591e811d0b7d"/>
<a href="namespacemlx_1_1core.html#a164f109bc19c927b2b3bcc47a5021419"/>
@ -4859,7 +4895,6 @@
<a href="namespacemlx_1_1core.html#a79817d2432e782e596c9c49a08b93be2"/>
<a href="namespacemlx_1_1core.html#a7a4193f37b1de9c33c31d1da09c77edb"/>
<a href="namespacemlx_1_1core.html#a7aa91fcfe8b9caa42d60a957f11bfe6b"/>
<a href="namespacemlx_1_1core.html#a7b3f872f6046bdd4d429ee1f1c31cd40"/>
<a href="namespacemlx_1_1core.html#a7b763db8194e6fcb1b87eab143dfa47a"/>
<a href="namespacemlx_1_1core.html#a7b987f404b8699de00f9e0099ab6b1b0"/>
<a href="namespacemlx_1_1core.html#a7bae3ff296d9a60ff3c7e448f7fbc6bd"/>
@ -5156,6 +5191,7 @@
<a href="namespacemlx_1_1core.html#afb57825bb763050cc9a9d194aa41ac36"/>
<a href="namespacemlx_1_1core.html#afb784b960f55aeb4edd7f567fa74d443"/>
<a href="namespacemlx_1_1core.html#afb9f780dd056a4f975518f71a3b021ee"/>
<a href="namespacemlx_1_1core.html#afbb085188b563a54606d84f87a9bf5a6"/>
<a href="namespacemlx_1_1core.html#afbd2769c30e721afc85a7b9fb55b8e52"/>
<a href="namespacemlx_1_1core.html#afc9a87f1fccbac05242b91bfbb35c24d"/>
<a href="namespacemlx_1_1core.html#afd4170c1e364384f30e6bae341146fa6"/>
@ -5560,6 +5596,7 @@
<a href="ops_8h.html#ga7f649970bf38b987b6ef847054f3c2f8"/>
<a href="ops_8h.html#ga7fb616054665b3c2d61fa234f501f079"/>
<a href="ops_8h.html#ga7fed87d96cc7741d8267f4eac83f5fe7"/>
<a href="ops_8h.html#ga7ff592a64d528f0cf4f3d098465da029"/>
<a href="ops_8h.html#ga81c2f138ea81d78affd42e9a646cacbc"/>
<a href="ops_8h.html#ga82216209dce901296fc737fe8efa5c94"/>
<a href="ops_8h.html#ga82a53e083205a965387b3c3e2463244a"/>
@ -5689,6 +5726,7 @@
<a href="ops_8h.html#gaf66dc3c77b88e4009e0678eda41eca81"/>
<a href="ops_8h.html#gaf79cf0271ca0105d7b14295a90d0ed14"/>
<a href="ops_8h.html#gaf83c53c453faa9083ba27e4b97539339"/>
<a href="ops_8h.html#gaf8913cabeb9fb193ba687aaeb2087764"/>
<a href="ops_8h.html#gaf8f2ec2b98a4b59eca73d7471df6e032"/>
<a href="ops_8h.html#gaf985df6609c6bd75a14a844655d89eaa"/>
<a href="ops_8h.html#gafa0eb25d5978674bfc9e59d4145ec590"/>
@ -5880,6 +5918,8 @@
<a href="scheduler_8h.html#a9bf641981df5fc16b0fb0dbacc0c3afd"/>
<a href="scheduler_8h.html#aa2d4eacf5d5cbc778a51aafd4fd8e4d7"/>
<a href="scheduler_8h.html#ae856e468c2f7c8f8ec672522cc13730b"/>
<a href="sdpa__vector_8h.html"/>
<a href="sdpa__vector_8h.html#a6f0d7918430064bab910bdaa6c64e927"/>
<a href="sort_8h.html"/>
<a href="sort_8h.html#a0386011c52d03e60885a31e6fbd903dd"/>
<a href="sort_8h.html#a32cbe4163b8b0f5cb2c97b256119a4b2"/>
@ -6090,6 +6130,8 @@
<a href="struct_greater.html#a98d7d8ee360cd0f469c6eb9a017560f5"/>
<a href="struct_greater_equal.html"/>
<a href="struct_greater_equal.html#ae69a3bccc567a46506cf0d296294ce80"/>
<a href="struct_imag.html"/>
<a href="struct_imag.html#a3b29e9f8a46c194d683f6a9938314400"/>
<a href="struct_indices.html"/>
<a href="struct_indices.html#a5ab170f1a77636180889ddfffd4f7d2f"/>
<a href="struct_indices.html#a7dec359e91d0eb2b64e5461b54308313"/>
@ -6332,6 +6374,8 @@
<a href="struct_read_writer.html#add5bd3f647793a5a19d63197a19df73c"/>
<a href="struct_read_writer.html#ae1f0d3555b74998cc2d2288bce72a1f4"/>
<a href="struct_read_writer.html#af3ce6bbb1a8dfb3bab1ae18d3eb45bc0"/>
<a href="struct_real.html"/>
<a href="struct_real.html#a85b9c5b9e65297994fa26ff68e19e809"/>
<a href="struct_remainder.html"/>
<a href="struct_remainder.html#a18150b5f4425e30b95ffabc6bb25cede"/>
<a href="struct_remainder.html#ab3b75f54b56fd357c9755daadb2cafc2"/>
@ -6637,6 +6681,8 @@
<a href="structmlx_1_1core_1_1detail_1_1_greater.html#aa3844c2bae3c7a981739f642aa0dd094"/>
<a href="structmlx_1_1core_1_1detail_1_1_greater_equal.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_greater_equal.html#a3b005f85522ad0e4b57044eed930ac30"/>
<a href="structmlx_1_1core_1_1detail_1_1_imag.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_imag.html#a5bd82e2185f3779e398c179d42a3e782"/>
<a href="structmlx_1_1core_1_1detail_1_1_in_tracing.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_in_tracing.html#a7a77f19391498afa5dcea3509d241a70"/>
<a href="structmlx_1_1core_1_1detail_1_1_in_tracing.html#a83d57d7fa63bcb0ff72080191d0f177a"/>
@ -6680,6 +6726,8 @@
<a href="structmlx_1_1core_1_1detail_1_1_power.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_power.html#a2c047e1b488e6525447a224975a75db8"/>
<a href="structmlx_1_1core_1_1detail_1_1_power.html#a9967db24b8f67d54b6aa3810e274f28c"/>
<a href="structmlx_1_1core_1_1detail_1_1_real.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_real.html#ae84a939fdb5916257a7731cda66d4d61"/>
<a href="structmlx_1_1core_1_1detail_1_1_remainder.html"/>
<a href="structmlx_1_1core_1_1detail_1_1_remainder.html#a0b0dd6ef5b08585fdf8355770da8d747"/>
<a href="structmlx_1_1core_1_1detail_1_1_remainder.html#a3bdaf1095ad883ecc0fecc455f02cbf3"/>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Linear Regression &#8212; MLX 0.18.1 documentation</title>
<title>Linear Regression &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>LLM inference &#8212; MLX 0.18.1 documentation</title>
<title>LLM inference &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Multi-Layer Perceptron &#8212; MLX 0.18.1 documentation</title>
<title>Multi-Layer Perceptron &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -179,13 +179,14 @@ $(function(){ initResizable(false); });
<tr id="row_0_1_2_1_23_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="scaled__dot__product__attention__params_8h_source.html"><span class="icondoc"></span></a><a class="el" href="scaled__dot__product__attention__params_8h.html" target="_self">scaled_dot_product_attention_params.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_24_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="kernels_2scan_8h_source.html"><span class="icondoc"></span></a><a class="el" href="kernels_2scan_8h.html" target="_self">scan.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_25_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="scatter_8h_source.html"><span class="icondoc"></span></a><a class="el" href="scatter_8h.html" target="_self">scatter.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_26_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="kernels_2softmax_8h_source.html"><span class="icondoc"></span></a><a class="el" href="kernels_2softmax_8h.html" target="_self">softmax.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_27_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="sort_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sort_8h.html" target="_self">sort.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_28_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="metal_2kernels_2ternary_8h_source.html"><span class="icondoc"></span></a><a class="el" href="metal_2kernels_2ternary_8h.html" target="_self">ternary.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_29_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="ternary__ops_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ternary__ops_8h.html" target="_self">ternary_ops.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_30_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="metal_2kernels_2unary_8h_source.html"><span class="icondoc"></span></a><a class="el" href="metal_2kernels_2unary_8h.html" target="_self">unary.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_31_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="unary__ops_8h_source.html"><span class="icondoc"></span></a><a class="el" href="unary__ops_8h.html" target="_self">unary_ops.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_32_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="backend_2metal_2kernels_2utils_8h_source.html"><span class="icondoc"></span></a><a class="el" href="backend_2metal_2kernels_2utils_8h.html" target="_self">utils.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_26_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="sdpa__vector_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sdpa__vector_8h.html" target="_self">sdpa_vector.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_27_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="kernels_2softmax_8h_source.html"><span class="icondoc"></span></a><a class="el" href="kernels_2softmax_8h.html" target="_self">softmax.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_28_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="sort_8h_source.html"><span class="icondoc"></span></a><a class="el" href="sort_8h.html" target="_self">sort.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_29_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="metal_2kernels_2ternary_8h_source.html"><span class="icondoc"></span></a><a class="el" href="metal_2kernels_2ternary_8h.html" target="_self">ternary.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_30_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="ternary__ops_8h_source.html"><span class="icondoc"></span></a><a class="el" href="ternary__ops_8h.html" target="_self">ternary_ops.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_31_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="metal_2kernels_2unary_8h_source.html"><span class="icondoc"></span></a><a class="el" href="metal_2kernels_2unary_8h.html" target="_self">unary.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_32_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="unary__ops_8h_source.html"><span class="icondoc"></span></a><a class="el" href="unary__ops_8h.html" target="_self">unary_ops.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_1_33_" class="even" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><a href="backend_2metal_2kernels_2utils_8h_source.html"><span class="icondoc"></span></a><a class="el" href="backend_2metal_2kernels_2utils_8h.html" target="_self">utils.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_2_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="backend_2metal_2allocator_8h_source.html"><span class="icondoc"></span></a><a class="el" href="backend_2metal_2allocator_8h.html" target="_self">allocator.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_3_" class="odd"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="metal_2binary_8h_source.html"><span class="icondoc"></span></a><a class="el" href="metal_2binary_8h.html" target="_self">binary.h</a></td><td class="desc"></td></tr>
<tr id="row_0_1_2_4_" class="even"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><a href="metal_2copy_8h_source.html"><span class="icondoc"></span></a><a class="el" href="metal_2copy_8h.html" target="_self">copy.h</a></td><td class="desc"></td></tr>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -94,6 +94,7 @@ $(function(){ initResizable(false); });
<li>raw_ptr()&#160;:&#160;<a class="el" href="classmlx_1_1core_1_1allocator_1_1_buffer.html#a2dfe63e0b4bffeb965cdc50ad4228dbc">mlx::core::allocator::Buffer</a></li>
<li>read()&#160;:&#160;<a class="el" href="classmlx_1_1core_1_1io_1_1_parallel_file_reader.html#a6691826fc8d28f83792bfa2f92660a3b">mlx::core::io::ParallelFileReader</a>, <a class="el" href="classmlx_1_1core_1_1io_1_1_reader.html#ad8d74e2c62b579511089faa4cc6f50a1">mlx::core::io::Reader</a></li>
<li>ReadWriter()&#160;:&#160;<a class="el" href="struct_read_writer.html#a1aa07e41d7ac286ad79bd26a072dfa0c">ReadWriter&lt; in_T, out_T, step, four_step_real &gt;</a></li>
<li>Real()&#160;:&#160;<a class="el" href="classmlx_1_1core_1_1_real.html#acd4480e3f0834d70ff6b5f1ecef17892">mlx::core::Real</a></li>
<li>Recv()&#160;:&#160;<a class="el" href="classmlx_1_1core_1_1distributed_1_1_recv.html#a511dd4e0259da18a181a25579d9b55db">mlx::core::distributed::Recv</a></li>
<li>Reduce()&#160;:&#160;<a class="el" href="classmlx_1_1core_1_1_reduce.html#a055368c1d036fb953a23ef230e33dcbf">mlx::core::Reduce</a></li>
<li>ReductionPlan()&#160;:&#160;<a class="el" href="structmlx_1_1core_1_1_reduction_plan.html#a3df6acc08ef92647aab19d68b0961610">mlx::core::ReductionPlan</a></li>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -100,6 +100,7 @@ $(function(){ initResizable(false); });
<li>read_iw&#160;:&#160;<a class="el" href="structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#a53a683adf280e4806363020754525261">mlx::steel::Conv2DInputBlockLoaderGeneral&lt; T, BM, BN, BK, tgp_size, tgp_padding &gt;</a>, <a class="el" href="structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#a17550360cae0a942a9552d7a67827512">mlx::steel::Conv2DInputBlockLoaderLargeFilter&lt; T, BM, BN, BK, tgp_size, tgp_padding &gt;</a>, <a class="el" href="structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#aa2a1a870ff51889975f6ffb2b8caa31c">mlx::steel::Conv2DInputBlockLoaderSmallChannels&lt; T, BM, BN, BK, tgp_size, n_channels, tgp_padding &gt;</a></li>
<li>read_n&#160;:&#160;<a class="el" href="structmlx_1_1steel_1_1_conv2_d_input_block_loader_general.html#afe5caaf38b574d3380533856c493dd92">mlx::steel::Conv2DInputBlockLoaderGeneral&lt; T, BM, BN, BK, tgp_size, tgp_padding &gt;</a>, <a class="el" href="structmlx_1_1steel_1_1_conv2_d_input_block_loader_large_filter.html#aeb67767e2d60d5ff0279a55553f3184e">mlx::steel::Conv2DInputBlockLoaderLargeFilter&lt; T, BM, BN, BK, tgp_size, tgp_padding &gt;</a>, <a class="el" href="structmlx_1_1steel_1_1_conv2_d_input_block_loader_small_channels.html#ae363abc696400f4e334314576ea31421">mlx::steel::Conv2DInputBlockLoaderSmallChannels&lt; T, BM, BN, BK, tgp_size, n_channels, tgp_padding &gt;</a>, <a class="el" href="structmlx_1_1steel_1_1_conv2_d_weight_block_loader.html#a5afa232b7c84b5025247ac4f83eb9ca9">mlx::steel::Conv2DWeightBlockLoader&lt; T, BM, BN, BK, tgp_size, tgp_padding &gt;</a>, <a class="el" href="structmlx_1_1steel_1_1_conv2_d_weight_block_loader_small_channels.html#aa0af8ce417077695e9c51f1568dbc6b7">mlx::steel::Conv2DWeightBlockLoaderSmallChannels&lt; T, BM, BN, BK, tgp_size, n_channels, tgp_padding &gt;</a></li>
<li>ReadWriter()&#160;:&#160;<a class="el" href="struct_read_writer.html#a1aa07e41d7ac286ad79bd26a072dfa0c">ReadWriter&lt; in_T, out_T, step, four_step_real &gt;</a></li>
<li>Real()&#160;:&#160;<a class="el" href="classmlx_1_1core_1_1_real.html#acd4480e3f0834d70ff6b5f1ecef17892">mlx::core::Real</a></li>
<li>real&#160;:&#160;<a class="el" href="structcomplex64__t.html#abbd4a0092eca9f112c1c5ae1a133a27e">complex64_t</a></li>
<li>Recv()&#160;:&#160;<a class="el" href="classmlx_1_1core_1_1distributed_1_1_recv.html#a511dd4e0259da18a181a25579d9b55db">mlx::core::distributed::Recv</a></li>
<li>Reduce()&#160;:&#160;<a class="el" href="classmlx_1_1core_1_1_reduce.html#a055368c1d036fb953a23ef230e33dcbf">mlx::core::Reduce</a></li>

File diff suppressed because one or more lines are too long

View File

@ -7,7 +7,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; MLX 0.18.1 documentation</title>
<title>Index &#8212; MLX 0.19.0 documentation</title>
@ -35,7 +35,7 @@
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="_static/documentation_options.js?v=fbcf6510"></script>
<script src="_static/documentation_options.js?v=bce9d2e1"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -135,8 +135,8 @@
<img src="_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -324,6 +324,7 @@
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -369,6 +370,7 @@
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>
@ -1480,6 +1482,10 @@ document.write(`
<li><a href="python/_autosummary/mlx.core.fft.ifft2.html#mlx.core.fft.ifft2">ifft2() (in module mlx.core.fft)</a>
</li>
<li><a href="python/_autosummary/mlx.core.fft.ifftn.html#mlx.core.fft.ifftn">ifftn() (in module mlx.core.fft)</a>
</li>
<li><a href="cpp/ops.html#_CPPv44imagRK5array14StreamOrDevice">imag (C++ function)</a>
</li>
<li><a href="python/_autosummary/mlx.core.imag.html#mlx.core.imag">imag() (in module mlx.core)</a>
</li>
<li><a href="python/_autosummary/mlx.core.distributed.init.html#mlx.core.distributed.init">init() (in module mlx.core.distributed)</a>
@ -1501,14 +1507,14 @@ document.write(`
</li>
<li><a href="python/_autosummary/mlx.core.fft.irfftn.html#mlx.core.fft.irfftn">irfftn() (in module mlx.core.fft)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="python/_autosummary/mlx.core.distributed.is_available.html#mlx.core.distributed.is_available">is_available() (in module mlx.core.distributed)</a>
<ul>
<li><a href="python/_autosummary/mlx.core.metal.is_available.html#mlx.core.metal.is_available">(in module mlx.core.metal)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="cpp/ops.html#_CPPv47iscloseRK5arrayRK5arrayddb14StreamOrDevice">isclose (C++ function)</a>
</li>
<li><a href="python/_autosummary/mlx.core.isclose.html#mlx.core.isclose">isclose() (in module mlx.core)</a>
@ -1936,6 +1942,10 @@ document.write(`
<li><a href="python/_autosummary/mlx.core.radians.html#mlx.core.radians">radians() (in module mlx.core)</a>
</li>
<li><a href="python/_autosummary/mlx.core.random.randint.html#mlx.core.random.randint">randint() (in module mlx.core.random)</a>
</li>
<li><a href="cpp/ops.html#_CPPv44realRK5array14StreamOrDevice">real (C++ function)</a>
</li>
<li><a href="python/_autosummary/mlx.core.real.html#mlx.core.real">real() (in module mlx.core)</a>
</li>
<li><a href="cpp/ops.html#_CPPv410reciprocalRK5array14StreamOrDevice">reciprocal (C++ function)</a>
</li>
@ -1969,14 +1979,14 @@ document.write(`
</li>
<li><a href="cpp/ops.html#_CPPv47reshapeRK5arrayNSt6vectorIiEE14StreamOrDevice">reshape (C++ function)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="python/_autosummary/mlx.core.array.reshape.html#mlx.core.array.reshape">reshape() (array method)</a>
<ul>
<li><a href="python/_autosummary/mlx.core.reshape.html#mlx.core.reshape">(in module mlx.core)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="python/_autosummary/mlx.core.fft.rfft.html#mlx.core.fft.rfft">rfft() (in module mlx.core.fft)</a>
</li>
<li><a href="python/_autosummary/mlx.core.fft.rfft2.html#mlx.core.fft.rfft2">rfft2() (in module mlx.core.fft)</a>

View File

@ -89,6 +89,7 @@ $(function(){ initResizable(false); });
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>scatter_1d_index_impl()&#160;:&#160;<a class="el" href="scatter_8h.html#ac1fd901b5ef9f39be32316a17297781e">scatter.h</a></li>
<li>scatter_impl()&#160;:&#160;<a class="el" href="scatter_8h.html#a75f61cc43682a72dd66a1da43a1809fe">scatter.h</a></li>
<li>sdpa_vector()&#160;:&#160;<a class="el" href="sdpa__vector_8h.html#a6f0d7918430064bab910bdaa6c64e927">sdpa_vector.h</a></li>
<li>simd_shuffle_down()&#160;:&#160;<a class="el" href="backend_2metal_2kernels_2utils_8h.html#aba6279624b1d30c525efee856a222b5c">utils.h</a></li>
<li>softmax_exp()&#160;:&#160;<a class="el" href="kernels_2softmax_8h.html#a440d4031ee5e86159a4dd715e44a438b">softmax.h</a></li>
<li>softmax_looped()&#160;:&#160;<a class="el" href="kernels_2softmax_8h.html#a8c47b0924ebfeebcca25f3dd17373276">softmax.h</a></li>

View File

@ -87,9 +87,9 @@ $(function(){ initResizable(false); });
<div class="textblock">Here is a list of all functions with links to the files they belong to:</div>
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>unary_g()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263">unary.h</a></li>
<li>unary_v()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb">unary.h</a></li>
<li>unary_v2()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd">unary.h</a></li>
<li>unary_g()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5">unary.h</a></li>
<li>unary_v()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014">unary.h</a></li>
<li>unary_v2()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777">unary.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->

View File

@ -91,6 +91,7 @@ $(function(){ initResizable(false); });
<li>scatter_1d_index_impl()&#160;:&#160;<a class="el" href="scatter_8h.html#ac1fd901b5ef9f39be32316a17297781e">scatter.h</a></li>
<li>scatter_impl()&#160;:&#160;<a class="el" href="scatter_8h.html#a75f61cc43682a72dd66a1da43a1809fe">scatter.h</a></li>
<li>scatter_kernels&#160;:&#160;<a class="el" href="jit_2indexing_8h.html#a768c949cd650a44c6b402fc1440c1a56">indexing.h</a></li>
<li>sdpa_vector()&#160;:&#160;<a class="el" href="sdpa__vector_8h.html#a6f0d7918430064bab910bdaa6c64e927">sdpa_vector.h</a></li>
<li>simd_shuffle_down()&#160;:&#160;<a class="el" href="backend_2metal_2kernels_2utils_8h.html#aba6279624b1d30c525efee856a222b5c">utils.h</a></li>
<li>SIMD_SIZE&#160;:&#160;<a class="el" href="quantized_8h.html#a62969a218d93680f5e35d0c61b160b99">quantized.h</a></li>
<li>simd_size&#160;:&#160;<a class="el" href="backend_2metal_2kernels_2reduction_2ops_8h.html#a515b75d563a93d3c09ee677948dc83e3">ops.h</a></li>

View File

@ -89,9 +89,9 @@ $(function(){ initResizable(false); });
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>u&#160;:&#160;<a class="el" href="types_2bf16_8h.html#aa21e554721eddcf127b7fcfa7fdc56bd">bf16.h</a>, <a class="el" href="fp16_8h.html#aa21e554721eddcf127b7fcfa7fdc56bd">fp16.h</a></li>
<li>uint16_to_bfloat16&#160;:&#160;<a class="el" href="bf16__math_8h.html#a030d871474c0e7d907fccffcc8c047e0">bf16_math.h</a></li>
<li>unary_g()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263">unary.h</a></li>
<li>unary_v()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb">unary.h</a></li>
<li>unary_v2()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd">unary.h</a></li>
<li>unary_g()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5">unary.h</a></li>
<li>unary_v()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014">unary.h</a></li>
<li>unary_v2()&#160;:&#160;<a class="el" href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777">unary.h</a></li>
<li>use_out_source&#160;:&#160;<a class="el" href="steel__gemm__fused_8h.html#a3fe4e4382bda8a419557a5e6f77bc084">steel_gemm_fused.h</a></li>
</ul>
</div><!-- contents -->

View File

@ -915,6 +915,10 @@ Functions</h2></td></tr>
<tr class="separator:ga4c335f86ff2a05daf8dd8aedc628aa59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c6fe942a8f7c573a1cb2342566f74d2" id="r_ga6c6fe942a8f7c573a1cb2342566f74d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga6c6fe942a8f7c573a1cb2342566f74d2">mlx::core::roll</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;shift, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga6c6fe942a8f7c573a1cb2342566f74d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8913cabeb9fb193ba687aaeb2087764" id="r_gaf8913cabeb9fb193ba687aaeb2087764"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf8913cabeb9fb193ba687aaeb2087764">mlx::core::real</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaf8913cabeb9fb193ba687aaeb2087764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ff592a64d528f0cf4f3d098465da029" id="r_ga7ff592a64d528f0cf4f3d098465da029"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7ff592a64d528f0cf4f3d098465da029">mlx::core::imag</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga7ff592a64d528f0cf4f3d098465da029"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
@ -4334,6 +4338,27 @@ template&lt;typename T &gt; </div>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga7ff592a64d528f0cf4f3d098465da029" name="ga7ff592a64d528f0cf4f3d098465da029"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7ff592a64d528f0cf4f3d098465da029">&#9670;&#160;</a></span>imag()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlx_1_1core_1_1array.html">array</a> mlx::core::imag </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;</td> <td class="paramname"><span class="paramname"><em>a</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a></td> <td class="paramname"><span class="paramname"><em>s</em></span><span class="paramdefsep"> = </span><span class="paramdefval">{}</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga654fec16a9746b390916697a2ab2546e" name="ga654fec16a9746b390916697a2ab2546e"></a>
@ -7197,6 +7222,27 @@ template&lt;typename T &gt; </div>
<p>Convert the elements of an array from Degrees to Radians. </p>
</div>
</div>
<a id="gaf8913cabeb9fb193ba687aaeb2087764" name="gaf8913cabeb9fb193ba687aaeb2087764"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf8913cabeb9fb193ba687aaeb2087764">&#9670;&#160;</a></span>real()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmlx_1_1core_1_1array.html">array</a> mlx::core::real </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;</td> <td class="paramname"><span class="paramname"><em>a</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a></td> <td class="paramname"><span class="paramname"><em>s</em></span><span class="paramdefsep"> = </span><span class="paramdefval">{}</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ga4d29556bb93e2f66916116cf1f062b36" name="ga4d29556bb93e2f66916116cf1f062b36"></a>

View File

@ -224,257 +224,263 @@ $(function(){ initResizable(false); });
<tr id="row_125_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_greater_equal.html" target="_self">GreaterEqual</a></td><td class="desc"></td></tr>
<tr id="row_126_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_greater_equal.html" target="_self">mlx::core::detail::GreaterEqual</a></td><td class="desc"></td></tr>
<tr id="row_127_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1distributed_1_1_group.html" target="_self">mlx::core::distributed::Group</a></td><td class="desc">A <a class="el" href="structmlx_1_1core_1_1distributed_1_1_group.html" title="A distributed::Group represents a group of independent mlx processes that can communicate.">distributed::Group</a> represents a group of independent mlx processes that can communicate </td></tr>
<tr id="row_128_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_implicit_gemm_conv2_d_params.html" target="_self">mlx::steel::ImplicitGemmConv2DParams</a></td><td class="desc"></td></tr>
<tr id="row_129_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_indices.html" target="_self">Indices&lt; IdxT, NIDX &gt;</a></td><td class="desc"></td></tr>
<tr id="row_130_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionmlx_1_1core_1_1detail_1_1_int_or_float.html" target="_self">mlx::core::detail::IntOrFloat</a></td><td class="desc"></td></tr>
<tr id="row_131_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_in_tracing.html" target="_self">mlx::core::detail::InTracing</a></td><td class="desc"></td></tr>
<tr id="row_132_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_kernel_merge_sort.html" target="_self">KernelMergeSort&lt; T, U, ARG_SORT, BLOCK_THREADS, N_PER_THREAD, CompareOp &gt;</a></td><td class="desc"></td></tr>
<tr id="row_133_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_kernel_multi_block_merge_sort.html" target="_self">KernelMultiBlockMergeSort&lt; val_t, idx_t, ARG_SORT, BLOCK_THREADS, N_PER_THREAD, CompareOp &gt;</a></td><td class="desc"></td></tr>
<tr id="row_134_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1random_1_1_key_sequence.html" target="_self">mlx::core::random::KeySequence</a></td><td class="desc"></td></tr>
<tr id="row_135_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1threading_1_1latch.html" target="_self">pocketfft::detail::threading::latch</a></td><td class="desc"></td></tr>
<tr id="row_136_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_left_shift.html" target="_self">LeftShift</a></td><td class="desc"></td></tr>
<tr id="row_137_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_left_shift.html" target="_self">mlx::core::detail::LeftShift</a></td><td class="desc"></td></tr>
<tr id="row_138_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less.html" target="_self">Less</a></td><td class="desc"></td></tr>
<tr id="row_139_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_less.html" target="_self">mlx::core::detail::Less</a></td><td class="desc"></td></tr>
<tr id="row_140_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less_equal.html" target="_self">LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_141_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_less_equal.html" target="_self">mlx::core::detail::LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_142_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less_than.html" target="_self">LessThan&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_143_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits.html" target="_self">Limits&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_144_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01bfloat16__t_01_4.html" target="_self">Limits&lt; bfloat16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_145_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01bool_01_4.html" target="_self">Limits&lt; bool &gt;</a></td><td class="desc"></td></tr>
<tr id="row_146_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01complex64__t_01_4.html" target="_self">Limits&lt; complex64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_147_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01float_01_4.html" target="_self">Limits&lt; float &gt;</a></td><td class="desc"></td></tr>
<tr id="row_148_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01half_01_4.html" target="_self">Limits&lt; half &gt;</a></td><td class="desc"></td></tr>
<tr id="row_149_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int16__t_01_4.html" target="_self">Limits&lt; int16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_150_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int32__t_01_4.html" target="_self">Limits&lt; int32_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_151_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int64__t_01_4.html" target="_self">Limits&lt; int64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_152_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int8__t_01_4.html" target="_self">Limits&lt; int8_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_153_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint16__t_01_4.html" target="_self">Limits&lt; uint16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_154_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint32__t_01_4.html" target="_self">Limits&lt; uint32_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_155_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint64__t_01_4.html" target="_self">Limits&lt; uint64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_156_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint8__t_01_4.html" target="_self">Limits&lt; uint8_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_157_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log.html" target="_self">Log</a></td><td class="desc"></td></tr>
<tr id="row_158_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log.html" target="_self">mlx::core::detail::Log</a></td><td class="desc"></td></tr>
<tr id="row_159_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log10.html" target="_self">Log10</a></td><td class="desc"></td></tr>
<tr id="row_160_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log10.html" target="_self">mlx::core::detail::Log10</a></td><td class="desc"></td></tr>
<tr id="row_161_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log1p.html" target="_self">Log1p</a></td><td class="desc"></td></tr>
<tr id="row_162_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log1p.html" target="_self">mlx::core::detail::Log1p</a></td><td class="desc"></td></tr>
<tr id="row_163_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log2.html" target="_self">Log2</a></td><td class="desc"></td></tr>
<tr id="row_164_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log2.html" target="_self">mlx::core::detail::Log2</a></td><td class="desc"></td></tr>
<tr id="row_165_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log_add_exp.html" target="_self">LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_166_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log_add_exp.html" target="_self">mlx::core::detail::LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_167_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_and.html" target="_self">LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_168_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_and.html" target="_self">mlx::core::detail::LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_169_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_not.html" target="_self">LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_170_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_not.html" target="_self">mlx::core::detail::LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_171_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_or.html" target="_self">LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_172_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_or.html" target="_self">mlx::core::detail::LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_173_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_loop_alignment.html" target="_self">mlx::steel::LoopAlignment&lt; M_aligned, N_aligned, K_aligned &gt;</a></td><td class="desc"></td></tr>
<tr id="row_174_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc.html" target="_self">looped_elem_to_loc&lt; dim, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_175_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc_3_010_00_01offset__t_01_4.html" target="_self">looped_elem_to_loc&lt; 0, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_176_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc_3_011_00_01offset__t_01_4.html" target="_self">looped_elem_to_loc&lt; 1, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_177_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_max.html" target="_self">Max&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_178_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_maximum.html" target="_self">Maximum</a></td><td class="desc"></td></tr>
<tr id="row_179_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_maximum.html" target="_self">mlx::core::detail::Maximum</a></td><td class="desc"></td></tr>
<tr id="row_180_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_min.html" target="_self">Min&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_181_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_minimum.html" target="_self">Minimum</a></td><td class="desc"></td></tr>
<tr id="row_182_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_minimum.html" target="_self">mlx::core::detail::Minimum</a></td><td class="desc"></td></tr>
<tr id="row_183_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx__atomic.html" target="_self">mlx_atomic&lt; T, typename &gt;</a></td><td class="desc"></td></tr>
<tr id="row_184_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx__atomic_3_01_t_00_01enable__if__t_3_01is__metal__atomic_3_01_t_01_4_01_4_01_4.html" target="_self">mlx_atomic&lt; T, enable_if_t&lt; is_metal_atomic&lt; T &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_185_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_conv_params.html" target="_self">MLXConvParams&lt; NDIM &gt;</a></td><td class="desc"></td></tr>
<tr id="row_186_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_conv_params.html" target="_self">MLXConvParams&lt; 2 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_187_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_fast_attention_params.html" target="_self">MLXFastAttentionParams</a></td><td class="desc"></td></tr>
<tr id="row_188_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_scaled_dot_product_attention_params.html" target="_self">MLXScaledDotProductAttentionParams</a></td><td class="desc"></td></tr>
<tr id="row_189_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1multi__iter.html" target="_self">pocketfft::detail::multi_iter&lt; N &gt;</a></td><td class="desc"></td></tr>
<tr id="row_190_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_multiply.html" target="_self">mlx::core::detail::Multiply</a></td><td class="desc"></td></tr>
<tr id="row_191_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_multiply.html" target="_self">Multiply</a></td><td class="desc"></td></tr>
<tr id="row_192_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_na_n_equal.html" target="_self">mlx::core::detail::NaNEqual</a></td><td class="desc"></td></tr>
<tr id="row_193_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_na_n_equal.html" target="_self">NaNEqual</a></td><td class="desc"></td></tr>
<tr id="row_194_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_negative.html" target="_self">mlx::core::detail::Negative</a></td><td class="desc"></td></tr>
<tr id="row_195_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_negative.html" target="_self">Negative</a></td><td class="desc"></td></tr>
<tr id="row_196_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_node_namer.html" target="_self">mlx::core::NodeNamer</a></td><td class="desc"></td></tr>
<tr id="row_197_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_none.html" target="_self">None</a></td><td class="desc"></td></tr>
<tr id="row_198_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_not_equal.html" target="_self">mlx::core::detail::NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_199_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_not_equal.html" target="_self">NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_200_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_or.html" target="_self">Or&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_201_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1pocketfft__c.html" target="_self">pocketfft::detail::pocketfft_c&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_202_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1pocketfft__r.html" target="_self">pocketfft::detail::pocketfft_r&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_203_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_power.html" target="_self">mlx::core::detail::Power</a></td><td class="desc"></td></tr>
<tr id="row_204_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_power.html" target="_self">Power</a></td><td class="desc"></td></tr>
<tr id="row_205_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_205_" class="arrow" onclick="dynsection.toggleFolder('205_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_primitive.html" target="_self">mlx::core::Primitive</a></td><td class="desc"></td></tr>
<tr id="row_205_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_compiled.html" target="_self">mlx::core::Compiled</a></td><td class="desc"></td></tr>
<tr id="row_205_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_custom_transforms.html" target="_self">mlx::core::CustomTransforms</a></td><td class="desc"></td></tr>
<tr id="row_205_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_depends.html" target="_self">mlx::core::Depends</a></td><td class="desc"></td></tr>
<tr id="row_205_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_div_mod.html" target="_self">mlx::core::DivMod</a></td><td class="desc"></td></tr>
<tr id="row_205_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_q_r_f.html" target="_self">mlx::core::QRF</a></td><td class="desc"></td></tr>
<tr id="row_205_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_s_v_d.html" target="_self">mlx::core::SVD</a></td><td class="desc"></td></tr>
<tr id="row_205_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_split.html" target="_self">mlx::core::Split</a></td><td class="desc"></td></tr>
<tr id="row_205_7_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_205_7_" class="arrow" onclick="dynsection.toggleFolder('205_7_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html" target="_self">mlx::core::UnaryPrimitive</a></td><td class="desc"></td></tr>
<tr id="row_205_7_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_abs.html" target="_self">mlx::core::Abs</a></td><td class="desc"></td></tr>
<tr id="row_205_7_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_add.html" target="_self">mlx::core::Add</a></td><td class="desc"></td></tr>
<tr id="row_205_7_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_add_m_m.html" target="_self">mlx::core::AddMM</a></td><td class="desc"></td></tr>
<tr id="row_205_7_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arange.html" target="_self">mlx::core::Arange</a></td><td class="desc"></td></tr>
<tr id="row_205_7_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_cos.html" target="_self">mlx::core::ArcCos</a></td><td class="desc"></td></tr>
<tr id="row_205_7_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_cosh.html" target="_self">mlx::core::ArcCosh</a></td><td class="desc"></td></tr>
<tr id="row_205_7_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_sin.html" target="_self">mlx::core::ArcSin</a></td><td class="desc"></td></tr>
<tr id="row_205_7_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_sinh.html" target="_self">mlx::core::ArcSinh</a></td><td class="desc"></td></tr>
<tr id="row_205_7_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_tan.html" target="_self">mlx::core::ArcTan</a></td><td class="desc"></td></tr>
<tr id="row_205_7_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_tan2.html" target="_self">mlx::core::ArcTan2</a></td><td class="desc"></td></tr>
<tr id="row_205_7_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_tanh.html" target="_self">mlx::core::ArcTanh</a></td><td class="desc"></td></tr>
<tr id="row_205_7_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arg_partition.html" target="_self">mlx::core::ArgPartition</a></td><td class="desc"></td></tr>
<tr id="row_205_7_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arg_reduce.html" target="_self">mlx::core::ArgReduce</a></td><td class="desc"></td></tr>
<tr id="row_205_7_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arg_sort.html" target="_self">mlx::core::ArgSort</a></td><td class="desc"></td></tr>
<tr id="row_205_7_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_as_strided.html" target="_self">mlx::core::AsStrided</a></td><td class="desc"></td></tr>
<tr id="row_205_7_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_as_type.html" target="_self">mlx::core::AsType</a></td><td class="desc"></td></tr>
<tr id="row_205_7_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_bitwise_binary.html" target="_self">mlx::core::BitwiseBinary</a></td><td class="desc"></td></tr>
<tr id="row_205_7_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_block_masked_m_m.html" target="_self">mlx::core::BlockMaskedMM</a></td><td class="desc"></td></tr>
<tr id="row_205_7_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_broadcast.html" target="_self">mlx::core::Broadcast</a></td><td class="desc"></td></tr>
<tr id="row_205_7_19_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_ceil.html" target="_self">mlx::core::Ceil</a></td><td class="desc"></td></tr>
<tr id="row_205_7_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_cholesky.html" target="_self">mlx::core::Cholesky</a></td><td class="desc"></td></tr>
<tr id="row_205_7_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_concatenate.html" target="_self">mlx::core::Concatenate</a></td><td class="desc"></td></tr>
<tr id="row_205_7_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_conjugate.html" target="_self">mlx::core::Conjugate</a></td><td class="desc"></td></tr>
<tr id="row_205_7_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_convolution.html" target="_self">mlx::core::Convolution</a></td><td class="desc"></td></tr>
<tr id="row_205_7_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_copy.html" target="_self">mlx::core::Copy</a></td><td class="desc"></td></tr>
<tr id="row_205_7_25_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_cos.html" target="_self">mlx::core::Cos</a></td><td class="desc"></td></tr>
<tr id="row_205_7_26_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_cosh.html" target="_self">mlx::core::Cosh</a></td><td class="desc"></td></tr>
<tr id="row_205_7_27_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_divide.html" target="_self">mlx::core::Divide</a></td><td class="desc"></td></tr>
<tr id="row_205_7_28_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_equal.html" target="_self">mlx::core::Equal</a></td><td class="desc"></td></tr>
<tr id="row_205_7_29_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_erf.html" target="_self">mlx::core::Erf</a></td><td class="desc"></td></tr>
<tr id="row_205_7_30_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_erf_inv.html" target="_self">mlx::core::ErfInv</a></td><td class="desc"></td></tr>
<tr id="row_205_7_31_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_exp.html" target="_self">mlx::core::Exp</a></td><td class="desc"></td></tr>
<tr id="row_205_7_32_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_expm1.html" target="_self">mlx::core::Expm1</a></td><td class="desc"></td></tr>
<tr id="row_205_7_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_f_f_t.html" target="_self">mlx::core::FFT</a></td><td class="desc"></td></tr>
<tr id="row_205_7_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_floor.html" target="_self">mlx::core::Floor</a></td><td class="desc"></td></tr>
<tr id="row_205_7_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_full.html" target="_self">mlx::core::Full</a></td><td class="desc"></td></tr>
<tr id="row_205_7_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_gather.html" target="_self">mlx::core::Gather</a></td><td class="desc"></td></tr>
<tr id="row_205_7_37_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_gather_m_m.html" target="_self">mlx::core::GatherMM</a></td><td class="desc"></td></tr>
<tr id="row_205_7_38_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_gather_q_m_m.html" target="_self">mlx::core::GatherQMM</a></td><td class="desc"></td></tr>
<tr id="row_205_7_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_greater.html" target="_self">mlx::core::Greater</a></td><td class="desc"></td></tr>
<tr id="row_205_7_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_greater_equal.html" target="_self">mlx::core::GreaterEqual</a></td><td class="desc"></td></tr>
<tr id="row_205_7_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_hadamard.html" target="_self">mlx::core::Hadamard</a></td><td class="desc"></td></tr>
<tr id="row_205_7_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_inverse.html" target="_self">mlx::core::Inverse</a></td><td class="desc"></td></tr>
<tr id="row_205_7_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_less.html" target="_self">mlx::core::Less</a></td><td class="desc"></td></tr>
<tr id="row_205_7_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_less_equal.html" target="_self">mlx::core::LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_205_7_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_load.html" target="_self">mlx::core::Load</a></td><td class="desc"></td></tr>
<tr id="row_205_7_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log.html" target="_self">mlx::core::Log</a></td><td class="desc"></td></tr>
<tr id="row_205_7_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log1p.html" target="_self">mlx::core::Log1p</a></td><td class="desc"></td></tr>
<tr id="row_205_7_48_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log_add_exp.html" target="_self">mlx::core::LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_205_7_49_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_and.html" target="_self">mlx::core::LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_205_7_50_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_not.html" target="_self">mlx::core::LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_205_7_51_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_or.html" target="_self">mlx::core::LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_205_7_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_matmul.html" target="_self">mlx::core::Matmul</a></td><td class="desc"></td></tr>
<tr id="row_205_7_53_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_maximum.html" target="_self">mlx::core::Maximum</a></td><td class="desc"></td></tr>
<tr id="row_205_7_54_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_minimum.html" target="_self">mlx::core::Minimum</a></td><td class="desc"></td></tr>
<tr id="row_205_7_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_multiply.html" target="_self">mlx::core::Multiply</a></td><td class="desc"></td></tr>
<tr id="row_205_7_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_negative.html" target="_self">mlx::core::Negative</a></td><td class="desc"></td></tr>
<tr id="row_205_7_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_not_equal.html" target="_self">mlx::core::NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_205_7_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_number_of_elements.html" target="_self">mlx::core::NumberOfElements</a></td><td class="desc"></td></tr>
<tr id="row_205_7_59_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_pad.html" target="_self">mlx::core::Pad</a></td><td class="desc"></td></tr>
<tr id="row_205_7_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_partition.html" target="_self">mlx::core::Partition</a></td><td class="desc"></td></tr>
<tr id="row_205_7_61_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_power.html" target="_self">mlx::core::Power</a></td><td class="desc"></td></tr>
<tr id="row_205_7_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_quantized_matmul.html" target="_self">mlx::core::QuantizedMatmul</a></td><td class="desc"></td></tr>
<tr id="row_205_7_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_random_bits.html" target="_self">mlx::core::RandomBits</a></td><td class="desc"></td></tr>
<tr id="row_205_7_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_reduce.html" target="_self">mlx::core::Reduce</a></td><td class="desc"></td></tr>
<tr id="row_205_7_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_remainder.html" target="_self">mlx::core::Remainder</a></td><td class="desc"></td></tr>
<tr id="row_205_7_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_reshape.html" target="_self">mlx::core::Reshape</a></td><td class="desc"></td></tr>
<tr id="row_205_7_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_round.html" target="_self">mlx::core::Round</a></td><td class="desc"></td></tr>
<tr id="row_205_7_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_scan.html" target="_self">mlx::core::Scan</a></td><td class="desc"></td></tr>
<tr id="row_205_7_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_scatter.html" target="_self">mlx::core::Scatter</a></td><td class="desc"></td></tr>
<tr id="row_205_7_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_select.html" target="_self">mlx::core::Select</a></td><td class="desc"></td></tr>
<tr id="row_205_7_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sigmoid.html" target="_self">mlx::core::Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_205_7_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sign.html" target="_self">mlx::core::Sign</a></td><td class="desc"></td></tr>
<tr id="row_205_7_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sin.html" target="_self">mlx::core::Sin</a></td><td class="desc"></td></tr>
<tr id="row_205_7_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sinh.html" target="_self">mlx::core::Sinh</a></td><td class="desc"></td></tr>
<tr id="row_205_7_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_slice.html" target="_self">mlx::core::Slice</a></td><td class="desc"></td></tr>
<tr id="row_205_7_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_slice_update.html" target="_self">mlx::core::SliceUpdate</a></td><td class="desc"></td></tr>
<tr id="row_205_7_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_softmax.html" target="_self">mlx::core::Softmax</a></td><td class="desc"></td></tr>
<tr id="row_205_7_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sort.html" target="_self">mlx::core::Sort</a></td><td class="desc"></td></tr>
<tr id="row_205_7_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sqrt.html" target="_self">mlx::core::Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_205_7_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_square.html" target="_self">mlx::core::Square</a></td><td class="desc"></td></tr>
<tr id="row_205_7_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_stop_gradient.html" target="_self">mlx::core::StopGradient</a></td><td class="desc"></td></tr>
<tr id="row_205_7_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_subtract.html" target="_self">mlx::core::Subtract</a></td><td class="desc"></td></tr>
<tr id="row_205_7_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_tan.html" target="_self">mlx::core::Tan</a></td><td class="desc"></td></tr>
<tr id="row_205_7_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_tanh.html" target="_self">mlx::core::Tanh</a></td><td class="desc"></td></tr>
<tr id="row_205_7_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_transpose.html" target="_self">mlx::core::Transpose</a></td><td class="desc"></td></tr>
<tr id="row_205_7_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_uniform.html" target="_self">mlx::core::Uniform</a></td><td class="desc"></td></tr>
<tr id="row_205_7_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_view.html" target="_self">mlx::core::View</a></td><td class="desc"></td></tr>
<tr id="row_205_8_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_205_8_" class="arrow" onclick="dynsection.toggleFolder('205_8_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_dist_primitive.html" target="_self">mlx::core::distributed::DistPrimitive</a></td><td class="desc"></td></tr>
<tr id="row_205_8_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_all_gather.html" target="_self">mlx::core::distributed::AllGather</a></td><td class="desc"></td></tr>
<tr id="row_205_8_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_all_reduce.html" target="_self">mlx::core::distributed::AllReduce</a></td><td class="desc"></td></tr>
<tr id="row_205_8_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_recv.html" target="_self">mlx::core::distributed::Recv</a></td><td class="desc"></td></tr>
<tr id="row_205_8_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_send.html" target="_self">mlx::core::distributed::Send</a></td><td class="desc"></td></tr>
<tr id="row_205_9_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_205_9_" class="arrow" onclick="dynsection.toggleFolder('205_9_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_custom.html" target="_self">mlx::core::fast::Custom</a></td><td class="desc"></td></tr>
<tr id="row_205_9_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_affine_quantize.html" target="_self">mlx::core::fast::AffineQuantize</a></td><td class="desc"></td></tr>
<tr id="row_205_9_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_layer_norm.html" target="_self">mlx::core::fast::LayerNorm</a></td><td class="desc"></td></tr>
<tr id="row_205_9_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html" target="_self">mlx::core::fast::LayerNormVJP</a></td><td class="desc"></td></tr>
<tr id="row_205_9_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html" target="_self">mlx::core::fast::RMSNorm</a></td><td class="desc"></td></tr>
<tr id="row_205_9_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html" target="_self">mlx::core::fast::RMSNormVJP</a></td><td class="desc"></td></tr>
<tr id="row_205_9_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_ro_p_e.html" target="_self">mlx::core::fast::RoPE</a></td><td class="desc"></td></tr>
<tr id="row_205_9_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html" target="_self">mlx::core::fast::ScaledDotProductAttention</a></td><td class="desc"></td></tr>
<tr id="row_205_10_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_custom_kernel.html" target="_self">mlx::core::fast::CustomKernel</a></td><td class="desc"></td></tr>
<tr id="row_206_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_print_formatter.html" target="_self">mlx::core::PrintFormatter</a></td><td class="desc"></td></tr>
<tr id="row_207_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_prod.html" target="_self">Prod&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_208_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_quantized_block_loader.html" target="_self">QuantizedBlockLoader&lt; T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits &gt;</a></td><td class="desc"></td></tr>
<tr id="row_209_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_209_" class="arrow" onclick="dynsection.toggleFolder('209_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1io_1_1_reader.html" target="_self">mlx::core::io::Reader</a></td><td class="desc"></td></tr>
<tr id="row_209_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1io_1_1_parallel_file_reader.html" target="_self">mlx::core::io::ParallelFileReader</a></td><td class="desc"></td></tr>
<tr id="row_210_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_block_loader_1_1_read_vector.html" target="_self">mlx::steel::BlockLoader&lt; T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, alignment, n_reads, TCOLS, TROWS &gt;::ReadVector</a></td><td class="desc"></td></tr>
<tr id="row_211_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_read_writer.html" target="_self">ReadWriter&lt; in_T, out_T, step, four_step_real &gt;</a></td><td class="desc"></td></tr>
<tr id="row_212_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_reduction_plan.html" target="_self">mlx::core::ReductionPlan</a></td><td class="desc"></td></tr>
<tr id="row_213_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_remainder.html" target="_self">mlx::core::detail::Remainder</a></td><td class="desc"></td></tr>
<tr id="row_214_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_remainder.html" target="_self">Remainder</a></td><td class="desc"></td></tr>
<tr id="row_215_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_retain_graph.html" target="_self">mlx::core::detail::RetainGraph</a></td><td class="desc"></td></tr>
<tr id="row_216_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1rev__iter.html" target="_self">pocketfft::detail::rev_iter</a></td><td class="desc"></td></tr>
<tr id="row_217_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1rfftp.html" target="_self">pocketfft::detail::rfftp&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_218_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_right_shift.html" target="_self">mlx::core::detail::RightShift</a></td><td class="desc"></td></tr>
<tr id="row_219_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_right_shift.html" target="_self">RightShift</a></td><td class="desc"></td></tr>
<tr id="row_220_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_round.html" target="_self">mlx::core::detail::Round</a></td><td class="desc"></td></tr>
<tr id="row_221_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_round.html" target="_self">Round</a></td><td class="desc"></td></tr>
<tr id="row_222_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_rsqrt.html" target="_self">mlx::core::detail::Rsqrt</a></td><td class="desc"></td></tr>
<tr id="row_223_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_rsqrt.html" target="_self">Rsqrt</a></td><td class="desc"></td></tr>
<tr id="row_224_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_scale_op.html" target="_self">ScaleOp&lt; OutT, InT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_225_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html" target="_self">mlx::core::scheduler::Scheduler</a></td><td class="desc"></td></tr>
<tr id="row_226_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_select.html" target="_self">mlx::core::detail::Select</a></td><td class="desc"></td></tr>
<tr id="row_227_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_select.html" target="_self">Select</a></td><td class="desc"></td></tr>
<tr id="row_228_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sigmoid.html" target="_self">mlx::core::detail::Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_229_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sigmoid.html" target="_self">Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_230_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sign.html" target="_self">mlx::core::detail::Sign</a></td><td class="desc"></td></tr>
<tr id="row_231_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sign.html" target="_self">Sign</a></td><td class="desc"></td></tr>
<tr id="row_232_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1simple__iter.html" target="_self">pocketfft::detail::simple_iter</a></td><td class="desc"></td></tr>
<tr id="row_233_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sin.html" target="_self">mlx::core::detail::Sin</a></td><td class="desc"></td></tr>
<tr id="row_234_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sin.html" target="_self">Sin</a></td><td class="desc"></td></tr>
<tr id="row_235_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1sincos__2pibyn.html" target="_self">pocketfft::detail::sincos_2pibyn&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_236_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sinh.html" target="_self">mlx::core::detail::Sinh</a></td><td class="desc"></td></tr>
<tr id="row_237_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sinh.html" target="_self">Sinh</a></td><td class="desc"></td></tr>
<tr id="row_238_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sqrt.html" target="_self">mlx::core::detail::Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_239_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sqrt.html" target="_self">Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_240_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_square.html" target="_self">mlx::core::detail::Square</a></td><td class="desc"></td></tr>
<tr id="row_241_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_square.html" target="_self">Square</a></td><td class="desc"></td></tr>
<tr id="row_242_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_stream.html" target="_self">mlx::core::Stream</a></td><td class="desc"></td></tr>
<tr id="row_243_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_stream_context.html" target="_self">mlx::core::StreamContext</a></td><td class="desc"></td></tr>
<tr id="row_244_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html" target="_self">mlx::core::scheduler::StreamThread</a></td><td class="desc"></td></tr>
<tr id="row_245_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_subtract.html" target="_self">mlx::core::detail::Subtract</a></td><td class="desc"></td></tr>
<tr id="row_246_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_subtract.html" target="_self">Subtract</a></td><td class="desc"></td></tr>
<tr id="row_247_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sum.html" target="_self">Sum&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_248_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1_t__dcst23.html" target="_self">pocketfft::detail::T_dcst23&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_249_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1_t__dcst4.html" target="_self">pocketfft::detail::T_dcst4&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_250_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1_t__dct1.html" target="_self">pocketfft::detail::T_dct1&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_251_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1_t__dst1.html" target="_self">pocketfft::detail::T_dst1&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_252_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_tan.html" target="_self">mlx::core::detail::Tan</a></td><td class="desc"></td></tr>
<tr id="row_253_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_tan.html" target="_self">Tan</a></td><td class="desc"></td></tr>
<tr id="row_254_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_tanh.html" target="_self">mlx::core::detail::Tanh</a></td><td class="desc"></td></tr>
<tr id="row_255_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_tanh.html" target="_self">Tanh</a></td><td class="desc"></td></tr>
<tr id="row_256_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1threading_1_1thread__pool.html" target="_self">pocketfft::detail::threading::thread_pool</a></td><td class="desc"></td></tr>
<tr id="row_257_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_thread_pool.html" target="_self">ThreadPool</a></td><td class="desc"></td></tr>
<tr id="row_258_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_thread_sort.html" target="_self">ThreadSort&lt; val_t, idx_t, ARG_SORT, N_PER_THREAD, CompareOp &gt;</a></td><td class="desc"></td></tr>
<tr id="row_259_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_transform_add.html" target="_self">mlx::steel::TransformAdd&lt; OutT, InT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_260_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_transform_axpby.html" target="_self">mlx::steel::TransformAxpby&lt; OutT, InT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_261_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_transform_none.html" target="_self">mlx::steel::TransformNone&lt; OutT, InT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_262_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_type_to_dtype.html" target="_self">mlx::core::TypeToDtype&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_263_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpocketfft_1_1detail_1_1util.html" target="_self">pocketfft::detail::util</a></td><td class="desc"></td></tr>
<tr id="row_264_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpocketfft_1_1detail_1_1_v_l_e_n.html" target="_self">pocketfft::detail::VLEN&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_265_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpocketfft_1_1detail_1_1_v_t_y_p_e.html" target="_self">pocketfft::detail::VTYPE&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_266_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_266_" class="arrow" onclick="dynsection.toggleFolder('266_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1io_1_1_writer.html" target="_self">mlx::core::io::Writer</a></td><td class="desc"></td></tr>
<tr id="row_266_0_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1io_1_1_file_writer.html" target="_self">mlx::core::io::FileWriter</a></td><td class="desc"></td></tr>
<tr id="row_128_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_imag.html" target="_self">Imag</a></td><td class="desc"></td></tr>
<tr id="row_129_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_imag.html" target="_self">mlx::core::detail::Imag</a></td><td class="desc"></td></tr>
<tr id="row_130_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_implicit_gemm_conv2_d_params.html" target="_self">mlx::steel::ImplicitGemmConv2DParams</a></td><td class="desc"></td></tr>
<tr id="row_131_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_indices.html" target="_self">Indices&lt; IdxT, NIDX &gt;</a></td><td class="desc"></td></tr>
<tr id="row_132_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="unionmlx_1_1core_1_1detail_1_1_int_or_float.html" target="_self">mlx::core::detail::IntOrFloat</a></td><td class="desc"></td></tr>
<tr id="row_133_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_in_tracing.html" target="_self">mlx::core::detail::InTracing</a></td><td class="desc"></td></tr>
<tr id="row_134_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_kernel_merge_sort.html" target="_self">KernelMergeSort&lt; T, U, ARG_SORT, BLOCK_THREADS, N_PER_THREAD, CompareOp &gt;</a></td><td class="desc"></td></tr>
<tr id="row_135_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_kernel_multi_block_merge_sort.html" target="_self">KernelMultiBlockMergeSort&lt; val_t, idx_t, ARG_SORT, BLOCK_THREADS, N_PER_THREAD, CompareOp &gt;</a></td><td class="desc"></td></tr>
<tr id="row_136_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1random_1_1_key_sequence.html" target="_self">mlx::core::random::KeySequence</a></td><td class="desc"></td></tr>
<tr id="row_137_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1threading_1_1latch.html" target="_self">pocketfft::detail::threading::latch</a></td><td class="desc"></td></tr>
<tr id="row_138_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_left_shift.html" target="_self">LeftShift</a></td><td class="desc"></td></tr>
<tr id="row_139_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_left_shift.html" target="_self">mlx::core::detail::LeftShift</a></td><td class="desc"></td></tr>
<tr id="row_140_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less.html" target="_self">Less</a></td><td class="desc"></td></tr>
<tr id="row_141_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_less.html" target="_self">mlx::core::detail::Less</a></td><td class="desc"></td></tr>
<tr id="row_142_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less_equal.html" target="_self">LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_143_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_less_equal.html" target="_self">mlx::core::detail::LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_144_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_less_than.html" target="_self">LessThan&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_145_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits.html" target="_self">Limits&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_146_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01bfloat16__t_01_4.html" target="_self">Limits&lt; bfloat16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_147_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01bool_01_4.html" target="_self">Limits&lt; bool &gt;</a></td><td class="desc"></td></tr>
<tr id="row_148_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01complex64__t_01_4.html" target="_self">Limits&lt; complex64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_149_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01float_01_4.html" target="_self">Limits&lt; float &gt;</a></td><td class="desc"></td></tr>
<tr id="row_150_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01half_01_4.html" target="_self">Limits&lt; half &gt;</a></td><td class="desc"></td></tr>
<tr id="row_151_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int16__t_01_4.html" target="_self">Limits&lt; int16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_152_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int32__t_01_4.html" target="_self">Limits&lt; int32_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_153_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int64__t_01_4.html" target="_self">Limits&lt; int64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_154_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01int8__t_01_4.html" target="_self">Limits&lt; int8_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_155_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint16__t_01_4.html" target="_self">Limits&lt; uint16_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_156_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint32__t_01_4.html" target="_self">Limits&lt; uint32_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_157_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint64__t_01_4.html" target="_self">Limits&lt; uint64_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_158_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_limits_3_01uint8__t_01_4.html" target="_self">Limits&lt; uint8_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_159_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log.html" target="_self">Log</a></td><td class="desc"></td></tr>
<tr id="row_160_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log.html" target="_self">mlx::core::detail::Log</a></td><td class="desc"></td></tr>
<tr id="row_161_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log10.html" target="_self">Log10</a></td><td class="desc"></td></tr>
<tr id="row_162_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log10.html" target="_self">mlx::core::detail::Log10</a></td><td class="desc"></td></tr>
<tr id="row_163_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log1p.html" target="_self">Log1p</a></td><td class="desc"></td></tr>
<tr id="row_164_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log1p.html" target="_self">mlx::core::detail::Log1p</a></td><td class="desc"></td></tr>
<tr id="row_165_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log2.html" target="_self">Log2</a></td><td class="desc"></td></tr>
<tr id="row_166_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log2.html" target="_self">mlx::core::detail::Log2</a></td><td class="desc"></td></tr>
<tr id="row_167_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_log_add_exp.html" target="_self">LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_168_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_log_add_exp.html" target="_self">mlx::core::detail::LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_169_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_and.html" target="_self">LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_170_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_and.html" target="_self">mlx::core::detail::LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_171_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_not.html" target="_self">LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_172_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_not.html" target="_self">mlx::core::detail::LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_173_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_logical_or.html" target="_self">LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_174_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_logical_or.html" target="_self">mlx::core::detail::LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_175_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_loop_alignment.html" target="_self">mlx::steel::LoopAlignment&lt; M_aligned, N_aligned, K_aligned &gt;</a></td><td class="desc"></td></tr>
<tr id="row_176_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc.html" target="_self">looped_elem_to_loc&lt; dim, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_177_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc_3_010_00_01offset__t_01_4.html" target="_self">looped_elem_to_loc&lt; 0, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_178_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlooped__elem__to__loc_3_011_00_01offset__t_01_4.html" target="_self">looped_elem_to_loc&lt; 1, offset_t &gt;</a></td><td class="desc"></td></tr>
<tr id="row_179_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_max.html" target="_self">Max&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_180_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_maximum.html" target="_self">Maximum</a></td><td class="desc"></td></tr>
<tr id="row_181_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_maximum.html" target="_self">mlx::core::detail::Maximum</a></td><td class="desc"></td></tr>
<tr id="row_182_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_min.html" target="_self">Min&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_183_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_minimum.html" target="_self">Minimum</a></td><td class="desc"></td></tr>
<tr id="row_184_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_minimum.html" target="_self">mlx::core::detail::Minimum</a></td><td class="desc"></td></tr>
<tr id="row_185_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx__atomic.html" target="_self">mlx_atomic&lt; T, typename &gt;</a></td><td class="desc"></td></tr>
<tr id="row_186_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx__atomic_3_01_t_00_01enable__if__t_3_01is__metal__atomic_3_01_t_01_4_01_4_01_4.html" target="_self">mlx_atomic&lt; T, enable_if_t&lt; is_metal_atomic&lt; T &gt; &gt; &gt;</a></td><td class="desc"></td></tr>
<tr id="row_187_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_conv_params.html" target="_self">MLXConvParams&lt; NDIM &gt;</a></td><td class="desc"></td></tr>
<tr id="row_188_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_conv_params.html" target="_self">MLXConvParams&lt; 2 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_189_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_fast_attention_params.html" target="_self">MLXFastAttentionParams</a></td><td class="desc"></td></tr>
<tr id="row_190_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_m_l_x_scaled_dot_product_attention_params.html" target="_self">MLXScaledDotProductAttentionParams</a></td><td class="desc"></td></tr>
<tr id="row_191_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1multi__iter.html" target="_self">pocketfft::detail::multi_iter&lt; N &gt;</a></td><td class="desc"></td></tr>
<tr id="row_192_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_multiply.html" target="_self">mlx::core::detail::Multiply</a></td><td class="desc"></td></tr>
<tr id="row_193_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_multiply.html" target="_self">Multiply</a></td><td class="desc"></td></tr>
<tr id="row_194_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_na_n_equal.html" target="_self">mlx::core::detail::NaNEqual</a></td><td class="desc"></td></tr>
<tr id="row_195_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_na_n_equal.html" target="_self">NaNEqual</a></td><td class="desc"></td></tr>
<tr id="row_196_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_negative.html" target="_self">mlx::core::detail::Negative</a></td><td class="desc"></td></tr>
<tr id="row_197_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_negative.html" target="_self">Negative</a></td><td class="desc"></td></tr>
<tr id="row_198_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_node_namer.html" target="_self">mlx::core::NodeNamer</a></td><td class="desc"></td></tr>
<tr id="row_199_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_none.html" target="_self">None</a></td><td class="desc"></td></tr>
<tr id="row_200_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_not_equal.html" target="_self">mlx::core::detail::NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_201_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_not_equal.html" target="_self">NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_202_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_or.html" target="_self">Or&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_203_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1pocketfft__c.html" target="_self">pocketfft::detail::pocketfft_c&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_204_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1pocketfft__r.html" target="_self">pocketfft::detail::pocketfft_r&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_205_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_power.html" target="_self">mlx::core::detail::Power</a></td><td class="desc"></td></tr>
<tr id="row_206_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_power.html" target="_self">Power</a></td><td class="desc"></td></tr>
<tr id="row_207_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_207_" class="arrow" onclick="dynsection.toggleFolder('207_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_primitive.html" target="_self">mlx::core::Primitive</a></td><td class="desc"></td></tr>
<tr id="row_207_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_compiled.html" target="_self">mlx::core::Compiled</a></td><td class="desc"></td></tr>
<tr id="row_207_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_custom_transforms.html" target="_self">mlx::core::CustomTransforms</a></td><td class="desc"></td></tr>
<tr id="row_207_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_depends.html" target="_self">mlx::core::Depends</a></td><td class="desc"></td></tr>
<tr id="row_207_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_div_mod.html" target="_self">mlx::core::DivMod</a></td><td class="desc"></td></tr>
<tr id="row_207_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_q_r_f.html" target="_self">mlx::core::QRF</a></td><td class="desc"></td></tr>
<tr id="row_207_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_s_v_d.html" target="_self">mlx::core::SVD</a></td><td class="desc"></td></tr>
<tr id="row_207_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_split.html" target="_self">mlx::core::Split</a></td><td class="desc"></td></tr>
<tr id="row_207_7_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_207_7_" class="arrow" onclick="dynsection.toggleFolder('207_7_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_unary_primitive.html" target="_self">mlx::core::UnaryPrimitive</a></td><td class="desc"></td></tr>
<tr id="row_207_7_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_abs.html" target="_self">mlx::core::Abs</a></td><td class="desc"></td></tr>
<tr id="row_207_7_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_add.html" target="_self">mlx::core::Add</a></td><td class="desc"></td></tr>
<tr id="row_207_7_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_add_m_m.html" target="_self">mlx::core::AddMM</a></td><td class="desc"></td></tr>
<tr id="row_207_7_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arange.html" target="_self">mlx::core::Arange</a></td><td class="desc"></td></tr>
<tr id="row_207_7_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_cos.html" target="_self">mlx::core::ArcCos</a></td><td class="desc"></td></tr>
<tr id="row_207_7_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_cosh.html" target="_self">mlx::core::ArcCosh</a></td><td class="desc"></td></tr>
<tr id="row_207_7_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_sin.html" target="_self">mlx::core::ArcSin</a></td><td class="desc"></td></tr>
<tr id="row_207_7_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_sinh.html" target="_self">mlx::core::ArcSinh</a></td><td class="desc"></td></tr>
<tr id="row_207_7_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_tan.html" target="_self">mlx::core::ArcTan</a></td><td class="desc"></td></tr>
<tr id="row_207_7_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_tan2.html" target="_self">mlx::core::ArcTan2</a></td><td class="desc"></td></tr>
<tr id="row_207_7_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arc_tanh.html" target="_self">mlx::core::ArcTanh</a></td><td class="desc"></td></tr>
<tr id="row_207_7_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arg_partition.html" target="_self">mlx::core::ArgPartition</a></td><td class="desc"></td></tr>
<tr id="row_207_7_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arg_reduce.html" target="_self">mlx::core::ArgReduce</a></td><td class="desc"></td></tr>
<tr id="row_207_7_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_arg_sort.html" target="_self">mlx::core::ArgSort</a></td><td class="desc"></td></tr>
<tr id="row_207_7_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_as_strided.html" target="_self">mlx::core::AsStrided</a></td><td class="desc"></td></tr>
<tr id="row_207_7_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_as_type.html" target="_self">mlx::core::AsType</a></td><td class="desc"></td></tr>
<tr id="row_207_7_16_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_bitwise_binary.html" target="_self">mlx::core::BitwiseBinary</a></td><td class="desc"></td></tr>
<tr id="row_207_7_17_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_block_masked_m_m.html" target="_self">mlx::core::BlockMaskedMM</a></td><td class="desc"></td></tr>
<tr id="row_207_7_18_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_broadcast.html" target="_self">mlx::core::Broadcast</a></td><td class="desc"></td></tr>
<tr id="row_207_7_19_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_ceil.html" target="_self">mlx::core::Ceil</a></td><td class="desc"></td></tr>
<tr id="row_207_7_20_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_cholesky.html" target="_self">mlx::core::Cholesky</a></td><td class="desc"></td></tr>
<tr id="row_207_7_21_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_concatenate.html" target="_self">mlx::core::Concatenate</a></td><td class="desc"></td></tr>
<tr id="row_207_7_22_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_conjugate.html" target="_self">mlx::core::Conjugate</a></td><td class="desc"></td></tr>
<tr id="row_207_7_23_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_convolution.html" target="_self">mlx::core::Convolution</a></td><td class="desc"></td></tr>
<tr id="row_207_7_24_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_copy.html" target="_self">mlx::core::Copy</a></td><td class="desc"></td></tr>
<tr id="row_207_7_25_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_cos.html" target="_self">mlx::core::Cos</a></td><td class="desc"></td></tr>
<tr id="row_207_7_26_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_cosh.html" target="_self">mlx::core::Cosh</a></td><td class="desc"></td></tr>
<tr id="row_207_7_27_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_divide.html" target="_self">mlx::core::Divide</a></td><td class="desc"></td></tr>
<tr id="row_207_7_28_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_equal.html" target="_self">mlx::core::Equal</a></td><td class="desc"></td></tr>
<tr id="row_207_7_29_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_erf.html" target="_self">mlx::core::Erf</a></td><td class="desc"></td></tr>
<tr id="row_207_7_30_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_erf_inv.html" target="_self">mlx::core::ErfInv</a></td><td class="desc"></td></tr>
<tr id="row_207_7_31_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_exp.html" target="_self">mlx::core::Exp</a></td><td class="desc"></td></tr>
<tr id="row_207_7_32_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_expm1.html" target="_self">mlx::core::Expm1</a></td><td class="desc"></td></tr>
<tr id="row_207_7_33_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_f_f_t.html" target="_self">mlx::core::FFT</a></td><td class="desc"></td></tr>
<tr id="row_207_7_34_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_floor.html" target="_self">mlx::core::Floor</a></td><td class="desc"></td></tr>
<tr id="row_207_7_35_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_full.html" target="_self">mlx::core::Full</a></td><td class="desc"></td></tr>
<tr id="row_207_7_36_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_gather.html" target="_self">mlx::core::Gather</a></td><td class="desc"></td></tr>
<tr id="row_207_7_37_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_gather_m_m.html" target="_self">mlx::core::GatherMM</a></td><td class="desc"></td></tr>
<tr id="row_207_7_38_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_gather_q_m_m.html" target="_self">mlx::core::GatherQMM</a></td><td class="desc"></td></tr>
<tr id="row_207_7_39_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_greater.html" target="_self">mlx::core::Greater</a></td><td class="desc"></td></tr>
<tr id="row_207_7_40_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_greater_equal.html" target="_self">mlx::core::GreaterEqual</a></td><td class="desc"></td></tr>
<tr id="row_207_7_41_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_hadamard.html" target="_self">mlx::core::Hadamard</a></td><td class="desc"></td></tr>
<tr id="row_207_7_42_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_imag.html" target="_self">mlx::core::Imag</a></td><td class="desc"></td></tr>
<tr id="row_207_7_43_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_inverse.html" target="_self">mlx::core::Inverse</a></td><td class="desc"></td></tr>
<tr id="row_207_7_44_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_less.html" target="_self">mlx::core::Less</a></td><td class="desc"></td></tr>
<tr id="row_207_7_45_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_less_equal.html" target="_self">mlx::core::LessEqual</a></td><td class="desc"></td></tr>
<tr id="row_207_7_46_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_load.html" target="_self">mlx::core::Load</a></td><td class="desc"></td></tr>
<tr id="row_207_7_47_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log.html" target="_self">mlx::core::Log</a></td><td class="desc"></td></tr>
<tr id="row_207_7_48_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log1p.html" target="_self">mlx::core::Log1p</a></td><td class="desc"></td></tr>
<tr id="row_207_7_49_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_log_add_exp.html" target="_self">mlx::core::LogAddExp</a></td><td class="desc"></td></tr>
<tr id="row_207_7_50_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_and.html" target="_self">mlx::core::LogicalAnd</a></td><td class="desc"></td></tr>
<tr id="row_207_7_51_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_not.html" target="_self">mlx::core::LogicalNot</a></td><td class="desc"></td></tr>
<tr id="row_207_7_52_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_logical_or.html" target="_self">mlx::core::LogicalOr</a></td><td class="desc"></td></tr>
<tr id="row_207_7_53_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_matmul.html" target="_self">mlx::core::Matmul</a></td><td class="desc"></td></tr>
<tr id="row_207_7_54_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_maximum.html" target="_self">mlx::core::Maximum</a></td><td class="desc"></td></tr>
<tr id="row_207_7_55_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_minimum.html" target="_self">mlx::core::Minimum</a></td><td class="desc"></td></tr>
<tr id="row_207_7_56_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_multiply.html" target="_self">mlx::core::Multiply</a></td><td class="desc"></td></tr>
<tr id="row_207_7_57_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_negative.html" target="_self">mlx::core::Negative</a></td><td class="desc"></td></tr>
<tr id="row_207_7_58_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_not_equal.html" target="_self">mlx::core::NotEqual</a></td><td class="desc"></td></tr>
<tr id="row_207_7_59_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_number_of_elements.html" target="_self">mlx::core::NumberOfElements</a></td><td class="desc"></td></tr>
<tr id="row_207_7_60_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_pad.html" target="_self">mlx::core::Pad</a></td><td class="desc"></td></tr>
<tr id="row_207_7_61_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_partition.html" target="_self">mlx::core::Partition</a></td><td class="desc"></td></tr>
<tr id="row_207_7_62_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_power.html" target="_self">mlx::core::Power</a></td><td class="desc"></td></tr>
<tr id="row_207_7_63_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_quantized_matmul.html" target="_self">mlx::core::QuantizedMatmul</a></td><td class="desc"></td></tr>
<tr id="row_207_7_64_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_random_bits.html" target="_self">mlx::core::RandomBits</a></td><td class="desc"></td></tr>
<tr id="row_207_7_65_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_real.html" target="_self">mlx::core::Real</a></td><td class="desc"></td></tr>
<tr id="row_207_7_66_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_reduce.html" target="_self">mlx::core::Reduce</a></td><td class="desc"></td></tr>
<tr id="row_207_7_67_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_remainder.html" target="_self">mlx::core::Remainder</a></td><td class="desc"></td></tr>
<tr id="row_207_7_68_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_reshape.html" target="_self">mlx::core::Reshape</a></td><td class="desc"></td></tr>
<tr id="row_207_7_69_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_round.html" target="_self">mlx::core::Round</a></td><td class="desc"></td></tr>
<tr id="row_207_7_70_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_scan.html" target="_self">mlx::core::Scan</a></td><td class="desc"></td></tr>
<tr id="row_207_7_71_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_scatter.html" target="_self">mlx::core::Scatter</a></td><td class="desc"></td></tr>
<tr id="row_207_7_72_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_select.html" target="_self">mlx::core::Select</a></td><td class="desc"></td></tr>
<tr id="row_207_7_73_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sigmoid.html" target="_self">mlx::core::Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_207_7_74_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sign.html" target="_self">mlx::core::Sign</a></td><td class="desc"></td></tr>
<tr id="row_207_7_75_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sin.html" target="_self">mlx::core::Sin</a></td><td class="desc"></td></tr>
<tr id="row_207_7_76_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sinh.html" target="_self">mlx::core::Sinh</a></td><td class="desc"></td></tr>
<tr id="row_207_7_77_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_slice.html" target="_self">mlx::core::Slice</a></td><td class="desc"></td></tr>
<tr id="row_207_7_78_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_slice_update.html" target="_self">mlx::core::SliceUpdate</a></td><td class="desc"></td></tr>
<tr id="row_207_7_79_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_softmax.html" target="_self">mlx::core::Softmax</a></td><td class="desc"></td></tr>
<tr id="row_207_7_80_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sort.html" target="_self">mlx::core::Sort</a></td><td class="desc"></td></tr>
<tr id="row_207_7_81_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_sqrt.html" target="_self">mlx::core::Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_207_7_82_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_square.html" target="_self">mlx::core::Square</a></td><td class="desc"></td></tr>
<tr id="row_207_7_83_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_stop_gradient.html" target="_self">mlx::core::StopGradient</a></td><td class="desc"></td></tr>
<tr id="row_207_7_84_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_subtract.html" target="_self">mlx::core::Subtract</a></td><td class="desc"></td></tr>
<tr id="row_207_7_85_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_tan.html" target="_self">mlx::core::Tan</a></td><td class="desc"></td></tr>
<tr id="row_207_7_86_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_tanh.html" target="_self">mlx::core::Tanh</a></td><td class="desc"></td></tr>
<tr id="row_207_7_87_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_transpose.html" target="_self">mlx::core::Transpose</a></td><td class="desc"></td></tr>
<tr id="row_207_7_88_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_uniform.html" target="_self">mlx::core::Uniform</a></td><td class="desc"></td></tr>
<tr id="row_207_7_89_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1_view.html" target="_self">mlx::core::View</a></td><td class="desc"></td></tr>
<tr id="row_207_8_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_207_8_" class="arrow" onclick="dynsection.toggleFolder('207_8_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_dist_primitive.html" target="_self">mlx::core::distributed::DistPrimitive</a></td><td class="desc"></td></tr>
<tr id="row_207_8_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_all_gather.html" target="_self">mlx::core::distributed::AllGather</a></td><td class="desc"></td></tr>
<tr id="row_207_8_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_all_reduce.html" target="_self">mlx::core::distributed::AllReduce</a></td><td class="desc"></td></tr>
<tr id="row_207_8_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_recv.html" target="_self">mlx::core::distributed::Recv</a></td><td class="desc"></td></tr>
<tr id="row_207_8_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1distributed_1_1_send.html" target="_self">mlx::core::distributed::Send</a></td><td class="desc"></td></tr>
<tr id="row_207_9_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_207_9_" class="arrow" onclick="dynsection.toggleFolder('207_9_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_custom.html" target="_self">mlx::core::fast::Custom</a></td><td class="desc"></td></tr>
<tr id="row_207_9_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_affine_quantize.html" target="_self">mlx::core::fast::AffineQuantize</a></td><td class="desc"></td></tr>
<tr id="row_207_9_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_layer_norm.html" target="_self">mlx::core::fast::LayerNorm</a></td><td class="desc"></td></tr>
<tr id="row_207_9_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_layer_norm_v_j_p.html" target="_self">mlx::core::fast::LayerNormVJP</a></td><td class="desc"></td></tr>
<tr id="row_207_9_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_r_m_s_norm.html" target="_self">mlx::core::fast::RMSNorm</a></td><td class="desc"></td></tr>
<tr id="row_207_9_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_r_m_s_norm_v_j_p.html" target="_self">mlx::core::fast::RMSNormVJP</a></td><td class="desc"></td></tr>
<tr id="row_207_9_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_ro_p_e.html" target="_self">mlx::core::fast::RoPE</a></td><td class="desc"></td></tr>
<tr id="row_207_9_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_scaled_dot_product_attention.html" target="_self">mlx::core::fast::ScaledDotProductAttention</a></td><td class="desc"></td></tr>
<tr id="row_207_10_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1fast_1_1_custom_kernel.html" target="_self">mlx::core::fast::CustomKernel</a></td><td class="desc"></td></tr>
<tr id="row_208_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_print_formatter.html" target="_self">mlx::core::PrintFormatter</a></td><td class="desc"></td></tr>
<tr id="row_209_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_prod.html" target="_self">Prod&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_210_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_quantized_block_loader.html" target="_self">QuantizedBlockLoader&lt; T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, group_size, bits &gt;</a></td><td class="desc"></td></tr>
<tr id="row_211_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_211_" class="arrow" onclick="dynsection.toggleFolder('211_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1io_1_1_reader.html" target="_self">mlx::core::io::Reader</a></td><td class="desc"></td></tr>
<tr id="row_211_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1io_1_1_parallel_file_reader.html" target="_self">mlx::core::io::ParallelFileReader</a></td><td class="desc"></td></tr>
<tr id="row_212_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_block_loader_1_1_read_vector.html" target="_self">mlx::steel::BlockLoader&lt; T, BROWS, BCOLS, dst_ld, reduction_dim, tgp_size, alignment, n_reads, TCOLS, TROWS &gt;::ReadVector</a></td><td class="desc"></td></tr>
<tr id="row_213_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_read_writer.html" target="_self">ReadWriter&lt; in_T, out_T, step, four_step_real &gt;</a></td><td class="desc"></td></tr>
<tr id="row_214_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_real.html" target="_self">mlx::core::detail::Real</a></td><td class="desc"></td></tr>
<tr id="row_215_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_real.html" target="_self">Real</a></td><td class="desc"></td></tr>
<tr id="row_216_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_reduction_plan.html" target="_self">mlx::core::ReductionPlan</a></td><td class="desc"></td></tr>
<tr id="row_217_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_remainder.html" target="_self">mlx::core::detail::Remainder</a></td><td class="desc"></td></tr>
<tr id="row_218_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_remainder.html" target="_self">Remainder</a></td><td class="desc"></td></tr>
<tr id="row_219_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_retain_graph.html" target="_self">mlx::core::detail::RetainGraph</a></td><td class="desc"></td></tr>
<tr id="row_220_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1rev__iter.html" target="_self">pocketfft::detail::rev_iter</a></td><td class="desc"></td></tr>
<tr id="row_221_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1rfftp.html" target="_self">pocketfft::detail::rfftp&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_222_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_right_shift.html" target="_self">mlx::core::detail::RightShift</a></td><td class="desc"></td></tr>
<tr id="row_223_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_right_shift.html" target="_self">RightShift</a></td><td class="desc"></td></tr>
<tr id="row_224_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_round.html" target="_self">mlx::core::detail::Round</a></td><td class="desc"></td></tr>
<tr id="row_225_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_round.html" target="_self">Round</a></td><td class="desc"></td></tr>
<tr id="row_226_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_rsqrt.html" target="_self">mlx::core::detail::Rsqrt</a></td><td class="desc"></td></tr>
<tr id="row_227_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_rsqrt.html" target="_self">Rsqrt</a></td><td class="desc"></td></tr>
<tr id="row_228_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_scale_op.html" target="_self">ScaleOp&lt; OutT, InT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_229_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1scheduler_1_1_scheduler.html" target="_self">mlx::core::scheduler::Scheduler</a></td><td class="desc"></td></tr>
<tr id="row_230_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_select.html" target="_self">mlx::core::detail::Select</a></td><td class="desc"></td></tr>
<tr id="row_231_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_select.html" target="_self">Select</a></td><td class="desc"></td></tr>
<tr id="row_232_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sigmoid.html" target="_self">mlx::core::detail::Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_233_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sigmoid.html" target="_self">Sigmoid</a></td><td class="desc"></td></tr>
<tr id="row_234_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sign.html" target="_self">mlx::core::detail::Sign</a></td><td class="desc"></td></tr>
<tr id="row_235_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sign.html" target="_self">Sign</a></td><td class="desc"></td></tr>
<tr id="row_236_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1simple__iter.html" target="_self">pocketfft::detail::simple_iter</a></td><td class="desc"></td></tr>
<tr id="row_237_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sin.html" target="_self">mlx::core::detail::Sin</a></td><td class="desc"></td></tr>
<tr id="row_238_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sin.html" target="_self">Sin</a></td><td class="desc"></td></tr>
<tr id="row_239_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1sincos__2pibyn.html" target="_self">pocketfft::detail::sincos_2pibyn&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_240_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sinh.html" target="_self">mlx::core::detail::Sinh</a></td><td class="desc"></td></tr>
<tr id="row_241_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sinh.html" target="_self">Sinh</a></td><td class="desc"></td></tr>
<tr id="row_242_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_sqrt.html" target="_self">mlx::core::detail::Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_243_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sqrt.html" target="_self">Sqrt</a></td><td class="desc"></td></tr>
<tr id="row_244_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_square.html" target="_self">mlx::core::detail::Square</a></td><td class="desc"></td></tr>
<tr id="row_245_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_square.html" target="_self">Square</a></td><td class="desc"></td></tr>
<tr id="row_246_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_stream.html" target="_self">mlx::core::Stream</a></td><td class="desc"></td></tr>
<tr id="row_247_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_stream_context.html" target="_self">mlx::core::StreamContext</a></td><td class="desc"></td></tr>
<tr id="row_248_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1scheduler_1_1_stream_thread.html" target="_self">mlx::core::scheduler::StreamThread</a></td><td class="desc"></td></tr>
<tr id="row_249_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_subtract.html" target="_self">mlx::core::detail::Subtract</a></td><td class="desc"></td></tr>
<tr id="row_250_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_subtract.html" target="_self">Subtract</a></td><td class="desc"></td></tr>
<tr id="row_251_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_sum.html" target="_self">Sum&lt; U &gt;</a></td><td class="desc"></td></tr>
<tr id="row_252_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1_t__dcst23.html" target="_self">pocketfft::detail::T_dcst23&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_253_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1_t__dcst4.html" target="_self">pocketfft::detail::T_dcst4&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_254_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1_t__dct1.html" target="_self">pocketfft::detail::T_dct1&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_255_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1_t__dst1.html" target="_self">pocketfft::detail::T_dst1&lt; T0 &gt;</a></td><td class="desc"></td></tr>
<tr id="row_256_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_tan.html" target="_self">mlx::core::detail::Tan</a></td><td class="desc"></td></tr>
<tr id="row_257_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_tan.html" target="_self">Tan</a></td><td class="desc"></td></tr>
<tr id="row_258_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1detail_1_1_tanh.html" target="_self">mlx::core::detail::Tanh</a></td><td class="desc"></td></tr>
<tr id="row_259_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_tanh.html" target="_self">Tanh</a></td><td class="desc"></td></tr>
<tr id="row_260_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classpocketfft_1_1detail_1_1threading_1_1thread__pool.html" target="_self">pocketfft::detail::threading::thread_pool</a></td><td class="desc"></td></tr>
<tr id="row_261_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_thread_pool.html" target="_self">ThreadPool</a></td><td class="desc"></td></tr>
<tr id="row_262_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_thread_sort.html" target="_self">ThreadSort&lt; val_t, idx_t, ARG_SORT, N_PER_THREAD, CompareOp &gt;</a></td><td class="desc"></td></tr>
<tr id="row_263_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_transform_add.html" target="_self">mlx::steel::TransformAdd&lt; OutT, InT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_264_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_transform_axpby.html" target="_self">mlx::steel::TransformAxpby&lt; OutT, InT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_265_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1steel_1_1_transform_none.html" target="_self">mlx::steel::TransformNone&lt; OutT, InT &gt;</a></td><td class="desc"></td></tr>
<tr id="row_266_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structmlx_1_1core_1_1_type_to_dtype.html" target="_self">mlx::core::TypeToDtype&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_267_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpocketfft_1_1detail_1_1util.html" target="_self">pocketfft::detail::util</a></td><td class="desc"></td></tr>
<tr id="row_268_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpocketfft_1_1detail_1_1_v_l_e_n.html" target="_self">pocketfft::detail::VLEN&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_269_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structpocketfft_1_1detail_1_1_v_t_y_p_e.html" target="_self">pocketfft::detail::VTYPE&lt; T &gt;</a></td><td class="desc"></td></tr>
<tr id="row_270_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_270_" class="arrow" onclick="dynsection.toggleFolder('270_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1io_1_1_writer.html" target="_self">mlx::core::io::Writer</a></td><td class="desc"></td></tr>
<tr id="row_270_0_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmlx_1_1core_1_1io_1_1_file_writer.html" target="_self">mlx::core::io::FileWriter</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>MLX &#8212; MLX 0.18.1 documentation</title>
<title>MLX &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="_static/documentation_options.js?v=fbcf6510"></script>
<script src="_static/documentation_options.js?v=bce9d2e1"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -138,8 +138,8 @@
<img src="_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -327,6 +327,7 @@
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -372,6 +373,7 @@
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Build and Install &#8212; MLX 0.18.1 documentation</title>
<title>Build and Install &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="_static/documentation_options.js?v=fbcf6510"></script>
<script src="_static/documentation_options.js?v=bce9d2e1"></script>
<script src="_static/doctools.js?v=9a2dae69"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="python/_autosummary/mlx.core.repeat.html">mlx.core.repeat</a></li>
@ -903,7 +905,7 @@ silicon computer is</p>
<p>To install from PyPI you must meet the following requirements:</p>
<ul class="simple">
<li><p>Using an M series chip (Apple silicon)</p></li>
<li><p>Using a native Python &gt;= 3.8</p></li>
<li><p>Using a native Python &gt;= 3.9</p></li>
<li><p>macOS &gt;= 13.5</p></li>
</ul>
<div class="admonition note">

View File

@ -111,8 +111,8 @@ Namespaces</h2></td></tr>
Functions</h2></td></tr>
<tr class="memitem:a76f614e9956a6ca05a9be4db5a483446" id="r_a76f614e9956a6ca05a9be4db5a483446"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#a76f614e9956a6ca05a9be4db5a483446">mlx::core::get_arange_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;out)</td></tr>
<tr class="separator:a76f614e9956a6ca05a9be4db5a483446"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15175e8e2b1e26726c63393e4d68b628" id="r_a15175e8e2b1e26726c63393e4d68b628"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#a15175e8e2b1e26726c63393e4d68b628">mlx::core::get_unary_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type, const std::string <a class="el" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>)</td></tr>
<tr class="separator:a15175e8e2b1e26726c63393e4d68b628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbb085188b563a54606d84f87a9bf5a6" id="r_afbb085188b563a54606d84f87a9bf5a6"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#afbb085188b563a54606d84f87a9bf5a6">mlx::core::get_unary_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type, const std::string <a class="el" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>)</td></tr>
<tr class="separator:afbb085188b563a54606d84f87a9bf5a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4decd4a07d91487e6903f6e3c8b7513a" id="r_a4decd4a07d91487e6903f6e3c8b7513a"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#a4decd4a07d91487e6903f6e3c8b7513a">mlx::core::get_binary_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type, const std::string <a class="el" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>)</td></tr>
<tr class="separator:a4decd4a07d91487e6903f6e3c8b7513a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e809746f48e5dcf7fa63215d3f5e33e" id="r_a4e809746f48e5dcf7fa63215d3f5e33e"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemlx_1_1core.html#a4e809746f48e5dcf7fa63215d3f5e33e">mlx::core::get_binary_two_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type, const std::string <a class="el" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>)</td></tr>

View File

@ -105,211 +105,212 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a15175e8e2b1e26726c63393e4d68b628"> 15</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a15175e8e2b1e26726c63393e4d68b628">get_unary_kernel</a>(</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#afbb085188b563a54606d84f87a9bf5a6"> 15</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#afbb085188b563a54606d84f87a9bf5a6">get_unary_kernel</a>(</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type,</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keyword">const</span> std::string <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>);</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a4decd4a07d91487e6903f6e3c8b7513a"> 21</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a4decd4a07d91487e6903f6e3c8b7513a">get_binary_kernel</a>(</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type,</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type,</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keyword">const</span> std::string <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>);</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a4e809746f48e5dcf7fa63215d3f5e33e"> 28</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a4e809746f48e5dcf7fa63215d3f5e33e">get_binary_two_kernel</a>(</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type,</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type,</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keyword">const</span> std::string <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>);</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a54eb3b65375022428aab5f810e40624b"> 35</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a54eb3b65375022428aab5f810e40624b">get_ternary_kernel</a>(</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> type,</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keyword">const</span> std::string <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a05a220cff45f12439fde775983c6df78"> 41</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a05a220cff45f12439fde775983c6df78">get_copy_kernel</a>(</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a35a412f688d79eb47e42d20a7c8650ee"> 47</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a35a412f688d79eb47e42d20a7c8650ee">get_softmax_kernel</a>(</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordtype">bool</span> precise,</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#aeefaff208444d3fa61ecc0946fe1de5f"> 53</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#aeefaff208444d3fa61ecc0946fe1de5f">get_scan_kernel</a>(</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordtype">bool</span> reverse,</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">bool</span> inclusive,</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">const</span> std::string&amp; reduce_type,</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a84ebe6275218070f0ea320f126f64e22"> 62</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a84ebe6275218070f0ea320f126f64e22">get_sort_kernel</a>(</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> tn);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#afb57825bb763050cc9a9d194aa41ac36"> 70</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#afb57825bb763050cc9a9d194aa41ac36">get_mb_sort_kernel</a>(</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; idx,</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> tn);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a51c4bb09230348bd0252e22bfdc9bc89"> 78</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a51c4bb09230348bd0252e22bfdc9bc89">get_reduce_init_kernel</a>(</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a7aa91fcfe8b9caa42d60a957f11bfe6b"> 83</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a7aa91fcfe8b9caa42d60a957f11bfe6b">get_reduce_kernel</a>(</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> std::string&amp; func_name,</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">const</span> std::string&amp; op_name,</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordtype">int</span> ndim = -1,</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> bm = -1,</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> bn = -1);</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a84fa8e0aee321a9d614433a0b933103b"> 94</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a84fa8e0aee321a9d614433a0b933103b">get_steel_gemm_fused_kernel</a>(</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">const</span> std::string&amp; hash_name,</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">metal::MTLFCList</a>&amp; func_consts,</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">bool</span> transpose_a,</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">bool</span> transpose_b,</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> wn);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#af48c6f2f72b61dbd6766e4f5fea85df5"> 108</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#af48c6f2f72b61dbd6766e4f5fea85df5">get_steel_gemm_splitk_kernel</a>(</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordtype">bool</span> transpose_a,</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">bool</span> transpose_b,</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> wn,</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">bool</span> mn_aligned,</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">bool</span> k_aligned);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> </div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a195b86cad5bb99aa1bcd23952305af6b"> 123</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a195b86cad5bb99aa1bcd23952305af6b">get_steel_gemm_splitk_accum_kernel</a>(</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordtype">bool</span> axbpy);</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> </div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#ab5f60614e965144b451930fdf935e08d"> 130</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#ab5f60614e965144b451930fdf935e08d">get_steel_gemm_masked_kernel</a>(</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">const</span> std::optional&lt;array&gt;&amp; mask_out,</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">const</span> std::optional&lt;array&gt;&amp; mask_op,</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordtype">bool</span> transpose_a,</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">bool</span> transpose_b,</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> wn,</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">bool</span> mn_aligned,</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">bool</span> k_aligned);</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> </div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#adce79d220672f5f3c65cc31d145ca9c4"> 146</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#adce79d220672f5f3c65cc31d145ca9c4">get_steel_conv_kernel</a>(</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">int</span> wn,</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> n_channel_specialization,</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">bool</span> small_filter);</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a90c24e0d0b99b68fad9deefcf4d3e818"> 158</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a90c24e0d0b99b68fad9deefcf4d3e818">get_gemv_masked_kernel</a>(</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">const</span> std::optional&lt;array&gt;&amp; mask_out,</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">const</span> std::optional&lt;array&gt;&amp; mask_op,</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordtype">bool</span> transpose_mat,</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> sm,</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> sn,</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">int</span> tm,</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">int</span> tn,</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">bool</span> contiguous);</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> </div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#abce2b67044ee06a7bbe7a91ec7c8c48d"> 173</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#abce2b67044ee06a7bbe7a91ec7c8c48d">get_steel_conv_general_kernel</a>(</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">int</span> wn);</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> </div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a1d4cffc3c78067b3d9a62d64f3fb686f"> 183</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a1d4cffc3c78067b3d9a62d64f3fb686f">get_fft_kernel</a>(</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">const</span> std::string&amp; hash_name,</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">metal::MTLFCList</a>&amp; func_consts,</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">const</span> std::string&amp; template_def);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> </div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#aa3faeae5378bfaafe3ce3432a051e43e"> 190</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#aa3faeae5378bfaafe3ce3432a051e43e">get_quantized_kernel</a>(</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">const</span> std::string&amp; template_def);</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span><span class="comment">// Create a GPU kernel template definition for JIT compilation</span></div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Args&gt;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span>std::string</div>
<div class="foldopen" id="foldopen00198" data-start="{" data-end="}">
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#aae0d19f0acdef2accd2428fb84c8a032"> 198</a></span><a class="code hl_function" href="namespacemlx_1_1core.html#aae0d19f0acdef2accd2428fb84c8a032">get_template_definition</a>(std::string name, std::string func, Args... args) {</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> std::ostringstream s;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> s &lt;&lt; func &lt;&lt; <span class="stringliteral">&quot;&lt;&quot;</span>;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">auto</span> add_arg = [&amp;s, &amp;first](<span class="keyword">const</span> <span class="keyword">auto</span>&amp; arg) {</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keywordflow">if</span> (!first) {</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> s &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> }</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> first = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> s &lt;&lt; arg;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> };</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> (add_arg(args), ...);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> s &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span>;</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> std::string base_string = R<span class="stringliteral">&quot;(</span></div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span><span class="stringliteral">template [[host_name(&quot;{0}&quot;)]] [[kernel]] decltype({1}) {1};</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span><span class="stringliteral"> )&quot;;</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="stringliteral"> </span><span class="keywordflow">return</span> fmt::format(base_string, name, s.str());</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span>}</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type,</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type,</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keyword">const</span> std::string <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>);</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a4decd4a07d91487e6903f6e3c8b7513a"> 22</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a4decd4a07d91487e6903f6e3c8b7513a">get_binary_kernel</a>(</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type,</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type,</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keyword">const</span> std::string <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>);</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a4e809746f48e5dcf7fa63215d3f5e33e"> 29</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a4e809746f48e5dcf7fa63215d3f5e33e">get_binary_two_kernel</a>(</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type,</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type,</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">const</span> std::string <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a54eb3b65375022428aab5f810e40624b"> 36</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a54eb3b65375022428aab5f810e40624b">get_ternary_kernel</a>(</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_struct" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> type,</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">const</span> std::string <a class="code hl_variable" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a05a220cff45f12439fde775983c6df78"> 42</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a05a220cff45f12439fde775983c6df78">get_copy_kernel</a>(</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a35a412f688d79eb47e42d20a7c8650ee"> 48</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a35a412f688d79eb47e42d20a7c8650ee">get_softmax_kernel</a>(</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordtype">bool</span> precise,</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#aeefaff208444d3fa61ecc0946fe1de5f"> 54</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#aeefaff208444d3fa61ecc0946fe1de5f">get_scan_kernel</a>(</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">bool</span> reverse,</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">bool</span> inclusive,</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keyword">const</span> std::string&amp; reduce_type,</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> </div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a84ebe6275218070f0ea320f126f64e22"> 63</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a84ebe6275218070f0ea320f126f64e22">get_sort_kernel</a>(</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">int</span> tn);</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#afb57825bb763050cc9a9d194aa41ac36"> 71</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#afb57825bb763050cc9a9d194aa41ac36">get_mb_sort_kernel</a>(</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; idx,</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordtype">int</span> tn);</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a51c4bb09230348bd0252e22bfdc9bc89"> 79</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a51c4bb09230348bd0252e22bfdc9bc89">get_reduce_init_kernel</a>(</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out);</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a7aa91fcfe8b9caa42d60a957f11bfe6b"> 84</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a7aa91fcfe8b9caa42d60a957f11bfe6b">get_reduce_kernel</a>(</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keyword">const</span> std::string&amp; func_name,</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">const</span> std::string&amp; op_name,</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> ndim = -1,</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">int</span> bm = -1,</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordtype">int</span> bn = -1);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> </div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a84fa8e0aee321a9d614433a0b933103b"> 95</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a84fa8e0aee321a9d614433a0b933103b">get_steel_gemm_fused_kernel</a>(</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keyword">const</span> std::string&amp; hash_name,</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">metal::MTLFCList</a>&amp; func_consts,</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">bool</span> transpose_a,</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">bool</span> transpose_b,</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">int</span> wn);</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> </div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#af48c6f2f72b61dbd6766e4f5fea85df5"> 109</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#af48c6f2f72b61dbd6766e4f5fea85df5">get_steel_gemm_splitk_kernel</a>(</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">bool</span> transpose_a,</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordtype">bool</span> transpose_b,</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordtype">int</span> wn,</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordtype">bool</span> mn_aligned,</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordtype">bool</span> k_aligned);</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a195b86cad5bb99aa1bcd23952305af6b"> 124</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a195b86cad5bb99aa1bcd23952305af6b">get_steel_gemm_splitk_accum_kernel</a>(</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; in,</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordtype">bool</span> axbpy);</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#ab5f60614e965144b451930fdf935e08d"> 131</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#ab5f60614e965144b451930fdf935e08d">get_steel_gemm_masked_kernel</a>(</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keyword">const</span> std::optional&lt;array&gt;&amp; mask_out,</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keyword">const</span> std::optional&lt;array&gt;&amp; mask_op,</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordtype">bool</span> transpose_a,</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordtype">bool</span> transpose_b,</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="keywordtype">int</span> wn,</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">bool</span> mn_aligned,</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordtype">bool</span> k_aligned);</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> </div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#adce79d220672f5f3c65cc31d145ca9c4"> 147</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#adce79d220672f5f3c65cc31d145ca9c4">get_steel_conv_kernel</a>(</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordtype">int</span> wn,</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordtype">int</span> n_channel_specialization,</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> <span class="keywordtype">bool</span> small_filter);</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a90c24e0d0b99b68fad9deefcf4d3e818"> 159</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a90c24e0d0b99b68fad9deefcf4d3e818">get_gemv_masked_kernel</a>(</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keyword">const</span> std::optional&lt;array&gt;&amp; mask_out,</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keyword">const</span> std::optional&lt;array&gt;&amp; mask_op,</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <span class="keywordtype">bool</span> transpose_mat,</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> <span class="keywordtype">int</span> sm,</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> <span class="keywordtype">int</span> sn,</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">int</span> tm,</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> <span class="keywordtype">int</span> tn,</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> <span class="keywordtype">bool</span> contiguous);</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#abce2b67044ee06a7bbe7a91ec7c8c48d"> 174</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#abce2b67044ee06a7bbe7a91ec7c8c48d">get_steel_conv_general_kernel</a>(</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <span class="keyword">const</span> <a class="code hl_class" href="classmlx_1_1core_1_1array.html">array</a>&amp; out,</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordtype">int</span> bm,</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">int</span> bn,</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <span class="keywordtype">int</span> bk,</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <span class="keywordtype">int</span> wm,</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="keywordtype">int</span> wn);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#a1d4cffc3c78067b3d9a62d64f3fb686f"> 184</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#a1d4cffc3c78067b3d9a62d64f3fb686f">get_fft_kernel</a>(</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keyword">const</span> std::string&amp; hash_name,</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">metal::MTLFCList</a>&amp; func_consts,</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keyword">const</span> std::string&amp; template_def);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#aa3faeae5378bfaafe3ce3432a051e43e"> 191</a></span>MTL::ComputePipelineState* <a class="code hl_function" href="namespacemlx_1_1core.html#aa3faeae5378bfaafe3ce3432a051e43e">get_quantized_kernel</a>(</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_class" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a>&amp; d,</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> <span class="keyword">const</span> std::string&amp; kernel_name,</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <span class="keyword">const</span> std::string&amp; template_def);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> </div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="comment">// Create a GPU kernel template definition for JIT compilation</span></div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span>... Args&gt;</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span>std::string</div>
<div class="foldopen" id="foldopen00199" data-start="{" data-end="}">
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="namespacemlx_1_1core.html#aae0d19f0acdef2accd2428fb84c8a032"> 199</a></span><a class="code hl_function" href="namespacemlx_1_1core.html#aae0d19f0acdef2accd2428fb84c8a032">get_template_definition</a>(std::string name, std::string func, Args... args) {</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> std::ostringstream s;</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> s &lt;&lt; func &lt;&lt; <span class="stringliteral">&quot;&lt;&quot;</span>;</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">auto</span> add_arg = [&amp;s, &amp;first](<span class="keyword">const</span> <span class="keyword">auto</span>&amp; arg) {</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keywordflow">if</span> (!first) {</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> s &lt;&lt; <span class="stringliteral">&quot;, &quot;</span>;</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> }</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> first = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> s &lt;&lt; arg;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> };</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> (add_arg(args), ...);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> s &lt;&lt; <span class="stringliteral">&quot;&gt;&quot;</span>;</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> std::string base_string = R<span class="stringliteral">&quot;(</span></div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span><span class="stringliteral">template [[host_name(&quot;{0}&quot;)]] [[kernel]] decltype({1}) {1};</span></div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span><span class="stringliteral"> )&quot;;</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span><span class="stringliteral"> </span><span class="keywordflow">return</span> fmt::format(base_string, name, s.str());</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span>}</div>
</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> </div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span>} <span class="comment">// namespace mlx::core</span></div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> </div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</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="abackend_2metal_2device_8h_html"><div class="ttname"><a href="backend_2metal_2device_8h.html">device.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>
@ -318,7 +319,6 @@ $(function(){ initResizable(false); });
<div class="ttc" id="anamespacemlx_1_1core_1_1metal_html_a616e09a1ef321d527770721cef264c54"><div class="ttname"><a href="namespacemlx_1_1core_1_1metal.html#a616e09a1ef321d527770721cef264c54">mlx::core::metal::MTLFCList</a></div><div class="ttdeci">std::vector&lt; std::tuple&lt; const void *, MTL::DataType, NS::UInteger &gt; &gt; MTLFCList</div><div class="ttdef"><b>Definition</b> device.h:38</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html"><div class="ttname"><a href="namespacemlx_1_1core.html">mlx::core</a></div><div class="ttdef"><b>Definition</b> allocator.h:7</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a05a220cff45f12439fde775983c6df78"><div class="ttname"><a href="namespacemlx_1_1core.html#a05a220cff45f12439fde775983c6df78">mlx::core::get_copy_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_copy_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const array &amp;in, const array &amp;out)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a15175e8e2b1e26726c63393e4d68b628"><div class="ttname"><a href="namespacemlx_1_1core.html#a15175e8e2b1e26726c63393e4d68b628">mlx::core::get_unary_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_unary_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, Dtype out_type, const std::string op)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a195b86cad5bb99aa1bcd23952305af6b"><div class="ttname"><a href="namespacemlx_1_1core.html#a195b86cad5bb99aa1bcd23952305af6b">mlx::core::get_steel_gemm_splitk_accum_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_steel_gemm_splitk_accum_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const array &amp;in, const array &amp;out, bool axbpy)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a1d4cffc3c78067b3d9a62d64f3fb686f"><div class="ttname"><a href="namespacemlx_1_1core.html#a1d4cffc3c78067b3d9a62d64f3fb686f">mlx::core::get_fft_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_fft_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const std::string &amp;hash_name, const metal::MTLFCList &amp;func_consts, const std::string &amp;template_def)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a35a412f688d79eb47e42d20a7c8650ee"><div class="ttname"><a href="namespacemlx_1_1core.html#a35a412f688d79eb47e42d20a7c8650ee">mlx::core::get_softmax_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_softmax_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, bool precise, const array &amp;out)</div></div>
@ -332,13 +332,14 @@ $(function(){ initResizable(false); });
<div class="ttc" id="anamespacemlx_1_1core_html_a84fa8e0aee321a9d614433a0b933103b"><div class="ttname"><a href="namespacemlx_1_1core.html#a84fa8e0aee321a9d614433a0b933103b">mlx::core::get_steel_gemm_fused_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_steel_gemm_fused_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const std::string &amp;hash_name, const metal::MTLFCList &amp;func_consts, const array &amp;out, bool transpose_a, bool transpose_b, int bm, int bn, int bk, int wm, int wn)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_a90c24e0d0b99b68fad9deefcf4d3e818"><div class="ttname"><a href="namespacemlx_1_1core.html#a90c24e0d0b99b68fad9deefcf4d3e818">mlx::core::get_gemv_masked_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_gemv_masked_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const array &amp;out, const std::optional&lt; array &gt; &amp;mask_out, const std::optional&lt; array &gt; &amp;mask_op, bool transpose_mat, int bm, int bn, int sm, int sn, int tm, int tn, bool contiguous)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_aa3faeae5378bfaafe3ce3432a051e43e"><div class="ttname"><a href="namespacemlx_1_1core.html#aa3faeae5378bfaafe3ce3432a051e43e">mlx::core::get_quantized_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_quantized_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const std::string &amp;template_def)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_aae0d19f0acdef2accd2428fb84c8a032"><div class="ttname"><a href="namespacemlx_1_1core.html#aae0d19f0acdef2accd2428fb84c8a032">mlx::core::get_template_definition</a></div><div class="ttdeci">std::string get_template_definition(std::string name, std::string func, Args... args)</div><div class="ttdef"><b>Definition</b> kernels.h:198</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_aae0d19f0acdef2accd2428fb84c8a032"><div class="ttname"><a href="namespacemlx_1_1core.html#aae0d19f0acdef2accd2428fb84c8a032">mlx::core::get_template_definition</a></div><div class="ttdeci">std::string get_template_definition(std::string name, std::string func, Args... args)</div><div class="ttdef"><b>Definition</b> kernels.h:199</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_ab5f60614e965144b451930fdf935e08d"><div class="ttname"><a href="namespacemlx_1_1core.html#ab5f60614e965144b451930fdf935e08d">mlx::core::get_steel_gemm_masked_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_steel_gemm_masked_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const array &amp;out, const std::optional&lt; array &gt; &amp;mask_out, const std::optional&lt; array &gt; &amp;mask_op, bool transpose_a, bool transpose_b, int bm, int bn, int bk, int wm, int wn, bool mn_aligned, bool k_aligned)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_abce2b67044ee06a7bbe7a91ec7c8c48d"><div class="ttname"><a href="namespacemlx_1_1core.html#abce2b67044ee06a7bbe7a91ec7c8c48d">mlx::core::get_steel_conv_general_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_steel_conv_general_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const array &amp;out, int bm, int bn, int bk, int wm, int wn)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_adce79d220672f5f3c65cc31d145ca9c4"><div class="ttname"><a href="namespacemlx_1_1core.html#adce79d220672f5f3c65cc31d145ca9c4">mlx::core::get_steel_conv_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_steel_conv_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const array &amp;out, int bm, int bn, int bk, int wm, int wn, int n_channel_specialization, bool small_filter)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_aeefaff208444d3fa61ecc0946fe1de5f"><div class="ttname"><a href="namespacemlx_1_1core.html#aeefaff208444d3fa61ecc0946fe1de5f">mlx::core::get_scan_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_scan_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, bool reverse, bool inclusive, const std::string &amp;reduce_type, const array &amp;in, const array &amp;out)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_af48c6f2f72b61dbd6766e4f5fea85df5"><div class="ttname"><a href="namespacemlx_1_1core.html#af48c6f2f72b61dbd6766e4f5fea85df5">mlx::core::get_steel_gemm_splitk_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_steel_gemm_splitk_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const array &amp;in, const array &amp;out, bool transpose_a, bool transpose_b, int bm, int bn, int bk, int wm, int wn, bool mn_aligned, bool k_aligned)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_afb57825bb763050cc9a9d194aa41ac36"><div class="ttname"><a href="namespacemlx_1_1core.html#afb57825bb763050cc9a9d194aa41ac36">mlx::core::get_mb_sort_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_mb_sort_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, const array &amp;in, const array &amp;idx, int bn, int tn)</div></div>
<div class="ttc" id="anamespacemlx_1_1core_html_afbb085188b563a54606d84f87a9bf5a6"><div class="ttname"><a href="namespacemlx_1_1core.html#afbb085188b563a54606d84f87a9bf5a6">mlx::core::get_unary_kernel</a></div><div class="ttdeci">MTL::ComputePipelineState * get_unary_kernel(metal::Device &amp;d, const std::string &amp;kernel_name, Dtype in_type, Dtype out_type, const std::string op)</div></div>
<div class="ttc" id="astructmlx_1_1core_1_1_dtype_html"><div class="ttname"><a href="structmlx_1_1core_1_1_dtype.html">mlx::core::Dtype</a></div><div class="ttdef"><b>Definition</b> dtype.h:13</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->

View File

@ -98,24 +98,24 @@ $(function(){ initResizable(false); });
<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:ada52df4976078091cd7b47c152f326fb" id="r_ada52df4976078091cd7b47c152f326fb"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Op &gt; </td></tr>
<tr class="memitem:ada52df4976078091cd7b47c152f326fb"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ada52df4976078091cd7b47c152f326fb">unary_v</a> (device const T *in, device T *out, uint index)</td></tr>
<tr class="separator:ada52df4976078091cd7b47c152f326fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95f7b9c0112cdc84ae10465fb74d29dd" id="r_a95f7b9c0112cdc84ae10465fb74d29dd"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Op &gt; </td></tr>
<tr class="memitem:a95f7b9c0112cdc84ae10465fb74d29dd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a95f7b9c0112cdc84ae10465fb74d29dd">unary_v2</a> (device const T *in, device T *out, uint2 index, uint2 grid_dim)</td></tr>
<tr class="separator:a95f7b9c0112cdc84ae10465fb74d29dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3087458e6d5af4e08a4603802f134263" id="r_a3087458e6d5af4e08a4603802f134263"><td class="memTemplParams" colspan="2">template&lt;typename T , typename Op , int N = 1&gt; </td></tr>
<tr class="memitem:a3087458e6d5af4e08a4603802f134263"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a3087458e6d5af4e08a4603802f134263">unary_g</a> (device const T *in, device T *out, constant const int *in_shape, constant const size_t *in_strides, device const int &amp;ndim, uint3 index, uint3 grid_dim)</td></tr>
<tr class="separator:a3087458e6d5af4e08a4603802f134263"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64e4f6737edddb72122e262977ee3014" id="r_a64e4f6737edddb72122e262977ee3014"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , typename Op &gt; </td></tr>
<tr class="memitem:a64e4f6737edddb72122e262977ee3014"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a64e4f6737edddb72122e262977ee3014">unary_v</a> (device const T *in, device U *out, uint index)</td></tr>
<tr class="separator:a64e4f6737edddb72122e262977ee3014"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c7690f0df9d2acc60b63be58d9c7777" id="r_a7c7690f0df9d2acc60b63be58d9c7777"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , typename Op &gt; </td></tr>
<tr class="memitem:a7c7690f0df9d2acc60b63be58d9c7777"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a7c7690f0df9d2acc60b63be58d9c7777">unary_v2</a> (device const T *in, device U *out, uint2 index, uint2 grid_dim)</td></tr>
<tr class="separator:a7c7690f0df9d2acc60b63be58d9c7777"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac965f8d3ed62f8580dbfb645e83d4ae5" id="r_ac965f8d3ed62f8580dbfb645e83d4ae5"><td class="memTemplParams" colspan="2">template&lt;typename T , typename U , typename Op , int N = 1&gt; </td></tr>
<tr class="memitem:ac965f8d3ed62f8580dbfb645e83d4ae5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ac965f8d3ed62f8580dbfb645e83d4ae5">unary_g</a> (device const T *in, device U *out, constant const int *in_shape, constant const size_t *in_strides, device const int &amp;ndim, uint3 index, uint3 grid_dim)</td></tr>
<tr class="separator:ac965f8d3ed62f8580dbfb645e83d4ae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a3087458e6d5af4e08a4603802f134263" name="a3087458e6d5af4e08a4603802f134263"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3087458e6d5af4e08a4603802f134263">&#9670;&#160;</a></span>unary_g()</h2>
<a id="ac965f8d3ed62f8580dbfb645e83d4ae5" name="ac965f8d3ed62f8580dbfb645e83d4ae5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac965f8d3ed62f8580dbfb645e83d4ae5">&#9670;&#160;</a></span>unary_g()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Op , int N = 1&gt; </div>
template&lt;typename T , typename U , typename Op , int N = 1&gt; </div>
<table class="memname">
<tr>
<td class="memname">void unary_g </td>
@ -125,7 +125,7 @@ template&lt;typename T , typename Op , int N = 1&gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">device T *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
<td class="paramtype">device U *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@ -157,13 +157,13 @@ template&lt;typename T , typename Op , int N = 1&gt; </div>
</div>
</div>
<a id="ada52df4976078091cd7b47c152f326fb" name="ada52df4976078091cd7b47c152f326fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada52df4976078091cd7b47c152f326fb">&#9670;&#160;</a></span>unary_v()</h2>
<a id="a64e4f6737edddb72122e262977ee3014" name="a64e4f6737edddb72122e262977ee3014"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64e4f6737edddb72122e262977ee3014">&#9670;&#160;</a></span>unary_v()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Op &gt; </div>
template&lt;typename T , typename U , typename Op &gt; </div>
<table class="memname">
<tr>
<td class="memname">void unary_v </td>
@ -173,7 +173,7 @@ template&lt;typename T , typename Op &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">device T *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
<td class="paramtype">device U *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
@ -185,13 +185,13 @@ template&lt;typename T , typename Op &gt; </div>
</div>
</div>
<a id="a95f7b9c0112cdc84ae10465fb74d29dd" name="a95f7b9c0112cdc84ae10465fb74d29dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95f7b9c0112cdc84ae10465fb74d29dd">&#9670;&#160;</a></span>unary_v2()</h2>
<a id="a7c7690f0df9d2acc60b63be58d9c7777" name="a7c7690f0df9d2acc60b63be58d9c7777"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c7690f0df9d2acc60b63be58d9c7777">&#9670;&#160;</a></span>unary_v2()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T , typename Op &gt; </div>
template&lt;typename T , typename U , typename Op &gt; </div>
<table class="memname">
<tr>
<td class="memname">void unary_v2 </td>
@ -201,7 +201,7 @@ template&lt;typename T , typename Op &gt; </div>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">device T *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
<td class="paramtype">device U *</td> <td class="paramname"><span class="paramname"><em>out</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>

View File

@ -93,21 +93,21 @@ $(function(){ initResizable(false); });
<div class="contents">
<a href="metal_2kernels_2unary_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">// Copyright © 2024 Apple Inc.</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span> </div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Op&gt;</div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, <span class="keyword">typename</span> Op&gt;</div>
<div class="foldopen" id="foldopen00004" data-start="{" data-end="}">
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb"> 4</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb">unary_v</a>(</div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014"> 4</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014">unary_v</a>(</div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span> device <span class="keyword">const</span> T* in,</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> device T* out,</div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span> device U* out,</div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span> uint index [[thread_position_in_grid]]) {</div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span> out[index] = Op()(in[index]);</div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span>}</div>
</div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span> </div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Op&gt;</div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, <span class="keyword">typename</span> Op&gt;</div>
<div class="foldopen" id="foldopen00012" data-start="{" data-end="}">
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd"> 12</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd">unary_v2</a>(</div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777"> 12</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777">unary_v2</a>(</div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> device <span class="keyword">const</span> T* in,</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> device T* out,</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> device U* out,</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> uint2 index [[thread_position_in_grid]],</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> uint2 grid_dim [[threads_per_grid]]) {</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keywordtype">size_t</span> offset = index.x + grid_dim.x * size_t(index.y);</div>
@ -115,11 +115,11 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span>}</div>
</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> Op, <span class="keywordtype">int</span> N = 1&gt;</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> T, <span class="keyword">typename</span> U, <span class="keyword">typename</span> Op, <span class="keywordtype">int</span> N = 1&gt;</div>
<div class="foldopen" id="foldopen00022" data-start="{" data-end="}">
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263"> 22</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263">unary_g</a>(</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5"> 22</a></span>[[kernel]] <span class="keywordtype">void</span> <a class="code hl_function" href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5">unary_g</a>(</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> device <span class="keyword">const</span> T* in,</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> device T* out,</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> device U* out,</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> constant <span class="keyword">const</span> <span class="keywordtype">int</span>* in_shape,</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> constant <span class="keyword">const</span> <span class="keywordtype">size_t</span>* in_strides,</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> device <span class="keyword">const</span> <span class="keywordtype">int</span>&amp; ndim,</div>
@ -138,9 +138,9 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span>}</div>
</div>
<div class="ttc" id="abackend_2metal_2kernels_2utils_8h_html_a8fd0c8fc6058e650fc99bca8b6acd7d1"><div class="ttname"><a href="backend_2metal_2kernels_2utils_8h.html#a8fd0c8fc6058e650fc99bca8b6acd7d1">elem_to_loc</a></div><div class="ttdeci">METAL_FUNC stride_t elem_to_loc(uint elem, constant const int *shape, constant const stride_t *strides, int ndim)</div><div class="ttdef"><b>Definition</b> utils.h:87</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_a3087458e6d5af4e08a4603802f134263"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#a3087458e6d5af4e08a4603802f134263">unary_g</a></div><div class="ttdeci">void unary_g(device const T *in, device T *out, constant const int *in_shape, constant const size_t *in_strides, device const int &amp;ndim, uint3 index, uint3 grid_dim)</div><div class="ttdef"><b>Definition</b> unary.h:22</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_a95f7b9c0112cdc84ae10465fb74d29dd"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#a95f7b9c0112cdc84ae10465fb74d29dd">unary_v2</a></div><div class="ttdeci">void unary_v2(device const T *in, device T *out, uint2 index, uint2 grid_dim)</div><div class="ttdef"><b>Definition</b> unary.h:12</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_ada52df4976078091cd7b47c152f326fb"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#ada52df4976078091cd7b47c152f326fb">unary_v</a></div><div class="ttdeci">void unary_v(device const T *in, device T *out, uint index)</div><div class="ttdef"><b>Definition</b> unary.h:4</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_a64e4f6737edddb72122e262977ee3014"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#a64e4f6737edddb72122e262977ee3014">unary_v</a></div><div class="ttdeci">void unary_v(device const T *in, device U *out, uint index)</div><div class="ttdef"><b>Definition</b> unary.h:4</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_a7c7690f0df9d2acc60b63be58d9c7777"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#a7c7690f0df9d2acc60b63be58d9c7777">unary_v2</a></div><div class="ttdeci">void unary_v2(device const T *in, device U *out, uint2 index, uint2 grid_dim)</div><div class="ttdef"><b>Definition</b> unary.h:12</div></div>
<div class="ttc" id="ametal_2kernels_2unary_8h_html_ac965f8d3ed62f8580dbfb645e83d4ae5"><div class="ttname"><a href="metal_2kernels_2unary_8h.html#ac965f8d3ed62f8580dbfb645e83d4ae5">unary_g</a></div><div class="ttdeci">void unary_g(device const T *in, device U *out, constant const int *in_shape, constant const size_t *in_strides, device const int &amp;ndim, uint3 index, uint3 grid_dim)</div><div class="ttdef"><b>Definition</b> unary.h:22</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>

View File

@ -100,7 +100,7 @@ $(function(){ initResizable(false); });
<li>get_arange_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a76f614e9956a6ca05a9be4db5a483446">mlx::core</a></li>
<li>get_binary_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a4decd4a07d91487e6903f6e3c8b7513a">mlx::core</a></li>
<li>get_binary_two_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a4e809746f48e5dcf7fa63215d3f5e33e">mlx::core</a></li>
<li>get_block_dims()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a7b3f872f6046bdd4d429ee1f1c31cd40">mlx::core</a></li>
<li>get_block_dims()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a0f0f59d3ffe2d16a684e5fc093302e15">mlx::core</a></li>
<li>get_cache_memory()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1metal.html#a43307654f62ed7c58e014be7fb03909c">mlx::core::metal</a></li>
<li>get_colocated_mtllib_path()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1metal.html#a5fd6ba2040e53a254b9d71ae7ebd315f">mlx::core::metal</a></li>
<li>get_copy_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a05a220cff45f12439fde775983c6df78">mlx::core</a></li>
@ -128,7 +128,7 @@ $(function(){ initResizable(false); });
<li>get_template_definition()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#aae0d19f0acdef2accd2428fb84c8a032">mlx::core</a></li>
<li>get_ternary_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a54eb3b65375022428aab5f810e40624b">mlx::core</a></li>
<li>get_type_string()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#af776fd91dd60594dcfebbafd17f19068">mlx::core</a></li>
<li>get_unary_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a15175e8e2b1e26726c63393e4d68b628">mlx::core</a></li>
<li>get_unary_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#afbb085188b563a54606d84f87a9bf5a6">mlx::core</a></li>
<li>gguf_load_quantized()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a65dd68163bdaef3631e3724327782498">mlx::core</a></li>
<li>grad()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a3d2b2929ed4636e9e2b86e125b2e57d9">mlx::core</a></li>
<li>greater()&#160;:&#160;<a class="el" href="group__ops.html#gaf4ec7bfc1ad13b891f1f3ef1772ef04d">mlx::core</a></li>

View File

@ -91,6 +91,7 @@ $(function(){ initResizable(false); });
<li>ifft()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1fft.html#a893a667b85d6bef9b27fb40b591352b3">mlx::core::fft</a></li>
<li>ifft2()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1fft.html#a5b5dbc2fd0f4ed32255ae800455855d6">mlx::core::fft</a></li>
<li>ifftn()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1fft.html#acf85f2754160886b08d3759982251e28">mlx::core::fft</a></li>
<li>imag()&#160;:&#160;<a class="el" href="group__ops.html#ga7ff592a64d528f0cf4f3d098465da029">mlx::core</a></li>
<li>init()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1distributed.html#a33633c058c7ec82cca4f237243c6810d">mlx::core::distributed</a></li>
<li>inner()&#160;:&#160;<a class="el" href="group__ops.html#ga654fec16a9746b390916697a2ab2546e">mlx::core</a></li>
<li>inv()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1linalg.html#ad966a0b6bff176c9f933534ed62389a2">mlx::core::linalg</a></li>

View File

@ -93,6 +93,7 @@ $(function(){ initResizable(false); });
<li>r2r_separable_hartley()&#160;:&#160;<a class="el" href="namespacepocketfft_1_1detail.html#a40b56ae882eea17e6960618415f8eb42">pocketfft::detail</a></li>
<li>radians()&#160;:&#160;<a class="el" href="group__ops.html#ga07aa8059adba5b9a8818027b8aafd31e">mlx::core</a></li>
<li>randint()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1random.html#a7289d3791aa4e8bfe28fafef4fb40e3b">mlx::core::random</a></li>
<li>real()&#160;:&#160;<a class="el" href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764">mlx::core</a></li>
<li>reciprocal()&#160;:&#160;<a class="el" href="group__ops.html#ga4d29556bb93e2f66916116cf1f062b36">mlx::core</a></li>
<li>recv()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1distributed_1_1detail.html#a003de04deb00ecbb19179b3f557df548">mlx::core::distributed::detail</a>, <a class="el" href="namespacemlx_1_1core_1_1distributed.html#a10f9d39c02e6e5db600912c03de8b393">mlx::core::distributed</a></li>
<li>recv_like()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1distributed.html#a2822b78bce2c679e6ff940b2fca944f0">mlx::core::distributed</a></li>

View File

@ -104,7 +104,7 @@ $(function(){ initResizable(false); });
<li>get_arange_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a76f614e9956a6ca05a9be4db5a483446">mlx::core</a></li>
<li>get_binary_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a4decd4a07d91487e6903f6e3c8b7513a">mlx::core</a></li>
<li>get_binary_two_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a4e809746f48e5dcf7fa63215d3f5e33e">mlx::core</a></li>
<li>get_block_dims()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a7b3f872f6046bdd4d429ee1f1c31cd40">mlx::core</a></li>
<li>get_block_dims()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a0f0f59d3ffe2d16a684e5fc093302e15">mlx::core</a></li>
<li>get_cache_memory()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1metal.html#a43307654f62ed7c58e014be7fb03909c">mlx::core::metal</a></li>
<li>get_colocated_mtllib_path()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1metal.html#a5fd6ba2040e53a254b9d71ae7ebd315f">mlx::core::metal</a></li>
<li>get_copy_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a05a220cff45f12439fde775983c6df78">mlx::core</a></li>
@ -132,7 +132,7 @@ $(function(){ initResizable(false); });
<li>get_template_definition()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#aae0d19f0acdef2accd2428fb84c8a032">mlx::core</a></li>
<li>get_ternary_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a54eb3b65375022428aab5f810e40624b">mlx::core</a></li>
<li>get_type_string()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#af776fd91dd60594dcfebbafd17f19068">mlx::core</a></li>
<li>get_unary_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a15175e8e2b1e26726c63393e4d68b628">mlx::core</a></li>
<li>get_unary_kernel()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#afbb085188b563a54606d84f87a9bf5a6">mlx::core</a></li>
<li>gguf_load_quantized()&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a65dd68163bdaef3631e3724327782498">mlx::core</a></li>
<li>GGUFLoad&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#aa5b0f7f13a941e1f41c411194e9033c7">mlx::core</a></li>
<li>GGUFMetaData&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a8c2c1b9a37aadfb48f4c3a7e806e32e3">mlx::core</a></li>

View File

@ -91,6 +91,7 @@ $(function(){ initResizable(false); });
<li>ifft()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1fft.html#a893a667b85d6bef9b27fb40b591352b3">mlx::core::fft</a></li>
<li>ifft2()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1fft.html#a5b5dbc2fd0f4ed32255ae800455855d6">mlx::core::fft</a></li>
<li>ifftn()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1fft.html#acf85f2754160886b08d3759982251e28">mlx::core::fft</a></li>
<li>imag()&#160;:&#160;<a class="el" href="group__ops.html#ga7ff592a64d528f0cf4f3d098465da029">mlx::core</a></li>
<li>inexact&#160;:&#160;<a class="el" href="namespacemlx_1_1core.html#a54c6fae21b7f2fea8e6f80011ef38534">mlx::core</a></li>
<li>init()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1distributed.html#a33633c058c7ec82cca4f237243c6810d">mlx::core::distributed</a></li>
<li>inner()&#160;:&#160;<a class="el" href="group__ops.html#ga654fec16a9746b390916697a2ab2546e">mlx::core</a></li>

View File

@ -93,6 +93,7 @@ $(function(){ initResizable(false); });
<li>r2r_separable_hartley()&#160;:&#160;<a class="el" href="namespacepocketfft_1_1detail.html#a40b56ae882eea17e6960618415f8eb42">pocketfft::detail</a></li>
<li>radians()&#160;:&#160;<a class="el" href="group__ops.html#ga07aa8059adba5b9a8818027b8aafd31e">mlx::core</a></li>
<li>randint()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1random.html#a7289d3791aa4e8bfe28fafef4fb40e3b">mlx::core::random</a></li>
<li>real()&#160;:&#160;<a class="el" href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764">mlx::core</a></li>
<li>reciprocal()&#160;:&#160;<a class="el" href="group__ops.html#ga4d29556bb93e2f66916116cf1f062b36">mlx::core</a></li>
<li>recv()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1distributed_1_1detail.html#a003de04deb00ecbb19179b3f557df548">mlx::core::distributed::detail</a>, <a class="el" href="namespacemlx_1_1core_1_1distributed.html#a10f9d39c02e6e5db600912c03de8b393">mlx::core::distributed</a></li>
<li>recv_like()&#160;:&#160;<a class="el" href="namespacemlx_1_1core_1_1distributed.html#a2822b78bce2c679e6ff940b2fca944f0">mlx::core::distributed</a></li>

View File

@ -238,6 +238,8 @@ Classes</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_hadamard.html">Hadamard</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_imag.html">Imag</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_inverse.html">Inverse</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_less.html">Less</a></td></tr>
@ -290,6 +292,8 @@ Classes</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_random_bits.html">RandomBits</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_real.html">Real</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_reduce.html">Reduce</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1_reduction_plan.html">ReductionPlan</a></td></tr>
@ -510,8 +514,8 @@ Functions</h2></td></tr>
<tr class="separator:ae789dbda2a0f4e21aa0984f6a5dc986c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76f614e9956a6ca05a9be4db5a483446" id="r_a76f614e9956a6ca05a9be4db5a483446"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a76f614e9956a6ca05a9be4db5a483446">get_arange_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;out)</td></tr>
<tr class="separator:a76f614e9956a6ca05a9be4db5a483446"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15175e8e2b1e26726c63393e4d68b628" id="r_a15175e8e2b1e26726c63393e4d68b628"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a15175e8e2b1e26726c63393e4d68b628">get_unary_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type, const std::string <a class="el" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>)</td></tr>
<tr class="separator:a15175e8e2b1e26726c63393e4d68b628"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbb085188b563a54606d84f87a9bf5a6" id="r_afbb085188b563a54606d84f87a9bf5a6"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#afbb085188b563a54606d84f87a9bf5a6">get_unary_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type, const std::string <a class="el" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>)</td></tr>
<tr class="separator:afbb085188b563a54606d84f87a9bf5a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4decd4a07d91487e6903f6e3c8b7513a" id="r_a4decd4a07d91487e6903f6e3c8b7513a"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4decd4a07d91487e6903f6e3c8b7513a">get_binary_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type, const std::string <a class="el" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>)</td></tr>
<tr class="separator:a4decd4a07d91487e6903f6e3c8b7513a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e809746f48e5dcf7fa63215d3f5e33e" id="r_a4e809746f48e5dcf7fa63215d3f5e33e"><td class="memItemLeft" align="right" valign="top">MTL::ComputePipelineState *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a4e809746f48e5dcf7fa63215d3f5e33e">get_binary_two_kernel</a> (<a class="el" href="classmlx_1_1core_1_1metal_1_1_device.html">metal::Device</a> &amp;d, const std::string &amp;kernel_name, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> in_type, <a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a> out_type, const std::string <a class="el" href="common_2binary_8h.html#a70228731d29946574b238d21fb4b360c">op</a>)</td></tr>
@ -585,8 +589,8 @@ Functions</h2></td></tr>
<tr class="separator:ae309cb543dfb0239cfccc53a8ad0408e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af1fdfdaa5644394362e6baba30701bae" id="r_af1fdfdaa5644394362e6baba30701bae"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af1fdfdaa5644394362e6baba30701bae">type_to_name</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a)</td></tr>
<tr class="separator:af1fdfdaa5644394362e6baba30701bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b3f872f6046bdd4d429ee1f1c31cd40" id="r_a7b3f872f6046bdd4d429ee1f1c31cd40"><td class="memItemLeft" align="right" valign="top">MTL::Size&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7b3f872f6046bdd4d429ee1f1c31cd40">get_block_dims</a> (int dim0, int dim1, int dim2)</td></tr>
<tr class="separator:a7b3f872f6046bdd4d429ee1f1c31cd40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f0f59d3ffe2d16a684e5fc093302e15" id="r_a0f0f59d3ffe2d16a684e5fc093302e15"><td class="memItemLeft" align="right" valign="top">MTL::Size&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a0f0f59d3ffe2d16a684e5fc093302e15">get_block_dims</a> (int dim0, int dim1, int dim2, int pow2=10)</td></tr>
<tr class="separator:a0f0f59d3ffe2d16a684e5fc093302e15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dc169474a51a1f4f761d5752819bd7c" id="r_a8dc169474a51a1f4f761d5752819bd7c"><td class="memItemLeft" align="right" valign="top">MTL::Size&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8dc169474a51a1f4f761d5752819bd7c">get_2d_grid_dims</a> (const std::vector&lt; int &gt; &amp;shape, const std::vector&lt; size_t &gt; &amp;strides)</td></tr>
<tr class="separator:a8dc169474a51a1f4f761d5752819bd7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed148d95e7b5221f1312473deded0d27" id="r_aed148d95e7b5221f1312473deded0d27"><td class="memItemLeft" align="right" valign="top">NS::String *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aed148d95e7b5221f1312473deded0d27">make_string</a> (std::ostringstream &amp;os)</td></tr>
@ -1498,6 +1502,10 @@ Functions</h2></td></tr>
<tr class="separator:ga4c335f86ff2a05daf8dd8aedc628aa59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c6fe942a8f7c573a1cb2342566f74d2" id="r_ga6c6fe942a8f7c573a1cb2342566f74d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6c6fe942a8f7c573a1cb2342566f74d2">roll</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;shift, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga6c6fe942a8f7c573a1cb2342566f74d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8913cabeb9fb193ba687aaeb2087764" id="r_gaf8913cabeb9fb193ba687aaeb2087764"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764">real</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaf8913cabeb9fb193ba687aaeb2087764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ff592a64d528f0cf4f3d098465da029" id="r_ga7ff592a64d528f0cf4f3d098465da029"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7ff592a64d528f0cf4f3d098465da029">imag</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga7ff592a64d528f0cf4f3d098465da029"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac198b7e282957c724c84a435e8f1215e" id="r_ac198b7e282957c724c84a435e8f1215e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmlx_1_1core_1_1_stream.html">Stream</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ac198b7e282957c724c84a435e8f1215e">default_stream</a> (<a class="el" href="structmlx_1_1core_1_1_device.html">Device</a> d)</td></tr>
<tr class="memdesc:ac198b7e282957c724c84a435e8f1215e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the default stream for the given device. <br /></td></tr>
<tr class="separator:ac198b7e282957c724c84a435e8f1215e"><td class="memSeparator" colspan="2">&#160;</td></tr>
@ -4122,8 +4130,8 @@ template&lt;typename... Arrays, typename = enable_for_arrays_t&lt;Arrays...&gt;
</div>
</div>
<a id="a7b3f872f6046bdd4d429ee1f1c31cd40" name="a7b3f872f6046bdd4d429ee1f1c31cd40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b3f872f6046bdd4d429ee1f1c31cd40">&#9670;&#160;</a></span>get_block_dims()</h2>
<a id="a0f0f59d3ffe2d16a684e5fc093302e15" name="a0f0f59d3ffe2d16a684e5fc093302e15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f0f59d3ffe2d16a684e5fc093302e15">&#9670;&#160;</a></span>get_block_dims()</h2>
<div class="memitem">
<div class="memproto">
@ -4141,7 +4149,12 @@ template&lt;typename... Arrays, typename = enable_for_arrays_t&lt;Arrays...&gt;
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>dim2</em></span>&#160;)</td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>dim2</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int</td> <td class="paramname"><span class="paramname"><em>pow2</em></span><span class="paramdefsep"> = </span><span class="paramdefval">10</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
@ -5065,8 +5078,8 @@ template&lt;typename... Args&gt; </div>
</div>
</div>
<a id="a15175e8e2b1e26726c63393e4d68b628" name="a15175e8e2b1e26726c63393e4d68b628"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a15175e8e2b1e26726c63393e4d68b628">&#9670;&#160;</a></span>get_unary_kernel()</h2>
<a id="afbb085188b563a54606d84f87a9bf5a6" name="afbb085188b563a54606d84f87a9bf5a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbb085188b563a54606d84f87a9bf5a6">&#9670;&#160;</a></span>get_unary_kernel()</h2>
<div class="memitem">
<div class="memproto">
@ -5081,6 +5094,11 @@ template&lt;typename... Args&gt; </div>
<td></td>
<td class="paramtype">const std::string &amp;</td> <td class="paramname"><span class="paramname"><em>kernel_name</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structmlx_1_1core_1_1_dtype.html">Dtype</a></td> <td class="paramname"><span class="paramname"><em>in_type</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>

View File

@ -147,6 +147,8 @@ Classes</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_greater_equal.html">GreaterEqual</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_imag.html">Imag</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionmlx_1_1core_1_1detail_1_1_int_or_float.html">IntOrFloat</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_in_tracing.html">InTracing</a></td></tr>
@ -187,6 +189,8 @@ Classes</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_power.html">Power</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_real.html">Real</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_remainder.html">Remainder</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structmlx_1_1core_1_1detail_1_1_retain_graph.html">RetainGraph</a></td></tr>

Binary file not shown.

View File

@ -934,6 +934,10 @@ Functions</h2></td></tr>
<tr class="separator:ga4c335f86ff2a05daf8dd8aedc628aa59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c6fe942a8f7c573a1cb2342566f74d2" id="r_ga6c6fe942a8f7c573a1cb2342566f74d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga6c6fe942a8f7c573a1cb2342566f74d2">mlx::core::roll</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, const std::vector&lt; int &gt; &amp;shift, const std::vector&lt; int &gt; &amp;axes, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga6c6fe942a8f7c573a1cb2342566f74d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8913cabeb9fb193ba687aaeb2087764" id="r_gaf8913cabeb9fb193ba687aaeb2087764"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764">mlx::core::real</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:gaf8913cabeb9fb193ba687aaeb2087764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ff592a64d528f0cf4f3d098465da029" id="r_ga7ff592a64d528f0cf4f3d098465da029"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmlx_1_1core_1_1array.html">array</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ops.html#ga7ff592a64d528f0cf4f3d098465da029">mlx::core::imag</a> (const <a class="el" href="classmlx_1_1core_1_1array.html">array</a> &amp;a, <a class="el" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s={})</td></tr>
<tr class="separator:ga7ff592a64d528f0cf4f3d098465da029"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->

View File

@ -1358,7 +1358,13 @@ $(function(){ initResizable(false); });
<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span> <span class="keyword">const</span> std::vector&lt;int&gt;&amp; axes,</div>
<div class="line"><a id="l01481" name="l01481"></a><span class="lineno"> 1481</span> <a class="code hl_typedef" href="namespacemlx_1_1core.html#a95fc1013cc48fbfee0c54310711a5e58">StreamOrDevice</a> s = {});</div>
<div class="line"><a id="l01482" name="l01482"></a><span class="lineno"> 1482</span> </div>
<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span>} <span class="comment">// namespace mlx::core</span></div>
<div class="line"><a id="l01483" name="l01483"></a><span class="lineno"> 1483</span><span class="comment">/* The real part of a complex array. */</span></div>
<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"><a class="line" href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764"> 1484</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#gaf8913cabeb9fb193ba687aaeb2087764">real</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="l01485" name="l01485"></a><span class="lineno"> 1485</span> </div>
<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span><span class="comment">/* The imaginary part of a complex array. */</span></div>
<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"><a class="line" href="group__ops.html#ga7ff592a64d528f0cf4f3d098465da029"> 1487</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#ga7ff592a64d528f0cf4f3d098465da029">imag</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="l01488" name="l01488"></a><span class="lineno"> 1488</span> </div>
<div class="line"><a id="l01491" name="l01491"></a><span class="lineno"> 1491</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>
@ -1458,6 +1464,7 @@ $(function(){ initResizable(false); });
<div class="ttc" id="agroup__ops_html_ga7e9bb08b43c8fd0444b7d3c9e09dc1c6"><div class="ttname"><a href="group__ops.html#ga7e9bb08b43c8fd0444b7d3c9e09dc1c6">mlx::core::softmax</a></div><div class="ttdeci">array softmax(const array &amp;a, const std::vector&lt; int &gt; &amp;axes, bool precise=false, StreamOrDevice s={})</div><div class="ttdoc">Softmax of an array.</div></div>
<div class="ttc" id="agroup__ops_html_ga7fb616054665b3c2d61fa234f501f079"><div class="ttname"><a href="group__ops.html#ga7fb616054665b3c2d61fa234f501f079">mlx::core::sort</a></div><div class="ttdeci">array sort(const array &amp;a, StreamOrDevice s={})</div><div class="ttdoc">Returns a sorted copy of the flattened array.</div></div>
<div class="ttc" id="agroup__ops_html_ga7fed87d96cc7741d8267f4eac83f5fe7"><div class="ttname"><a href="group__ops.html#ga7fed87d96cc7741d8267f4eac83f5fe7">mlx::core::max</a></div><div class="ttdeci">array max(const array &amp;a, bool keepdims, StreamOrDevice s={})</div><div class="ttdoc">The maximum of all elements of the array.</div></div>
<div class="ttc" id="agroup__ops_html_ga7ff592a64d528f0cf4f3d098465da029"><div class="ttname"><a href="group__ops.html#ga7ff592a64d528f0cf4f3d098465da029">mlx::core::imag</a></div><div class="ttdeci">array imag(const array &amp;a, StreamOrDevice s={})</div></div>
<div class="ttc" id="agroup__ops_html_ga81c2f138ea81d78affd42e9a646cacbc"><div class="ttname"><a href="group__ops.html#ga81c2f138ea81d78affd42e9a646cacbc">mlx::core::pad</a></div><div class="ttdeci">array pad(const array &amp;a, const std::vector&lt; int &gt; &amp;axes, const std::vector&lt; int &gt; &amp;low_pad_size, const std::vector&lt; int &gt; &amp;high_pad_size, const array &amp;pad_value=array(0), const std::string mode=&quot;constant&quot;, StreamOrDevice s={})</div><div class="ttdoc">Pad an array with a constant value.</div></div>
<div class="ttc" id="agroup__ops_html_ga82a53e083205a965387b3c3e2463244a"><div class="ttname"><a href="group__ops.html#ga82a53e083205a965387b3c3e2463244a">mlx::core::addmm</a></div><div class="ttdeci">array addmm(array c, array a, array b, const float &amp;alpha=1.f, const float &amp;beta=1.f, StreamOrDevice s={})</div><div class="ttdoc">Compute D = beta * C + alpha * (A @ B)</div></div>
<div class="ttc" id="agroup__ops_html_ga83e0bb45dc770cf014531d873b78c5a2"><div class="ttname"><a href="group__ops.html#ga83e0bb45dc770cf014531d873b78c5a2">mlx::core::tril</a></div><div class="ttdeci">array tril(array x, int k=0, StreamOrDevice s={})</div></div>
@ -1537,6 +1544,7 @@ $(function(){ initResizable(false); });
<div class="ttc" id="agroup__ops_html_gaf532375c6563dbd6e329bdedf0224dd7"><div class="ttname"><a href="group__ops.html#gaf532375c6563dbd6e329bdedf0224dd7">mlx::core::sinh</a></div><div class="ttdeci">array sinh(const array &amp;a, StreamOrDevice s={})</div><div class="ttdoc">Hyperbolic Sine of the elements of an array.</div></div>
<div class="ttc" id="agroup__ops_html_gaf57392e641640b5d06e4c99518391c38"><div class="ttname"><a href="group__ops.html#gaf57392e641640b5d06e4c99518391c38">mlx::core::multiply</a></div><div class="ttdeci">array multiply(const array &amp;a, const array &amp;b, StreamOrDevice s={})</div><div class="ttdoc">Multiply two arrays.</div></div>
<div class="ttc" id="agroup__ops_html_gaf5c9735f4690327e1500e04e728fae70"><div class="ttname"><a href="group__ops.html#gaf5c9735f4690327e1500e04e728fae70">mlx::core::tensordot</a></div><div class="ttdeci">array tensordot(const array &amp;a, const array &amp;b, const int axis=2, StreamOrDevice s={})</div><div class="ttdoc">Returns a contraction of a and b over multiple dimensions.</div></div>
<div class="ttc" id="agroup__ops_html_gaf8913cabeb9fb193ba687aaeb2087764"><div class="ttname"><a href="group__ops.html#gaf8913cabeb9fb193ba687aaeb2087764">mlx::core::real</a></div><div class="ttdeci">array real(const array &amp;a, StreamOrDevice s={})</div></div>
<div class="ttc" id="agroup__ops_html_gaf8f2ec2b98a4b59eca73d7471df6e032"><div class="ttname"><a href="group__ops.html#gaf8f2ec2b98a4b59eca73d7471df6e032">mlx::core::stack</a></div><div class="ttdeci">array stack(const std::vector&lt; array &gt; &amp;arrays, int axis, StreamOrDevice s={})</div><div class="ttdoc">Stack arrays along a new axis.</div></div>
<div class="ttc" id="agroup__ops_html_gaf985df6609c6bd75a14a844655d89eaa"><div class="ttname"><a href="group__ops.html#gaf985df6609c6bd75a14a844655d89eaa">mlx::core::logaddexp</a></div><div class="ttdeci">array logaddexp(const array &amp;a, const array &amp;b, StreamOrDevice s={})</div><div class="ttdoc">Log-add-exp of one elements in the array: log(exp(a) + exp(b)).</div></div>
<div class="ttc" id="agroup__ops_html_gafa376ad57d38ba87378f0272dc379b23"><div class="ttname"><a href="group__ops.html#gafa376ad57d38ba87378f0272dc379b23">mlx::core::right_shift</a></div><div class="ttdeci">array right_shift(const array &amp;a, const array &amp;b, StreamOrDevice s={})</div><div class="ttdoc">Shift bits to the right.</div></div>

View File

@ -201,6 +201,8 @@ Classes</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_hadamard.html">mlx::core::Hadamard</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_imag.html">mlx::core::Imag</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_less.html">mlx::core::Less</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_less_equal.html">mlx::core::LessEqual</a></td></tr>
@ -245,6 +247,8 @@ Classes</h2></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_random_bits.html">mlx::core::RandomBits</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_real.html">mlx::core::Real</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_reshape.html">mlx::core::Reshape</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmlx_1_1core_1_1_reduce.html">mlx::core::Reduce</a></td></tr>

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.Device &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.Device &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.Dtype &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.Dtype &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.DtypeCategory &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.DtypeCategory &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.abs &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.abs &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.add &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.add &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.addmm &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.addmm &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.all &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.all &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.allclose &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.allclose &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.any &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.any &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.arange &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.arange &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.arccos &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.arccos &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.arccosh &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.arccosh &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.arcsin &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.arcsin &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.arcsinh &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.arcsinh &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.arctan &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.arctan &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.arctan2 &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.arctan2 &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.arctanh &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.arctanh &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.argmax &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.argmax &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.argmin &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.argmin &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.argpartition &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.argpartition &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.argsort &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.argsort &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.array.T &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.array.T &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.array.abs &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.array.abs &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.array.all &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.array.all &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

View File

@ -8,7 +8,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>mlx.core.array.any &#8212; MLX 0.18.1 documentation</title>
<title>mlx.core.array.any &#8212; MLX 0.19.0 documentation</title>
@ -36,7 +36,7 @@
<link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" />
<script src="../../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script>
<script src="../../_static/documentation_options.js?v=fbcf6510"></script>
<script src="../../_static/documentation_options.js?v=bce9d2e1"></script>
<script src="../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../_static/scripts/sphinx-book-theme.js?v=887ef09a"></script>
@ -136,8 +136,8 @@
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.18.1 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.18.1 documentation - Home"/>`);</script>
<img src="../../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.19.0 documentation - Home"/>
<script>document.write(`<img src="../../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.19.0 documentation - Home"/>`);</script>
</a></div>
@ -325,6 +325,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.greater_equal.html">mlx.core.greater_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.hadamard_transform.html">mlx.core.hadamard_transform</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.imag.html">mlx.core.imag</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isfinite.html">mlx.core.isfinite</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.isclose.html">mlx.core.isclose</a></li>
@ -370,6 +371,7 @@
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantize.html">mlx.core.quantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.quantized_matmul.html">mlx.core.quantized_matmul</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.radians.html">mlx.core.radians</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.real.html">mlx.core.real</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.reciprocal.html">mlx.core.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.remainder.html">mlx.core.remainder</a></li>
<li class="toctree-l2"><a class="reference internal" href="mlx.core.repeat.html">mlx.core.repeat</a></li>

Some files were not shown because too many files have changed in this diff Show More