mirror of
				https://github.com/ml-explore/mlx.git
				synced 2025-10-31 07:58:14 +08:00 
			
		
		
		
	Use Py_ssize_t in python bindings (#1678)
* Use Py_ssize_t in python bindings * Args passed to std::max must be same type
This commit is contained in:
		| @@ -56,13 +56,13 @@ std::string buffer_format(const array& a) { | ||||
|  | ||||
| struct buffer_info { | ||||
|   std::string format; | ||||
|   std::vector<ssize_t> shape; | ||||
|   std::vector<ssize_t> strides; | ||||
|   std::vector<Py_ssize_t> shape; | ||||
|   std::vector<Py_ssize_t> strides; | ||||
|  | ||||
|   buffer_info( | ||||
|       std::string format, | ||||
|       std::vector<ssize_t> shape_in, | ||||
|       std::vector<ssize_t> strides_in) | ||||
|       std::vector<Py_ssize_t> shape_in, | ||||
|       std::vector<Py_ssize_t> strides_in) | ||||
|       : format(std::move(format)), | ||||
|         shape(std::move(shape_in)), | ||||
|         strides(std::move(strides_in)) {} | ||||
| @@ -91,8 +91,8 @@ extern "C" inline int getbuffer(PyObject* obj, Py_buffer* view, int flags) { | ||||
|     a.eval(); | ||||
|   } | ||||
|  | ||||
|   std::vector<ssize_t> shape(a.shape().begin(), a.shape().end()); | ||||
|   std::vector<ssize_t> strides(a.strides().begin(), a.strides().end()); | ||||
|   std::vector<Py_ssize_t> shape(a.shape().begin(), a.shape().end()); | ||||
|   std::vector<Py_ssize_t> strides(a.strides().begin(), a.strides().end()); | ||||
|   for (auto& s : strides) { | ||||
|     s *= a.itemsize(); | ||||
|   } | ||||
|   | ||||
| @@ -603,7 +603,7 @@ std::tuple<std::vector<array>, array, std::vector<int>> mlx_scatter_args_nd( | ||||
|   } | ||||
|  | ||||
|   // Analyse the types of the indices | ||||
|   unsigned long max_dim = 0; | ||||
|   size_t max_dim = 0; | ||||
|   bool arrays_first = false; | ||||
|   int num_none = 0; | ||||
|   int num_slices = 0; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Cheng
					Cheng