mlx/python/src/indexing.h
Awni Hannun 9a8ee00246
Switch to nanobind (#839)
* mostly builds

* most tests pass

* fix circle build

* add back buffer protocol

* includes

* fix for py38

* limit to cpu device

* include

* fix stubs

* move signatures for docs

* stubgen + docs fix

* doc for compiled function, comments
2024-03-18 20:12:25 -07:00

39 lines
939 B
C++

// Copyright © 2023-2024 Apple Inc.
#pragma once
#include <nanobind/nanobind.h>
#include "mlx/array.h"
#include "python/src/utils.h"
namespace nb = nanobind;
using namespace mlx::core;
array mlx_get_item(const array& src, const nb::object& obj);
void mlx_set_item(array& src, const nb::object& obj, const ScalarOrArray& v);
array mlx_add_item(
const array& src,
const nb::object& obj,
const ScalarOrArray& v);
array mlx_subtract_item(
const array& src,
const nb::object& obj,
const ScalarOrArray& v);
array mlx_multiply_item(
const array& src,
const nb::object& obj,
const ScalarOrArray& v);
array mlx_divide_item(
const array& src,
const nb::object& obj,
const ScalarOrArray& v);
array mlx_maximum_item(
const array& src,
const nb::object& obj,
const ScalarOrArray& v);
array mlx_minimum_item(
const array& src,
const nb::object& obj,
const ScalarOrArray& v);