| 85 | } |
| 86 | |
| 87 | mx::array to_array_with_accessor(nb::object obj) { |
| 88 | if (nb::isinstance<mx::array>(obj)) { |
| 89 | return nb::cast<mx::array>(obj); |
| 90 | } else if (nb::hasattr(obj, "__mlx_array__")) { |
| 91 | return nb::cast<mx::array>(obj.attr("__mlx_array__")()); |
| 92 | } else { |
| 93 | std::ostringstream msg; |
| 94 | msg << "Invalid type " << nb::type_name(obj.type()).c_str() |
| 95 | << " received in array initialization."; |
| 96 | throw std::invalid_argument(msg.str()); |
| 97 | } |
| 98 | } |
no outgoing calls
no test coverage detected