CMakeLists.txt
LICENSE
MANIFEST.in
README.md
pyproject.toml
setup.py
src/natten_mlx/__init__.py
src/natten_mlx/functional.py
src/natten_mlx/merge.py
src/natten_mlx/py.typed
src/natten_mlx/support_matrix.py
src/natten_mlx/version.py
src/natten_mlx.egg-info/PKG-INFO
src/natten_mlx.egg-info/SOURCES.txt
src/natten_mlx.egg-info/dependency_links.txt
src/natten_mlx.egg-info/requires.txt
src/natten_mlx.egg-info/top_level.txt
src/natten_mlx/_core/__init__.py
src/natten_mlx/_core/_forward_tuning.py
src/natten_mlx/_core/_metal_sources.py
src/natten_mlx/_core/_nanobind_ext.cpp
src/natten_mlx/_core/_nanobind_impl.py
src/natten_mlx/_core/_nanobind_metal.py
src/natten_mlx/_core/fast_metal.py
src/natten_mlx/_core/nanobind.py
src/natten_mlx/_core/ops.py
src/natten_mlx/_core/pure.py
src/natten_mlx/_core/nanobind/na1d_bwd_primitive.cpp
src/natten_mlx/_core/nanobind/na1d_bwd_primitive.h
src/natten_mlx/_core/nanobind/na1d_primitive.cpp
src/natten_mlx/_core/nanobind/na1d_primitive.h
src/natten_mlx/_core/nanobind/na2d_bwd_primitive.cpp
src/natten_mlx/_core/nanobind/na2d_bwd_primitive.h
src/natten_mlx/_core/nanobind/na2d_primitive.cpp
src/natten_mlx/_core/nanobind/na2d_primitive.h
src/natten_mlx/_core/nanobind/na2d_split_primitive.cpp
src/natten_mlx/_core/nanobind/na2d_split_primitive.h
src/natten_mlx/_core/nanobind/na3d_bwd_primitive.cpp
src/natten_mlx/_core/nanobind/na3d_bwd_primitive.h
src/natten_mlx/_core/nanobind/na3d_primitive.cpp
src/natten_mlx/_core/nanobind/na3d_primitive.h
src/natten_mlx/_core/nanobind/na_composed.cpp
src/natten_mlx/_core/nanobind/na_composed.h
src/natten_mlx/_core/nanobind/na_split_backward.cpp
src/natten_mlx/_core/nanobind/na_split_backward.h
src/natten_mlx/_core/nanobind/na_split_forward.cpp
src/natten_mlx/_core/nanobind/na_split_forward.h
src/natten_mlx/_core/nanobind/natten_nb_1d_v2.metal
src/natten_mlx/_core/nanobind/natten_nb_2d_v2.metal
src/natten_mlx/_core/nanobind/natten_nb_3d_v2.metal
src/natten_mlx/_core/nanobind/py_dispatch.h
src/natten_mlx/autograd/__init__.py
src/natten_mlx/autograd/na1d.py
src/natten_mlx/autograd/na2d.py
src/natten_mlx/autograd/na3d.py
src/natten_mlx/autograd/split.py
src/natten_mlx/compat/__init__.py
src/natten_mlx/compat/v014.py
src/natten_mlx/compat/v015.py
src/natten_mlx/compat/v017.py
src/natten_mlx/compat/v020.py
src/natten_mlx/extras/__init__.py
src/natten_mlx/extras/allin1/__init__.py
src/natten_mlx/extras/allin1/functional.py
src/natten_mlx/extras/allin1/functional_metal.py
src/natten_mlx/extras/allin1/kernels.py
src/natten_mlx/extras/allin1/reference_impl.py
src/natten_mlx/nn/__init__.py
src/natten_mlx/nn/na1d.py
src/natten_mlx/nn/na2d.py
src/natten_mlx/nn/na3d.py
src/natten_mlx/utils/__init__.py
src/natten_mlx/utils/params.py
src/natten_mlx/utils/window.py
tests/test_autograd.py
tests/test_backend_matrix.py
tests/test_backends.py
tests/test_backward_parity.py
tests/test_compat_for_version.py
tests/test_compat_gradients.py
tests/test_compat_v014.py
tests/test_compat_v015.py
tests/test_compat_v017.py
tests/test_compat_v020.py
tests/test_extras_allin1.py
tests/test_fast_metal_3d_split.py
tests/test_fast_metal_backward_no_fallback.py
tests/test_fast_metal_fused_expanded.py
tests/test_fast_metal_lowp_routing.py
tests/test_fast_metal_split_expanded.py
tests/test_functional.py
tests/test_functional_3d.py
tests/test_functional_3d_expanded.py
tests/test_fused_simd.py
tests/test_gradcheck_functional.py
tests/test_low_precision_backend_parity.py
tests/test_na1d.py
tests/test_na2d.py
tests/test_na3d.py
tests/test_nanobind_extension.py
tests/test_nanobind_split_v2_dispatch.py
tests/test_new_features.py
tests/test_nn_module_grad.py
tests/test_shift_semantics.py
tests/test_split_ops_grad.py
tests/test_support_matrix.py
tests/test_upstream_parity.py
tests/test_validation_errors.py
tests/test_varlen_na1d.py
tests/test_varlen_na2d.py
tests/test_varlen_na3d.py