|
| BNNSDataType | to_bnns_dtype (Dtype mlx_dtype) |
| |
| void | arange (const std::vector< array > &inputs, array &out, double start, double step) |
| |
| bool | is_static_cast (const Primitive &p) |
| |
| std::string | build_lib_name (const std::vector< array > &inputs, const std::vector< array > &outputs, const std::vector< array > &tape, const std::unordered_set< uintptr_t > &constant_ids) |
| |
| std::string | get_type_string (Dtype d) |
| |
| template<typename T > |
| void | print_float_constant (std::ostream &os, const array &x) |
| |
| template<typename T > |
| void | print_int_constant (std::ostream &os, const array &x) |
| |
| template<typename T > |
| void | print_complex_constant (std::ostream &os, const array &x) |
| |
| void | print_constant (std::ostream &os, const array &x) |
| |
| bool | is_scalar (const array &x) |
| |
| bool | compiled_check_contiguity (const std::vector< array > &inputs, const std::vector< int > &shape) |
| |
| void | compiled_allocate_outputs (const std::vector< array > &inputs, std::vector< array > &outputs, const std::vector< array > &inputs_, const std::unordered_set< uintptr_t > &constant_ids_, bool contiguous, bool move_buffers=false) |
| |
| void | copy (const array &src, array &dst, CopyType ctype) |
| |
| void | copy_inplace (const array &src, array &dst, CopyType ctype) |
| |
| template<typename stride_t > |
| void | copy_inplace (const array &src, array &dst, const std::vector< int > &data_shape, const std::vector< stride_t > &i_strides, const std::vector< stride_t > &o_strides, int64_t i_offset, int64_t o_offset, CopyType ctype) |
| |
| const std::map< int, std::string_view > | hadamard_matrices () |
| |
| std::pair< int, int > | decompose_hadamard (int n) |
| |
| ReductionPlan | get_reduction_plan (const array &x, const std::vector< int > axes) |
| |
| void | nd_loop (std::function< void(int)> callback, const std::vector< int > &shape, const std::vector< size_t > &strides) |
| |
| std::pair< std::vector< int >, std::vector< size_t > > | shapes_without_reduction_axes (const array &x, const std::vector< int > &axes) |
| |
| template<typename T , typename U , typename OpS , typename OpC , typename Op > |
| void | reduction_op (const array &x, array &out, const std::vector< int > &axes, U init, OpS ops, OpC opc, Op op) |
| |
| template<typename T , typename U , typename Op > |
| void | reduction_op (const array &x, array &out, const std::vector< int > &axes, U init, Op op) |
| |
| std::tuple< bool, int64_t, std::vector< int64_t > > | prepare_slice (const array &in, std::vector< int > &start_indices, std::vector< int > &strides) |
| |
| void | shared_buffer_slice (const array &in, const std::vector< size_t > &out_strides, size_t data_offset, array &out) |
| |
| template<typename stride_t > |
| stride_t | elem_to_loc (int elem, const std::vector< int > &shape, const std::vector< stride_t > &strides) |
| |
| size_t | elem_to_loc (int elem, const array &a) |
| |
| template<typename stride_t > |
| std::vector< stride_t > | make_contiguous_strides (const std::vector< int > &shape) |
| |
| template<typename stride_t > |
| std::tuple< std::vector< int >, std::vector< std::vector< stride_t > > > | collapse_contiguous_dims (const std::vector< int > &shape, const std::vector< std::vector< stride_t > > strides) |
| |
| std::tuple< std::vector< int >, std::vector< std::vector< size_t > > > | collapse_contiguous_dims (const std::vector< array > &xs) |
| |
| template<typename... Arrays, typename = enable_for_arrays_t<Arrays...>> |
| auto | collapse_contiguous_dims (Arrays &&... xs) |
| |
| template<typename stride_t > |
| auto | check_contiguity (const std::vector< int > &shape, const std::vector< stride_t > &strides) |
| |
| void | binary_op_gpu (const std::vector< array > &inputs, std::vector< array > &outputs, const std::string &op, const Stream &s) |
| |
| void | binary_op_gpu (const std::vector< array > &inputs, array &out, const std::string &op, const Stream &s) |
| |
| void | binary_op_gpu_inplace (const std::vector< array > &inputs, std::vector< array > &outputs, const std::string &op, const Stream &s) |
| |
| void | binary_op_gpu_inplace (const std::vector< array > &inputs, array &out, const std::string &op, const Stream &s) |
| |
| template<typename stride_t > |
| void | copy_gpu_inplace (const array &in, array &out, const std::vector< int > &data_shape, const std::vector< stride_t > &i_strides, const std::vector< stride_t > &o_strides, int64_t i_offset, int64_t o_offset, CopyType ctype, const Stream &s) |
| |
| void | copy_gpu (const array &src, array &out, CopyType ctype, const Stream &s) |
| |
| void | copy_gpu (const array &src, array &out, CopyType ctype) |
| |
| void | copy_gpu_inplace (const array &src, array &out, CopyType ctype, const Stream &s) |
| |
| void | copy_gpu_inplace (const array &in, array &out, const std::vector< int64_t > &istride, int64_t ioffset, CopyType ctype, const Stream &s) |
| |
| MTL::ComputePipelineState * | get_arange_kernel (metal::Device &d, const std::string &kernel_name, const array &out) |
| |
| MTL::ComputePipelineState * | get_unary_kernel (metal::Device &d, const std::string &kernel_name, Dtype out_type, const std::string op) |
| |
| MTL::ComputePipelineState * | get_binary_kernel (metal::Device &d, const std::string &kernel_name, Dtype in_type, Dtype out_type, const std::string op) |
| |
| MTL::ComputePipelineState * | get_binary_two_kernel (metal::Device &d, const std::string &kernel_name, Dtype in_type, Dtype out_type, const std::string op) |
| |
| MTL::ComputePipelineState * | get_ternary_kernel (metal::Device &d, const std::string &kernel_name, Dtype type, const std::string op) |
| |
| MTL::ComputePipelineState * | get_copy_kernel (metal::Device &d, const std::string &kernel_name, const array &in, const array &out) |
| |
| MTL::ComputePipelineState * | get_softmax_kernel (metal::Device &d, const std::string &kernel_name, bool precise, const array &out) |
| |
| MTL::ComputePipelineState * | get_scan_kernel (metal::Device &d, const std::string &kernel_name, bool reverse, bool inclusive, const std::string &reduce_type, const array &in, const array &out) |
| |
| MTL::ComputePipelineState * | get_sort_kernel (metal::Device &d, const std::string &kernel_name, const array &in, const array &out, int bn, int tn) |
| |
| MTL::ComputePipelineState * | get_mb_sort_kernel (metal::Device &d, const std::string &kernel_name, const array &in, const array &idx, int bn, int tn) |
| |
| MTL::ComputePipelineState * | get_reduce_init_kernel (metal::Device &d, const std::string &kernel_name, const array &out) |
| |
| MTL::ComputePipelineState * | get_reduce_kernel (metal::Device &d, const std::string &kernel_name, const std::string &op_name, const array &in, const array &out) |
| |
| MTL::ComputePipelineState * | get_steel_gemm_fused_kernel (metal::Device &d, const std::string &kernel_name, const std::string &hash_name, const metal::MTLFCList &func_consts, const array &out, bool transpose_a, bool transpose_b, int bm, int bn, int bk, int wm, int wn) |
| |
| MTL::ComputePipelineState * | get_steel_gemm_splitk_kernel (metal::Device &d, const std::string &kernel_name, const array &in, const array &out, bool transpose_a, bool transpose_b, int bm, int bn, int bk, int wm, int wn, bool mn_aligned, bool k_aligned) |
| |
| MTL::ComputePipelineState * | get_steel_gemm_splitk_accum_kernel (metal::Device &d, const std::string &kernel_name, const array &in, const array &out, bool axbpy) |
| |
| MTL::ComputePipelineState * | get_steel_gemm_masked_kernel (metal::Device &d, const std::string &kernel_name, const array &out, const std::optional< array > &mask_out, const std::optional< array > &mask_op, bool transpose_a, bool transpose_b, int bm, int bn, int bk, int wm, int wn, bool mn_aligned, bool k_aligned) |
| |
| MTL::ComputePipelineState * | get_steel_conv_kernel (metal::Device &d, const std::string &kernel_name, const array &out, int bm, int bn, int bk, int wm, int wn, int n_channel_specialization, bool small_filter) |
| |
| MTL::ComputePipelineState * | get_gemv_masked_kernel (metal::Device &d, const std::string &kernel_name, const array &out, const std::optional< array > &mask_out, const std::optional< array > &mask_op, bool transpose_mat, int bm, int bn, int sm, int sn, int tm, int tn, bool contiguous) |
| |
| MTL::ComputePipelineState * | get_steel_conv_general_kernel (metal::Device &d, const std::string &kernel_name, const array &out, int bm, int bn, int bk, int wm, int wn) |
| |
| MTL::ComputePipelineState * | get_fft_kernel (metal::Device &d, const std::string &kernel_name, const std::string &hash_name, const metal::MTLFCList &func_consts, const std::string &template_def) |
| |
| MTL::ComputePipelineState * | get_quantized_kernel (metal::Device &d, const std::string &kernel_name, const std::string &template_def) |
| |
| template<typename... Args> |
| std::string | get_template_definition (std::string name, std::string func, Args... args) |
| |
| void | steel_matmul_conv_groups (const Stream &s, metal::Device &d, const array &a, const array &b, array &out, int M, int N, int K, int lda, int ldb, int ldd, bool transpose_a, bool transpose_b, int groups, std::vector< array > &copies) |
| |
| void | steel_matmul (const Stream &s, metal::Device &d, const array &a, const array &b, array &out, int M, int N, int K, int batch_size_out, int lda, int ldb, bool transpose_a, bool transpose_b, std::vector< array > &copies, std::vector< int > batch_shape={}, std::vector< size_t > A_batch_stride={}, std::vector< size_t > B_batch_stride={}) |
| |
| void | all_reduce_dispatch (const array &in, array &out, const std::string &op_name, CommandEncoder &compute_encoder, metal::Device &d, const Stream &s) |
| |
| void | row_reduce_general_dispatch (const array &in, array &out, const std::string &op_name, const ReductionPlan &plan, const std::vector< int > &axes, CommandEncoder &compute_encoder, metal::Device &d, const Stream &s) |
| |
| void | strided_reduce_general_dispatch (const array &in, array &out, const std::string &op_name, const ReductionPlan &plan, const std::vector< int > &axes, CommandEncoder &compute_encoder, metal::Device &d, const Stream &s) |
| |
| void | slice_gpu (const array &in, array &out, std::vector< int > start_indices, std::vector< int > strides, const Stream &s) |
| |
| void | concatenate_gpu (const std::vector< array > &inputs, array &out, int axis, const Stream &s) |
| |
| void | pad_gpu (const array &in, const array &val, array &out, std::vector< int > axes, std::vector< int > low_pad_size, const Stream &s) |
| |
| void | ternary_op_gpu (const std::vector< array > &inputs, array &out, const std::string op, const Stream &s) |
| |
| void | ternary_op_gpu_inplace (const std::vector< array > &inputs, array &out, const std::string op, const Stream &s) |
| |
| void | unary_op_gpu (const std::vector< array > &inputs, array &out, const std::string op, const Stream &s) |
| |
| void | unary_op_gpu_inplace (const std::vector< array > &inputs, array &out, const std::string op, const Stream &s) |
| |
| template<typename T > |
| void | set_vector_bytes (CommandEncoder &enc, const std::vector< T > &vec, size_t nelems, int idx) |
| |
| template<typename T > |
| void | set_vector_bytes (CommandEncoder &enc, const std::vector< T > &vec, int idx) |
| |
| std::string | type_to_name (const array &a) |
| |
| MTL::Size | get_block_dims (int dim0, int dim1, int dim2) |
| |
| MTL::Size | get_2d_grid_dims (const std::vector< int > &shape, const std::vector< size_t > &strides) |
| |
| NS::String * | make_string (std::ostringstream &os) |
| |
| void | debug_set_stream_queue_label (MTL::CommandQueue *queue, int index) |
| |
| void | debug_set_primitive_buffer_label (MTL::CommandBuffer *command_buffer, Primitive &primitive) |
| |
| std::string | get_primitive_string (Primitive *primitive) |
| |
| void | disable_compile () |
| | Globally disable compilation.
|
| |
| void | enable_compile () |
| | Globally enable compilation.
|
| |
| void | set_compile_mode (CompileMode mode) |
| | Set the compiler mode to the given value.
|
| |
| const Device & | default_device () |
| |
| void | set_default_device (const Device &d) |
| |
| bool | operator== (const Device &lhs, const Device &rhs) |
| |
| bool | operator!= (const Device &lhs, const Device &rhs) |
| |
| bool | issubdtype (const Dtype &a, const Dtype &b) |
| |
| bool | issubdtype (const Dtype::Category &a, const Dtype &b) |
| |
| bool | issubdtype (const Dtype &a, const Dtype::Category &b) |
| |
| bool | issubdtype (const Dtype::Category &a, const Dtype::Category &b) |
| |
| Dtype | promote_types (const Dtype &t1, const Dtype &t2) |
| |
| uint8_t | size_of (const Dtype &t) |
| |
| Dtype::Kind | kindof (const Dtype &t) |
| |
| std::pair< std::vector< std::vector< int > >, std::string > | einsum_path (const std::string &subscripts, const std::vector< array > &operands) |
| |
| array | einsum (const std::string &subscripts, const std::vector< array > &operands, StreamOrDevice s={}) |
| |
| void | print_graph (std::ostream &os, const std::vector< array > &outputs) |
| |
| template<typename... Arrays, typename = enable_for_arrays_t<Arrays...>> |
| void | print_graph (std::ostream &os, Arrays &&... outputs) |
| |
| void | export_to_dot (std::ostream &os, const std::vector< array > &outputs) |
| |
| template<typename... Arrays, typename = enable_for_arrays_t<Arrays...>> |
| void | export_to_dot (std::ostream &os, Arrays &&... outputs) |
| |
| void | save (std::shared_ptr< io::Writer > out_stream, array a) |
| | Save array to out stream in .npy format.
|
| |
| void | save (std::string file, array a) |
| | Save array to file in .npy format.
|
| |
| array | load (std::shared_ptr< io::Reader > in_stream, StreamOrDevice s={}) |
| | Load array from reader in .npy format.
|
| |
| array | load (std::string file, StreamOrDevice s={}) |
| | Load array from file in .npy format.
|
| |
| SafetensorsLoad | load_safetensors (std::shared_ptr< io::Reader > in_stream, StreamOrDevice s={}) |
| | Load array map from .safetensors file format.
|
| |
| SafetensorsLoad | load_safetensors (const std::string &file, StreamOrDevice s={}) |
| |
| void | save_safetensors (std::shared_ptr< io::Writer > in_stream, std::unordered_map< std::string, array >, std::unordered_map< std::string, std::string > metadata={}) |
| |
| void | save_safetensors (std::string file, std::unordered_map< std::string, array >, std::unordered_map< std::string, std::string > metadata={}) |
| |
| GGUFLoad | load_gguf (const std::string &file, StreamOrDevice s={}) |
| | Load array map and metadata from .gguf file format.
|
| |
| void | save_gguf (std::string file, std::unordered_map< std::string, array > array_map, std::unordered_map< std::string, GGUFMetaData > meta_data={}) |
| |
| std::vector< int > | get_shape (const gguf_tensor &tensor) |
| |
| void | gguf_load_quantized (std::unordered_map< std::string, array > &a, const gguf_tensor &tensor) |
| |
| array | arange (double start, double stop, double step, Dtype dtype, StreamOrDevice s={}) |
| | A 1D array of numbers starting at start (optional), stopping at stop, stepping by step (optional).
|
| |
| array | arange (double start, double stop, double step, StreamOrDevice s={}) |
| |
| array | arange (double start, double stop, Dtype dtype, StreamOrDevice s={}) |
| |
| array | arange (double start, double stop, StreamOrDevice s={}) |
| |
| array | arange (double stop, Dtype dtype, StreamOrDevice s={}) |
| |
| array | arange (double stop, StreamOrDevice s={}) |
| |
| array | arange (int start, int stop, int step, StreamOrDevice s={}) |
| |
| array | arange (int start, int stop, StreamOrDevice s={}) |
| |
| array | arange (int stop, StreamOrDevice s={}) |
| |
| array | linspace (double start, double stop, int num=50, Dtype dtype=float32, StreamOrDevice s={}) |
| | A 1D array of num evenly spaced numbers in the range [start, stop]
|
| |
| array | astype (array a, Dtype dtype, StreamOrDevice s={}) |
| | Convert an array to the given data type.
|
| |
| array | as_strided (array a, std::vector< int > shape, std::vector< size_t > strides, size_t offset, StreamOrDevice s={}) |
| | Create a view of an array with the given shape and strides.
|
| |
| array | copy (array a, StreamOrDevice s={}) |
| | Copy another array.
|
| |
| array | full (std::vector< int > shape, array vals, Dtype dtype, StreamOrDevice s={}) |
| | Fill an array of the given shape with the given value(s).
|
| |
| array | full (std::vector< int > shape, array vals, StreamOrDevice s={}) |
| |
| template<typename T > |
| array | full (std::vector< int > shape, T val, Dtype dtype, StreamOrDevice s={}) |
| |
| template<typename T > |
| array | full (std::vector< int > shape, T val, StreamOrDevice s={}) |
| |
| array | zeros (const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={}) |
| | Fill an array of the given shape with zeros.
|
| |
| array | zeros (const std::vector< int > &shape, StreamOrDevice s={}) |
| |
| array | zeros_like (const array &a, StreamOrDevice s={}) |
| |
| array | ones (const std::vector< int > &shape, Dtype dtype, StreamOrDevice s={}) |
| | Fill an array of the given shape with ones.
|
| |
| array | ones (const std::vector< int > &shape, StreamOrDevice s={}) |
| |
| array | ones_like (const array &a, StreamOrDevice s={}) |
| |
| array | eye (int n, int m, int k, Dtype dtype, StreamOrDevice s={}) |
| | Fill an array of the given shape (n,m) with ones in the specified diagonal k, and zeros everywhere else.
|
| |
| array | eye (int n, Dtype dtype, StreamOrDevice s={}) |
| |
| array | eye (int n, int m, StreamOrDevice s={}) |
| |
| array | eye (int n, int m, int k, StreamOrDevice s={}) |
| |
| array | eye (int n, StreamOrDevice s={}) |
| |
| array | identity (int n, Dtype dtype, StreamOrDevice s={}) |
| | Create a square matrix of shape (n,n) of zeros, and ones in the major diagonal.
|
| |
| array | identity (int n, StreamOrDevice s={}) |
| |
| array | tri (int n, int m, int k, Dtype type, StreamOrDevice s={}) |
| |
| array | tri (int n, Dtype type, StreamOrDevice s={}) |
| |
| array | tril (array x, int k=0, StreamOrDevice s={}) |
| |
| array | triu (array x, int k=0, StreamOrDevice s={}) |
| |
| array | reshape (const array &a, std::vector< int > shape, StreamOrDevice s={}) |
| | Reshape an array to the given shape.
|
| |
| array | flatten (const array &a, int start_axis, int end_axis=-1, StreamOrDevice s={}) |
| | Flatten the dimensions in the range [start_axis, end_axis] .
|
| |
| array | flatten (const array &a, StreamOrDevice s={}) |
| | Flatten the array to 1D.
|
| |
| array | hadamard_transform (const array &a, std::optional< float > scale=std::nullopt, StreamOrDevice s={}) |
| | Multiply the array by the Hadamard matrix of corresponding size.
|
| |
| array | squeeze (const array &a, const std::vector< int > &axes, StreamOrDevice s={}) |
| | Remove singleton dimensions at the given axes.
|
| |
| array | squeeze (const array &a, int axis, StreamOrDevice s={}) |
| | Remove singleton dimensions at the given axis.
|
| |
| array | squeeze (const array &a, StreamOrDevice s={}) |
| | Remove all singleton dimensions.
|
| |
| array | expand_dims (const array &a, const std::vector< int > &axes, StreamOrDevice s={}) |
| | Add a singleton dimension at the given axes.
|
| |
| array | expand_dims (const array &a, int axis, StreamOrDevice s={}) |
| | Add a singleton dimension at the given axis.
|
| |
| array | slice (const array &a, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={}) |
| | Slice an array.
|
| |
| array | slice (const array &a, const std::vector< int > &start, const std::vector< int > &stop, StreamOrDevice s={}) |
| | Slice an array with a stride of 1 in each dimension.
|
| |
| array | slice_update (const array &src, const array &update, std::vector< int > start, std::vector< int > stop, std::vector< int > strides, StreamOrDevice s={}) |
| | Update a slice from the source array.
|
| |
| array | slice_update (const array &src, const array &update, std::vector< int > start, std::vector< int > stop, StreamOrDevice s={}) |
| | Update a slice from the source array with stride 1 in each dimension.
|
| |
| std::vector< array > | split (const array &a, int num_splits, int axis, StreamOrDevice s={}) |
| | Split an array into sub-arrays along a given axis.
|
| |
| std::vector< array > | split (const array &a, int num_splits, StreamOrDevice s={}) |
| |
| std::vector< array > | split (const array &a, const std::vector< int > &indices, int axis, StreamOrDevice s={}) |
| |
| std::vector< array > | split (const array &a, const std::vector< int > &indices, StreamOrDevice s={}) |
| |
| std::vector< array > | meshgrid (const std::vector< array > &arrays, bool sparse=false, std::string indexing="xy", StreamOrDevice s={}) |
| | A vector of coordinate arrays from coordinate vectors.
|
| |
| array | clip (const array &a, const std::optional< array > &a_min=std::nullopt, const std::optional< array > &a_max=std::nullopt, StreamOrDevice s={}) |
| | Clip (limit) the values in an array.
|
| |
| array | concatenate (const std::vector< array > &arrays, int axis, StreamOrDevice s={}) |
| | Concatenate arrays along a given axis.
|
| |
| array | concatenate (const std::vector< array > &arrays, StreamOrDevice s={}) |
| |
| array | stack (const std::vector< array > &arrays, int axis, StreamOrDevice s={}) |
| | Stack arrays along a new axis.
|
| |
| array | stack (const std::vector< array > &arrays, StreamOrDevice s={}) |
| |
| array | repeat (const array &arr, int repeats, int axis, StreamOrDevice s={}) |
| | Repeat an array along an axis.
|
| |
| array | repeat (const array &arr, int repeats, StreamOrDevice s={}) |
| |
| array | tile (const array &arr, std::vector< int > reps, StreamOrDevice s={}) |
| |
| array | transpose (const array &a, std::vector< int > axes, StreamOrDevice s={}) |
| | Permutes the dimensions according to the given axes.
|
| |
| array | transpose (const array &a, std::initializer_list< int > axes, StreamOrDevice s={}) |
| |
| array | swapaxes (const array &a, int axis1, int axis2, StreamOrDevice s={}) |
| | Swap two axes of an array.
|
| |
| array | moveaxis (const array &a, int source, int destination, StreamOrDevice s={}) |
| | Move an axis of an array.
|
| |
| array | pad (const array &a, const std::vector< int > &axes, const std::vector< int > &low_pad_size, const std::vector< int > &high_pad_size, const array &pad_value=array(0), const std::string mode="constant", StreamOrDevice s={}) |
| | Pad an array with a constant value.
|
| |
| array | pad (const array &a, const std::vector< std::pair< int, int > > &pad_width, const array &pad_value=array(0), const std::string mode="constant", StreamOrDevice s={}) |
| | Pad an array with a constant value along all axes.
|
| |
| array | pad (const array &a, const std::pair< int, int > &pad_width, const array &pad_value=array(0), const std::string mode="constant", StreamOrDevice s={}) |
| |
| array | pad (const array &a, int pad_width, const array &pad_value=array(0), const std::string mode="constant", StreamOrDevice s={}) |
| |
| array | transpose (const array &a, StreamOrDevice s={}) |
| | Permutes the dimensions in reverse order.
|
| |
| array | broadcast_to (const array &a, const std::vector< int > &shape, StreamOrDevice s={}) |
| | Broadcast an array to a given shape.
|
| |
| std::vector< array > | broadcast_arrays (const std::vector< array > &inputs, StreamOrDevice s={}) |
| | Broadcast a vector of arrays against one another.
|
| |
| array | equal (const array &a, const array &b, StreamOrDevice s={}) |
| | Returns the bool array with (a == b) element-wise.
|
| |
| array | operator== (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator== (T a, const array &b) |
| |
| template<typename T > |
| array | operator== (const array &a, T b) |
| |
| array | not_equal (const array &a, const array &b, StreamOrDevice s={}) |
| | Returns the bool array with (a != b) element-wise.
|
| |
| array | operator!= (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator!= (T a, const array &b) |
| |
| template<typename T > |
| array | operator!= (const array &a, T b) |
| |
| array | greater (const array &a, const array &b, StreamOrDevice s={}) |
| | Returns bool array with (a > b) element-wise.
|
| |
| array | operator> (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator> (T a, const array &b) |
| |
| template<typename T > |
| array | operator> (const array &a, T b) |
| |
| array | greater_equal (const array &a, const array &b, StreamOrDevice s={}) |
| | Returns bool array with (a >= b) element-wise.
|
| |
| array | operator>= (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator>= (T a, const array &b) |
| |
| template<typename T > |
| array | operator>= (const array &a, T b) |
| |
| array | less (const array &a, const array &b, StreamOrDevice s={}) |
| | Returns bool array with (a < b) element-wise.
|
| |
| array | operator< (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator< (T a, const array &b) |
| |
| template<typename T > |
| array | operator< (const array &a, T b) |
| |
| array | less_equal (const array &a, const array &b, StreamOrDevice s={}) |
| | Returns bool array with (a <= b) element-wise.
|
| |
| array | operator<= (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator<= (T a, const array &b) |
| |
| template<typename T > |
| array | operator<= (const array &a, T b) |
| |
| array | array_equal (const array &a, const array &b, bool equal_nan, StreamOrDevice s={}) |
| | True if two arrays have the same shape and elements.
|
| |
| array | array_equal (const array &a, const array &b, StreamOrDevice s={}) |
| |
| array | isnan (const array &a, StreamOrDevice s={}) |
| |
| array | isinf (const array &a, StreamOrDevice s={}) |
| |
| array | isposinf (const array &a, StreamOrDevice s={}) |
| |
| array | isneginf (const array &a, StreamOrDevice s={}) |
| |
| array | where (const array &condition, const array &x, const array &y, StreamOrDevice s={}) |
| | Select from x or y depending on condition.
|
| |
| array | nan_to_num (const array &a, float nan=0.0f, const std::optional< float > &posinf=std::nullopt, const std::optional< float > &neginf=std::nullopt, StreamOrDevice s={}) |
| | Replace NaN and infinities with finite numbers.
|
| |
| array | all (const array &a, bool keepdims, StreamOrDevice s={}) |
| | True if all elements in the array are true (or non-zero).
|
| |
| array | all (const array &a, StreamOrDevice s={}) |
| |
| array | allclose (const array &a, const array &b, double rtol=1e-5, double atol=1e-8, bool equal_nan=false, StreamOrDevice s={}) |
| | True if the two arrays are equal within the specified tolerance.
|
| |
| array | isclose (const array &a, const array &b, double rtol=1e-5, double atol=1e-8, bool equal_nan=false, StreamOrDevice s={}) |
| | Returns a boolean array where two arrays are element-wise equal within the specified tolerance.
|
| |
| array | all (const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={}) |
| | Reduces the input along the given axes.
|
| |
| array | all (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | Reduces the input along the given axis.
|
| |
| array | any (const array &a, bool keepdims, StreamOrDevice s={}) |
| | True if any elements in the array are true (or non-zero).
|
| |
| array | any (const array &a, StreamOrDevice s={}) |
| |
| array | any (const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={}) |
| | Reduces the input along the given axes.
|
| |
| array | any (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | Reduces the input along the given axis.
|
| |
| array | sum (const array &a, bool keepdims, StreamOrDevice s={}) |
| | Sums the elements of an array.
|
| |
| array | sum (const array &a, StreamOrDevice s={}) |
| |
| array | sum (const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={}) |
| | Sums the elements of an array along the given axes.
|
| |
| array | sum (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | Sums the elements of an array along the given axis.
|
| |
| array | mean (const array &a, bool keepdims, StreamOrDevice s={}) |
| | Computes the mean of the elements of an array.
|
| |
| array | mean (const array &a, StreamOrDevice s={}) |
| |
| array | mean (const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={}) |
| | Computes the mean of the elements of an array along the given axes.
|
| |
| array | mean (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | Computes the mean of the elements of an array along the given axis.
|
| |
| array | var (const array &a, bool keepdims, int ddof=0, StreamOrDevice s={}) |
| | Computes the variance of the elements of an array.
|
| |
| array | var (const array &a, StreamOrDevice s={}) |
| |
| array | var (const array &a, const std::vector< int > &axes, bool keepdims=false, int ddof=0, StreamOrDevice s={}) |
| | Computes the variance of the elements of an array along the given axes.
|
| |
| array | var (const array &a, int axis, bool keepdims=false, int ddof=0, StreamOrDevice s={}) |
| | Computes the variance of the elements of an array along the given axis.
|
| |
| array | std (const array &a, bool keepdims, int ddof=0, StreamOrDevice s={}) |
| | Computes the standard deviation of the elements of an array.
|
| |
| array | std (const array &a, StreamOrDevice s={}) |
| |
| array | std (const array &a, const std::vector< int > &axes, bool keepdims=false, int ddof=0, StreamOrDevice s={}) |
| | Computes the standard deviatoin of the elements of an array along the given axes.
|
| |
| array | std (const array &a, int axis, bool keepdims=false, int ddof=0, StreamOrDevice s={}) |
| | Computes the standard deviation of the elements of an array along the given axis.
|
| |
| array | prod (const array &a, bool keepdims, StreamOrDevice s={}) |
| | The product of all elements of the array.
|
| |
| array | prod (const array &a, StreamOrDevice s={}) |
| |
| array | prod (const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={}) |
| | The product of the elements of an array along the given axes.
|
| |
| array | prod (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | The product of the elements of an array along the given axis.
|
| |
| array | max (const array &a, bool keepdims, StreamOrDevice s={}) |
| | The maximum of all elements of the array.
|
| |
| array | max (const array &a, StreamOrDevice s={}) |
| |
| array | max (const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={}) |
| | The maximum of the elements of an array along the given axes.
|
| |
| array | max (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | The maximum of the elements of an array along the given axis.
|
| |
| array | min (const array &a, bool keepdims, StreamOrDevice s={}) |
| | The minimum of all elements of the array.
|
| |
| array | min (const array &a, StreamOrDevice s={}) |
| |
| array | min (const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={}) |
| | The minimum of the elements of an array along the given axes.
|
| |
| array | min (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | The minimum of the elements of an array along the given axis.
|
| |
| array | argmin (const array &a, bool keepdims, StreamOrDevice s={}) |
| | Returns the index of the minimum value in the array.
|
| |
| array | argmin (const array &a, StreamOrDevice s={}) |
| |
| array | argmin (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | Returns the indices of the minimum values along a given axis.
|
| |
| array | argmax (const array &a, bool keepdims, StreamOrDevice s={}) |
| | Returns the index of the maximum value in the array.
|
| |
| array | argmax (const array &a, StreamOrDevice s={}) |
| |
| array | argmax (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | Returns the indices of the maximum values along a given axis.
|
| |
| array | sort (const array &a, StreamOrDevice s={}) |
| | Returns a sorted copy of the flattened array.
|
| |
| array | sort (const array &a, int axis, StreamOrDevice s={}) |
| | Returns a sorted copy of the array along a given axis.
|
| |
| array | argsort (const array &a, StreamOrDevice s={}) |
| | Returns indices that sort the flattened array.
|
| |
| array | argsort (const array &a, int axis, StreamOrDevice s={}) |
| | Returns indices that sort the array along a given axis.
|
| |
| array | partition (const array &a, int kth, StreamOrDevice s={}) |
| | Returns a partitioned copy of the flattened array such that the smaller kth elements are first.
|
| |
| array | partition (const array &a, int kth, int axis, StreamOrDevice s={}) |
| | Returns a partitioned copy of the array along a given axis such that the smaller kth elements are first.
|
| |
| array | argpartition (const array &a, int kth, StreamOrDevice s={}) |
| | Returns indices that partition the flattened array such that the smaller kth elements are first.
|
| |
| array | argpartition (const array &a, int kth, int axis, StreamOrDevice s={}) |
| | Returns indices that partition the array along a given axis such that the smaller kth elements are first.
|
| |
| array | topk (const array &a, int k, StreamOrDevice s={}) |
| | Returns topk elements of the flattened array.
|
| |
| array | topk (const array &a, int k, int axis, StreamOrDevice s={}) |
| | Returns topk elements of the array along a given axis.
|
| |
| array | logsumexp (const array &a, bool keepdims, StreamOrDevice s={}) |
| | The logsumexp of all elements of the array.
|
| |
| array | logsumexp (const array &a, StreamOrDevice s={}) |
| |
| array | logsumexp (const array &a, const std::vector< int > &axes, bool keepdims=false, StreamOrDevice s={}) |
| | The logsumexp of the elements of an array along the given axes.
|
| |
| array | logsumexp (const array &a, int axis, bool keepdims=false, StreamOrDevice s={}) |
| | The logsumexp of the elements of an array along the given axis.
|
| |
| array | abs (const array &a, StreamOrDevice s={}) |
| | Absolute value of elements in an array.
|
| |
| array | negative (const array &a, StreamOrDevice s={}) |
| | Negate an array.
|
| |
| array | operator- (const array &a) |
| |
| array | sign (const array &a, StreamOrDevice s={}) |
| | The sign of the elements in an array.
|
| |
| array | logical_not (const array &a, StreamOrDevice s={}) |
| | Logical not of an array.
|
| |
| array | logical_and (const array &a, const array &b, StreamOrDevice s={}) |
| | Logical and of two arrays.
|
| |
| array | operator&& (const array &a, const array &b) |
| |
| array | logical_or (const array &a, const array &b, StreamOrDevice s={}) |
| | Logical or of two arrays.
|
| |
| array | operator|| (const array &a, const array &b) |
| |
| array | reciprocal (const array &a, StreamOrDevice s={}) |
| | The reciprocal (1/x) of the elements in an array.
|
| |
| array | add (const array &a, const array &b, StreamOrDevice s={}) |
| | Add two arrays.
|
| |
| array | operator+ (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator+ (T a, const array &b) |
| |
| template<typename T > |
| array | operator+ (const array &a, T b) |
| |
| array | subtract (const array &a, const array &b, StreamOrDevice s={}) |
| | Subtract two arrays.
|
| |
| array | operator- (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator- (T a, const array &b) |
| |
| template<typename T > |
| array | operator- (const array &a, T b) |
| |
| array | multiply (const array &a, const array &b, StreamOrDevice s={}) |
| | Multiply two arrays.
|
| |
| array | operator* (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator* (T a, const array &b) |
| |
| template<typename T > |
| array | operator* (const array &a, T b) |
| |
| array | divide (const array &a, const array &b, StreamOrDevice s={}) |
| | Divide two arrays.
|
| |
| array | operator/ (const array &a, const array &b) |
| |
| array | operator/ (double a, const array &b) |
| |
| array | operator/ (const array &a, double b) |
| |
| std::vector< array > | divmod (const array &a, const array &b, StreamOrDevice s={}) |
| | Compute the element-wise quotient and remainder.
|
| |
| array | floor_divide (const array &a, const array &b, StreamOrDevice s={}) |
| | Compute integer division.
|
| |
| array | remainder (const array &a, const array &b, StreamOrDevice s={}) |
| | Compute the element-wise remainder of division.
|
| |
| array | operator% (const array &a, const array &b) |
| |
| template<typename T > |
| array | operator% (T a, const array &b) |
| |
| template<typename T > |
| array | operator% (const array &a, T b) |
| |
| array | maximum (const array &a, const array &b, StreamOrDevice s={}) |
| | Element-wise maximum between two arrays.
|
| |
| array | minimum (const array &a, const array &b, StreamOrDevice s={}) |
| | Element-wise minimum between two arrays.
|
| |
| array | floor (const array &a, StreamOrDevice s={}) |
| | Floor the element of an array.
|
| |
| array | ceil (const array &a, StreamOrDevice s={}) |
| | Ceil the element of an array.
|
| |
| array | square (const array &a, StreamOrDevice s={}) |
| | Square the elements of an array.
|
| |
| array | exp (const array &a, StreamOrDevice s={}) |
| | Exponential of the elements of an array.
|
| |
| array | sin (const array &a, StreamOrDevice s={}) |
| | Sine of the elements of an array.
|
| |
| array | cos (const array &a, StreamOrDevice s={}) |
| | Cosine of the elements of an array.
|
| |
| array | tan (const array &a, StreamOrDevice s={}) |
| | Tangent of the elements of an array.
|
| |
| array | arcsin (const array &a, StreamOrDevice s={}) |
| | Arc Sine of the elements of an array.
|
| |
| array | arccos (const array &a, StreamOrDevice s={}) |
| | Arc Cosine of the elements of an array.
|
| |
| array | arctan (const array &a, StreamOrDevice s={}) |
| | Arc Tangent of the elements of an array.
|
| |
| array | arctan2 (const array &a, const array &b, StreamOrDevice s={}) |
| | Inverse tangent of the ratio of two arrays.
|
| |
| array | sinh (const array &a, StreamOrDevice s={}) |
| | Hyperbolic Sine of the elements of an array.
|
| |
| array | cosh (const array &a, StreamOrDevice s={}) |
| | Hyperbolic Cosine of the elements of an array.
|
| |
| array | tanh (const array &a, StreamOrDevice s={}) |
| | Hyperbolic Tangent of the elements of an array.
|
| |
| array | arcsinh (const array &a, StreamOrDevice s={}) |
| | Inverse Hyperbolic Sine of the elements of an array.
|
| |
| array | arccosh (const array &a, StreamOrDevice s={}) |
| | Inverse Hyperbolic Cosine of the elements of an array.
|
| |
| array | arctanh (const array &a, StreamOrDevice s={}) |
| | Inverse Hyperbolic Tangent of the elements of an array.
|
| |
| array | degrees (const array &a, StreamOrDevice s={}) |
| | Convert the elements of an array from Radians to Degrees.
|
| |
| array | radians (const array &a, StreamOrDevice s={}) |
| | Convert the elements of an array from Degrees to Radians.
|
| |
| array | log (const array &a, StreamOrDevice s={}) |
| | Natural logarithm of the elements of an array.
|
| |
| array | log2 (const array &a, StreamOrDevice s={}) |
| | Log base 2 of the elements of an array.
|
| |
| array | log10 (const array &a, StreamOrDevice s={}) |
| | Log base 10 of the elements of an array.
|
| |
| array | log1p (const array &a, StreamOrDevice s={}) |
| | Natural logarithm of one plus elements in the array: log(1 + a).
|
| |
| array | logaddexp (const array &a, const array &b, StreamOrDevice s={}) |
| | Log-add-exp of one elements in the array: log(exp(a) + exp(b)).
|
| |
| array | sigmoid (const array &a, StreamOrDevice s={}) |
| | Element-wise logistic sigmoid of the array: 1 / (1 + exp(-x).
|
| |
| array | erf (const array &a, StreamOrDevice s={}) |
| | Computes the error function of the elements of an array.
|
| |
| array | erfinv (const array &a, StreamOrDevice s={}) |
| | Computes the inverse error function of the elements of an array.
|
| |
| array | expm1 (const array &a, StreamOrDevice s={}) |
| | Computes the expm1 function of the elements of an array.
|
| |
| array | stop_gradient (const array &a, StreamOrDevice s={}) |
| | Stop the flow of gradients.
|
| |
| array | round (const array &a, int decimals, StreamOrDevice s={}) |
| | Round a floating point number.
|
| |
| array | round (const array &a, StreamOrDevice s={}) |
| |
| array | matmul (const array &a, const array &b, StreamOrDevice s={}) |
| | Matrix-matrix multiplication.
|
| |
| array | gather (const array &a, const std::vector< array > &indices, const std::vector< int > &axes, const std::vector< int > &slice_sizes, StreamOrDevice s={}) |
| | Gather array entries given indices and slices.
|
| |
| array | gather (const array &a, const array &indices, int axis, const std::vector< int > &slice_sizes, StreamOrDevice s={}) |
| |
| array | take (const array &a, const array &indices, int axis, StreamOrDevice s={}) |
| | Take array slices at the given indices of the specified axis.
|
| |
| array | take (const array &a, const array &indices, StreamOrDevice s={}) |
| | Take array entries at the given indices treating the array as flattened.
|
| |
| array | take_along_axis (const array &a, const array &indices, int axis, StreamOrDevice s={}) |
| | Take array entries given indices along the axis.
|
| |
| array | scatter (const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={}) |
| | Scatter updates to the given indices.
|
| |
| array | scatter (const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={}) |
| |
| array | scatter_add (const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={}) |
| | Scatter and add updates to given indices.
|
| |
| array | scatter_add (const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={}) |
| |
| array | scatter_prod (const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={}) |
| | Scatter and prod updates to given indices.
|
| |
| array | scatter_prod (const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={}) |
| |
| array | scatter_max (const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={}) |
| | Scatter and max updates to given linear indices.
|
| |
| array | scatter_max (const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={}) |
| |
| array | scatter_min (const array &a, const std::vector< array > &indices, const array &updates, const std::vector< int > &axes, StreamOrDevice s={}) |
| | Scatter and min updates to given linear indices.
|
| |
| array | scatter_min (const array &a, const array &indices, const array &updates, int axis, StreamOrDevice s={}) |
| |
| array | sqrt (const array &a, StreamOrDevice s={}) |
| | Square root the elements of an array.
|
| |
| array | rsqrt (const array &a, StreamOrDevice s={}) |
| | Square root and reciprocal the elements of an array.
|
| |
| array | softmax (const array &a, const std::vector< int > &axes, bool precise=false, StreamOrDevice s={}) |
| | Softmax of an array.
|
| |
| array | softmax (const array &a, bool precise=false, StreamOrDevice s={}) |
| | Softmax of an array.
|
| |
| array | softmax (const array &a, int axis, bool precise=false, StreamOrDevice s={}) |
| | Softmax of an array.
|
| |
| array | power (const array &a, const array &b, StreamOrDevice s={}) |
| | Raise elements of a to the power of b element-wise.
|
| |
| array | cumsum (const array &a, int axis, bool reverse=false, bool inclusive=true, StreamOrDevice s={}) |
| | Cumulative sum of an array.
|
| |
| array | cumprod (const array &a, int axis, bool reverse=false, bool inclusive=true, StreamOrDevice s={}) |
| | Cumulative product of an array.
|
| |
| array | cummax (const array &a, int axis, bool reverse=false, bool inclusive=true, StreamOrDevice s={}) |
| | Cumulative max of an array.
|
| |
| array | cummin (const array &a, int axis, bool reverse=false, bool inclusive=true, StreamOrDevice s={}) |
| | Cumulative min of an array.
|
| |
| array | conv_general (array input, array weight, std::vector< int > stride={}, std::vector< int > padding_lo={}, std::vector< int > padding_hi={}, std::vector< int > kernel_dilation={}, std::vector< int > input_dilation={}, int groups=1, bool flip=false, StreamOrDevice s={}) |
| | General convolution with a filter.
|
| |
| array | conv_general (const array &input, const array &weight, std::vector< int > stride={}, std::vector< int > padding={}, std::vector< int > kernel_dilation={}, std::vector< int > input_dilation={}, int groups=1, bool flip=false, StreamOrDevice s={}) |
| | General convolution with a filter.
|
| |
| array | conv1d (const array &input, const array &weight, int stride=1, int padding=0, int dilation=1, int groups=1, StreamOrDevice s={}) |
| | 1D convolution with a filter
|
| |
| array | conv2d (const array &input, const array &weight, const std::pair< int, int > &stride={1, 1}, const std::pair< int, int > &padding={0, 0}, const std::pair< int, int > &dilation={1, 1}, int groups=1, StreamOrDevice s={}) |
| | 2D convolution with a filter
|
| |
| array | conv3d (const array &input, const array &weight, const std::tuple< int, int, int > &stride={1, 1, 1}, const std::tuple< int, int, int > &padding={0, 0, 0}, const std::tuple< int, int, int > &dilation={1, 1, 1}, int groups=1, StreamOrDevice s={}) |
| | 3D convolution with a filter
|
| |
| array | quantized_matmul (const array &x, const array &w, const array &scales, const array &biases, bool transpose=true, int group_size=64, int bits=4, StreamOrDevice s={}) |
| | Quantized matmul multiplies x with a quantized matrix w.
|
| |
| std::tuple< array, array, array > | quantize (const array &w, int group_size=64, int bits=4, StreamOrDevice s={}) |
| | Quantize a matrix along its last axis.
|
| |
| array | dequantize (const array &w, const array &scales, const array &biases, int group_size=64, int bits=4, StreamOrDevice s={}) |
| | Dequantize a matrix produced by quantize()
|
| |
| array | gather_qmm (const array &x, const array &w, const array &scales, const array &biases, std::optional< array > lhs_indices=std::nullopt, std::optional< array > rhs_indices=std::nullopt, bool transpose=true, int group_size=64, int bits=4, StreamOrDevice s={}) |
| | Compute matrix products with matrix-level gather.
|
| |
| array | tensordot (const array &a, const array &b, const int axis=2, StreamOrDevice s={}) |
| | Returns a contraction of a and b over multiple dimensions.
|
| |
| array | tensordot (const array &a, const array &b, const std::vector< int > &axes_a, const std::vector< int > &axes_b, StreamOrDevice s={}) |
| |
| array | outer (const array &a, const array &b, StreamOrDevice s={}) |
| | Compute the outer product of two vectors.
|
| |
| array | inner (const array &a, const array &b, StreamOrDevice s={}) |
| | Compute the inner product of two vectors.
|
| |
| array | addmm (array c, array a, array b, const float &alpha=1.f, const float &beta=1.f, StreamOrDevice s={}) |
| | Compute D = beta * C + alpha * (A @ B)
|
| |
| array | block_masked_mm (array a, array b, int block_size, std::optional< array > mask_out=std::nullopt, std::optional< array > mask_lhs=std::nullopt, std::optional< array > mask_rhs=std::nullopt, StreamOrDevice s={}) |
| | Compute matrix product with block masking.
|
| |
| array | gather_mm (array a, array b, std::optional< array > lhs_indices=std::nullopt, std::optional< array > rhs_indices=std::nullopt, StreamOrDevice s={}) |
| | Compute matrix product with matrix-level gather.
|
| |
| array | diagonal (const array &a, int offset=0, int axis1=0, int axis2=1, StreamOrDevice s={}) |
| | Extract a diagonal or construct a diagonal array.
|
| |
| array | diag (const array &a, int k=0, StreamOrDevice s={}) |
| | Extract diagonal from a 2d array or create a diagonal matrix.
|
| |
| array | trace (const array &a, int offset, int axis1, int axis2, Dtype dtype, StreamOrDevice s={}) |
| | Return the sum along a specified diagonal in the given array.
|
| |
| array | trace (const array &a, int offset, int axis1, int axis2, StreamOrDevice s={}) |
| |
| array | trace (const array &a, StreamOrDevice s={}) |
| |
| std::vector< array > | depends (const std::vector< array > &inputs, const std::vector< array > &dependencies) |
| | Implements the identity function but allows injecting dependencies to other arrays.
|
| |
| array | atleast_1d (const array &a, StreamOrDevice s={}) |
| | convert an array to an atleast ndim array
|
| |
| std::vector< array > | atleast_1d (const std::vector< array > &a, StreamOrDevice s={}) |
| |
| array | atleast_2d (const array &a, StreamOrDevice s={}) |
| |
| std::vector< array > | atleast_2d (const std::vector< array > &a, StreamOrDevice s={}) |
| |
| array | atleast_3d (const array &a, StreamOrDevice s={}) |
| |
| std::vector< array > | atleast_3d (const std::vector< array > &a, StreamOrDevice s={}) |
| |
| array | number_of_elements (const array &a, std::vector< int > axes, bool inverted, Dtype dtype=int32, StreamOrDevice s={}) |
| | Extract the number of elements along some axes as a scalar array.
|
| |
| array | conjugate (const array &a, StreamOrDevice s={}) |
| |
| array | bitwise_and (const array &a, const array &b, StreamOrDevice s={}) |
| | Bitwise and.
|
| |
| array | operator& (const array &a, const array &b) |
| |
| array | bitwise_or (const array &a, const array &b, StreamOrDevice s={}) |
| | Bitwise inclusive or.
|
| |
| array | operator| (const array &a, const array &b) |
| |
| array | bitwise_xor (const array &a, const array &b, StreamOrDevice s={}) |
| | Bitwise exclusive or.
|
| |
| array | operator^ (const array &a, const array &b) |
| |
| array | left_shift (const array &a, const array &b, StreamOrDevice s={}) |
| | Shift bits to the left.
|
| |
| array | operator<< (const array &a, const array &b) |
| |
| array | right_shift (const array &a, const array &b, StreamOrDevice s={}) |
| | Shift bits to the right.
|
| |
| array | operator>> (const array &a, const array &b) |
| |
| array | view (const array &a, const Dtype &dtype, StreamOrDevice s={}) |
| |
| Stream | default_stream (Device d) |
| | Get the default stream for the given device.
|
| |
| void | set_default_stream (Stream s) |
| | Make the stream the default for its device.
|
| |
| Stream | new_stream (Device d) |
| | Make a new stream on the given device.
|
| |
| bool | operator== (const Stream &lhs, const Stream &rhs) |
| |
| bool | operator!= (const Stream &lhs, const Stream &rhs) |
| |
| void | synchronize () |
| |
| void | synchronize (Stream) |
| |
| void | async_eval (std::vector< array > outputs) |
| |
| void | eval (std::vector< array > outputs) |
| |
| template<typename... Arrays, typename = enable_for_arrays_t<Arrays...>> |
| void | eval (Arrays &&... outputs) |
| |
| std::pair< std::vector< array >, std::vector< array > > | vjp (const std::function< std::vector< array >(const std::vector< array > &)> &fun, const std::vector< array > &primals, const std::vector< array > &cotangents) |
| | Computes the output and vector-Jacobian product (VJP) of a function.
|
| |
| std::pair< array, array > | vjp (const std::function< array(const array &)> &fun, const array &primal, const array &cotangent) |
| | Computes the output and vector-Jacobian product (VJP) of a unary function.
|
| |
| std::pair< std::vector< array >, std::vector< array > > | jvp (const std::function< std::vector< array >(const std::vector< array > &)> &fun, const std::vector< array > &primals, const std::vector< array > &tangents) |
| | Computes the output and Jacobian-vector product (JVP) of a function.
|
| |
| std::pair< array, array > | jvp (const std::function< array(const array &)> &fun, const array &primal, const array &tangent) |
| | Computes the output and Jacobian-vector product (JVP) of a unary function.
|
| |
| ValueAndGradFn | value_and_grad (const std::function< std::vector< array >(const std::vector< array > &)> &fun, const std::vector< int > &argnums) |
| | Returns a function which computes the value and gradient of the input function with respect to a vector of input arrays.
|
| |
| ValueAndGradFn | value_and_grad (const std::function< std::vector< array >(const std::vector< array > &)> &fun, int argnum=0) |
| | Returns a function which computes the value and gradient of the input function with respect to a single input array.
|
| |
| SimpleValueAndGradFn | value_and_grad (const std::function< array(const std::vector< array > &)> &fun, const std::vector< int > &argnums) |
| |
| SimpleValueAndGradFn | value_and_grad (const std::function< array(const std::vector< array > &)> &fun, int argnum=0) |
| |
| std::function< std::vector< array >(const std::vector< array > &)> | grad (const std::function< array(const std::vector< array > &)> &fun, int argnum=0) |
| | Returns a function which computes the gradient of the input function with respect to a single input array.
|
| |
| std::function< array(const array &)> | grad (const std::function< array(const array &)> &fun) |
| | Returns a function which computes the gradient of the unary input function.
|
| |
| std::function< array(const array &, const array &)> | vmap (const std::function< array(const array &, const array &)> &fun, int in_axis_a=0, int in_axis_b=0, int out_axis=0) |
| | Automatically vectorize a binary function over the requested axes.
|
| |
| std::function< std::vector< array >(const std::vector< array > &)> | vmap (const std::function< std::vector< array >(const std::vector< array > &)> &fun, const std::vector< int > &in_axes={}, const std::vector< int > &out_axes={}) |
| | Automatically vectorize a function over the requested axes.
|
| |
| _MLX_BFloat16 | operator+ (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| float | operator+ (_MLX_BFloat16 lhs, float rhs) |
| |
| float | operator+ (float lhs, _MLX_BFloat16 rhs) |
| |
| double | operator+ (_MLX_BFloat16 lhs, double rhs) |
| |
| double | operator+ (double lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator+ (_MLX_BFloat16 lhs, bool rhs) |
| |
| _MLX_BFloat16 | operator+ (bool lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator+ (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| _MLX_BFloat16 | operator+ (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator+ (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| _MLX_BFloat16 | operator+ (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator+ (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| _MLX_BFloat16 | operator+ (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator+ (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| _MLX_BFloat16 | operator+ (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator- (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| float | operator- (_MLX_BFloat16 lhs, float rhs) |
| |
| float | operator- (float lhs, _MLX_BFloat16 rhs) |
| |
| double | operator- (_MLX_BFloat16 lhs, double rhs) |
| |
| double | operator- (double lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator- (_MLX_BFloat16 lhs, bool rhs) |
| |
| _MLX_BFloat16 | operator- (bool lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator- (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| _MLX_BFloat16 | operator- (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator- (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| _MLX_BFloat16 | operator- (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator- (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| _MLX_BFloat16 | operator- (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator- (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| _MLX_BFloat16 | operator- (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator* (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| float | operator* (_MLX_BFloat16 lhs, float rhs) |
| |
| float | operator* (float lhs, _MLX_BFloat16 rhs) |
| |
| double | operator* (_MLX_BFloat16 lhs, double rhs) |
| |
| double | operator* (double lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator* (_MLX_BFloat16 lhs, bool rhs) |
| |
| _MLX_BFloat16 | operator* (bool lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator* (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| _MLX_BFloat16 | operator* (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator* (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| _MLX_BFloat16 | operator* (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator* (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| _MLX_BFloat16 | operator* (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator* (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| _MLX_BFloat16 | operator* (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator/ (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| float | operator/ (_MLX_BFloat16 lhs, float rhs) |
| |
| float | operator/ (float lhs, _MLX_BFloat16 rhs) |
| |
| double | operator/ (_MLX_BFloat16 lhs, double rhs) |
| |
| double | operator/ (double lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator/ (_MLX_BFloat16 lhs, bool rhs) |
| |
| _MLX_BFloat16 | operator/ (bool lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator/ (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| _MLX_BFloat16 | operator/ (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator/ (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| _MLX_BFloat16 | operator/ (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator/ (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| _MLX_BFloat16 | operator/ (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator/ (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| _MLX_BFloat16 | operator/ (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator> (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator> (_MLX_BFloat16 lhs, float rhs) |
| |
| bool | operator> (float lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator> (_MLX_BFloat16 lhs, double rhs) |
| |
| bool | operator> (double lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator> (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| bool | operator> (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator> (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| bool | operator> (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator> (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| bool | operator> (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator> (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| bool | operator> (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator< (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator< (_MLX_BFloat16 lhs, float rhs) |
| |
| bool | operator< (float lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator< (_MLX_BFloat16 lhs, double rhs) |
| |
| bool | operator< (double lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator< (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| bool | operator< (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator< (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| bool | operator< (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator< (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| bool | operator< (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator< (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| bool | operator< (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator>= (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator>= (_MLX_BFloat16 lhs, float rhs) |
| |
| bool | operator>= (float lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator>= (_MLX_BFloat16 lhs, double rhs) |
| |
| bool | operator>= (double lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator>= (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| bool | operator>= (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator>= (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| bool | operator>= (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator>= (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| bool | operator>= (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator>= (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| bool | operator>= (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator<= (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator<= (_MLX_BFloat16 lhs, float rhs) |
| |
| bool | operator<= (float lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator<= (_MLX_BFloat16 lhs, double rhs) |
| |
| bool | operator<= (double lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator<= (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| bool | operator<= (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator<= (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| bool | operator<= (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator<= (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| bool | operator<= (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator<= (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| bool | operator<= (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator== (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator== (_MLX_BFloat16 lhs, float rhs) |
| |
| bool | operator== (float lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator== (_MLX_BFloat16 lhs, double rhs) |
| |
| bool | operator== (double lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator== (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| bool | operator== (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator== (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| bool | operator== (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator== (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| bool | operator== (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator== (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| bool | operator== (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator!= (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator!= (_MLX_BFloat16 lhs, float rhs) |
| |
| bool | operator!= (float lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator!= (_MLX_BFloat16 lhs, double rhs) |
| |
| bool | operator!= (double lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator!= (_MLX_BFloat16 lhs, int32_t rhs) |
| |
| bool | operator!= (int32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator!= (_MLX_BFloat16 lhs, uint32_t rhs) |
| |
| bool | operator!= (uint32_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator!= (_MLX_BFloat16 lhs, int64_t rhs) |
| |
| bool | operator!= (int64_t lhs, _MLX_BFloat16 rhs) |
| |
| bool | operator!= (_MLX_BFloat16 lhs, uint64_t rhs) |
| |
| bool | operator!= (uint64_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator- (_MLX_BFloat16 lhs) |
| |
| _MLX_BFloat16 & | operator+= (_MLX_BFloat16 &lhs, const float &rhs) |
| |
| float & | operator+= (float &lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 & | operator-= (_MLX_BFloat16 &lhs, const float &rhs) |
| |
| float & | operator-= (float &lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 & | operator*= (_MLX_BFloat16 &lhs, const float &rhs) |
| |
| float & | operator*= (float &lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 & | operator/= (_MLX_BFloat16 &lhs, const float &rhs) |
| |
| float & | operator/= (float &lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator| (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator| (_MLX_BFloat16 lhs, uint16_t rhs) |
| |
| _MLX_BFloat16 | operator| (uint16_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator& (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator& (_MLX_BFloat16 lhs, uint16_t rhs) |
| |
| _MLX_BFloat16 | operator& (uint16_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator^ (_MLX_BFloat16 lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 | operator^ (_MLX_BFloat16 lhs, uint16_t rhs) |
| |
| _MLX_BFloat16 | operator^ (uint16_t lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 & | operator|= (_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 & | operator|= (_MLX_BFloat16 &lhs, uint16_t rhs) |
| |
| _MLX_BFloat16 & | operator&= (_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 & | operator&= (_MLX_BFloat16 &lhs, uint16_t rhs) |
| |
| _MLX_BFloat16 & | operator^= (_MLX_BFloat16 &lhs, _MLX_BFloat16 rhs) |
| |
| _MLX_BFloat16 & | operator^= (_MLX_BFloat16 &lhs, uint16_t rhs) |
| |
| bool | operator>= (const complex64_t &a, const complex64_t &b) |
| |
| bool | operator> (const complex64_t &a, const complex64_t &b) |
| |
| complex64_t | operator% (complex64_t a, complex64_t b) |
| |
| bool | operator<= (const complex64_t &a, const complex64_t &b) |
| |
| bool | operator< (const complex64_t &a, const complex64_t &b) |
| |
| complex64_t | operator- (const complex64_t &v) |
| |
| complex64_t | operator+ (const std::complex< float > &x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, const std::complex< float > &y) |
| |
| complex64_t | operator+ (const complex64_t &x, const complex64_t &y) |
| |
| complex64_t | operator+ (bool x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, bool y) |
| |
| complex64_t | operator+ (uint32_t x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, uint32_t y) |
| |
| complex64_t | operator+ (uint64_t x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, uint64_t y) |
| |
| complex64_t | operator+ (int32_t x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, int32_t y) |
| |
| complex64_t | operator+ (int64_t x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, int64_t y) |
| |
| complex64_t | operator+ (float16_t x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, float16_t y) |
| |
| complex64_t | operator+ (bfloat16_t x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, bfloat16_t y) |
| |
| complex64_t | operator+ (float x, const complex64_t &y) |
| |
| complex64_t | operator+ (const complex64_t &x, float y) |
| |
| _MLX_Float16 | operator+ (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| float | operator+ (_MLX_Float16 lhs, float rhs) |
| |
| float | operator+ (float lhs, _MLX_Float16 rhs) |
| |
| double | operator+ (_MLX_Float16 lhs, double rhs) |
| |
| double | operator+ (double lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator+ (_MLX_Float16 lhs, bool rhs) |
| |
| _MLX_Float16 | operator+ (bool lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator+ (_MLX_Float16 lhs, int32_t rhs) |
| |
| _MLX_Float16 | operator+ (int32_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator+ (_MLX_Float16 lhs, uint32_t rhs) |
| |
| _MLX_Float16 | operator+ (uint32_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator+ (_MLX_Float16 lhs, int64_t rhs) |
| |
| _MLX_Float16 | operator+ (int64_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator+ (_MLX_Float16 lhs, uint64_t rhs) |
| |
| _MLX_Float16 | operator+ (uint64_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator- (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| float | operator- (_MLX_Float16 lhs, float rhs) |
| |
| float | operator- (float lhs, _MLX_Float16 rhs) |
| |
| double | operator- (_MLX_Float16 lhs, double rhs) |
| |
| double | operator- (double lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator- (_MLX_Float16 lhs, bool rhs) |
| |
| _MLX_Float16 | operator- (bool lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator- (_MLX_Float16 lhs, int32_t rhs) |
| |
| _MLX_Float16 | operator- (int32_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator- (_MLX_Float16 lhs, uint32_t rhs) |
| |
| _MLX_Float16 | operator- (uint32_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator- (_MLX_Float16 lhs, int64_t rhs) |
| |
| _MLX_Float16 | operator- (int64_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator- (_MLX_Float16 lhs, uint64_t rhs) |
| |
| _MLX_Float16 | operator- (uint64_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator* (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| float | operator* (_MLX_Float16 lhs, float rhs) |
| |
| float | operator* (float lhs, _MLX_Float16 rhs) |
| |
| double | operator* (_MLX_Float16 lhs, double rhs) |
| |
| double | operator* (double lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator* (_MLX_Float16 lhs, bool rhs) |
| |
| _MLX_Float16 | operator* (bool lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator* (_MLX_Float16 lhs, int32_t rhs) |
| |
| _MLX_Float16 | operator* (int32_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator* (_MLX_Float16 lhs, uint32_t rhs) |
| |
| _MLX_Float16 | operator* (uint32_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator* (_MLX_Float16 lhs, int64_t rhs) |
| |
| _MLX_Float16 | operator* (int64_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator* (_MLX_Float16 lhs, uint64_t rhs) |
| |
| _MLX_Float16 | operator* (uint64_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator/ (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| float | operator/ (_MLX_Float16 lhs, float rhs) |
| |
| float | operator/ (float lhs, _MLX_Float16 rhs) |
| |
| double | operator/ (_MLX_Float16 lhs, double rhs) |
| |
| double | operator/ (double lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator/ (_MLX_Float16 lhs, bool rhs) |
| |
| _MLX_Float16 | operator/ (bool lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator/ (_MLX_Float16 lhs, int32_t rhs) |
| |
| _MLX_Float16 | operator/ (int32_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator/ (_MLX_Float16 lhs, uint32_t rhs) |
| |
| _MLX_Float16 | operator/ (uint32_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator/ (_MLX_Float16 lhs, int64_t rhs) |
| |
| _MLX_Float16 | operator/ (int64_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator/ (_MLX_Float16 lhs, uint64_t rhs) |
| |
| _MLX_Float16 | operator/ (uint64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator> (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| bool | operator> (_MLX_Float16 lhs, float rhs) |
| |
| bool | operator> (float lhs, _MLX_Float16 rhs) |
| |
| bool | operator> (_MLX_Float16 lhs, double rhs) |
| |
| bool | operator> (double lhs, _MLX_Float16 rhs) |
| |
| bool | operator> (_MLX_Float16 lhs, int32_t rhs) |
| |
| bool | operator> (int32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator> (_MLX_Float16 lhs, uint32_t rhs) |
| |
| bool | operator> (uint32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator> (_MLX_Float16 lhs, int64_t rhs) |
| |
| bool | operator> (int64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator> (_MLX_Float16 lhs, uint64_t rhs) |
| |
| bool | operator> (uint64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator< (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| bool | operator< (_MLX_Float16 lhs, float rhs) |
| |
| bool | operator< (float lhs, _MLX_Float16 rhs) |
| |
| bool | operator< (_MLX_Float16 lhs, double rhs) |
| |
| bool | operator< (double lhs, _MLX_Float16 rhs) |
| |
| bool | operator< (_MLX_Float16 lhs, int32_t rhs) |
| |
| bool | operator< (int32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator< (_MLX_Float16 lhs, uint32_t rhs) |
| |
| bool | operator< (uint32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator< (_MLX_Float16 lhs, int64_t rhs) |
| |
| bool | operator< (int64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator< (_MLX_Float16 lhs, uint64_t rhs) |
| |
| bool | operator< (uint64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator>= (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| bool | operator>= (_MLX_Float16 lhs, float rhs) |
| |
| bool | operator>= (float lhs, _MLX_Float16 rhs) |
| |
| bool | operator>= (_MLX_Float16 lhs, double rhs) |
| |
| bool | operator>= (double lhs, _MLX_Float16 rhs) |
| |
| bool | operator>= (_MLX_Float16 lhs, int32_t rhs) |
| |
| bool | operator>= (int32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator>= (_MLX_Float16 lhs, uint32_t rhs) |
| |
| bool | operator>= (uint32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator>= (_MLX_Float16 lhs, int64_t rhs) |
| |
| bool | operator>= (int64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator>= (_MLX_Float16 lhs, uint64_t rhs) |
| |
| bool | operator>= (uint64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator<= (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| bool | operator<= (_MLX_Float16 lhs, float rhs) |
| |
| bool | operator<= (float lhs, _MLX_Float16 rhs) |
| |
| bool | operator<= (_MLX_Float16 lhs, double rhs) |
| |
| bool | operator<= (double lhs, _MLX_Float16 rhs) |
| |
| bool | operator<= (_MLX_Float16 lhs, int32_t rhs) |
| |
| bool | operator<= (int32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator<= (_MLX_Float16 lhs, uint32_t rhs) |
| |
| bool | operator<= (uint32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator<= (_MLX_Float16 lhs, int64_t rhs) |
| |
| bool | operator<= (int64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator<= (_MLX_Float16 lhs, uint64_t rhs) |
| |
| bool | operator<= (uint64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator== (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| bool | operator== (_MLX_Float16 lhs, float rhs) |
| |
| bool | operator== (float lhs, _MLX_Float16 rhs) |
| |
| bool | operator== (_MLX_Float16 lhs, double rhs) |
| |
| bool | operator== (double lhs, _MLX_Float16 rhs) |
| |
| bool | operator== (_MLX_Float16 lhs, int32_t rhs) |
| |
| bool | operator== (int32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator== (_MLX_Float16 lhs, uint32_t rhs) |
| |
| bool | operator== (uint32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator== (_MLX_Float16 lhs, int64_t rhs) |
| |
| bool | operator== (int64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator== (_MLX_Float16 lhs, uint64_t rhs) |
| |
| bool | operator== (uint64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator!= (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| bool | operator!= (_MLX_Float16 lhs, float rhs) |
| |
| bool | operator!= (float lhs, _MLX_Float16 rhs) |
| |
| bool | operator!= (_MLX_Float16 lhs, double rhs) |
| |
| bool | operator!= (double lhs, _MLX_Float16 rhs) |
| |
| bool | operator!= (_MLX_Float16 lhs, int32_t rhs) |
| |
| bool | operator!= (int32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator!= (_MLX_Float16 lhs, uint32_t rhs) |
| |
| bool | operator!= (uint32_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator!= (_MLX_Float16 lhs, int64_t rhs) |
| |
| bool | operator!= (int64_t lhs, _MLX_Float16 rhs) |
| |
| bool | operator!= (_MLX_Float16 lhs, uint64_t rhs) |
| |
| bool | operator!= (uint64_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator- (_MLX_Float16 lhs) |
| |
| _MLX_Float16 & | operator+= (_MLX_Float16 &lhs, const float &rhs) |
| |
| float & | operator+= (float &lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 & | operator-= (_MLX_Float16 &lhs, const float &rhs) |
| |
| float & | operator-= (float &lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 & | operator*= (_MLX_Float16 &lhs, const float &rhs) |
| |
| float & | operator*= (float &lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 & | operator/= (_MLX_Float16 &lhs, const float &rhs) |
| |
| float & | operator/= (float &lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator| (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator| (_MLX_Float16 lhs, uint16_t rhs) |
| |
| _MLX_Float16 | operator| (uint16_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator& (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator& (_MLX_Float16 lhs, uint16_t rhs) |
| |
| _MLX_Float16 | operator& (uint16_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator^ (_MLX_Float16 lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 | operator^ (_MLX_Float16 lhs, uint16_t rhs) |
| |
| _MLX_Float16 | operator^ (uint16_t lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 & | operator|= (_MLX_Float16 &lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 & | operator|= (_MLX_Float16 &lhs, uint16_t rhs) |
| |
| _MLX_Float16 & | operator&= (_MLX_Float16 &lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 & | operator&= (_MLX_Float16 &lhs, uint16_t rhs) |
| |
| _MLX_Float16 & | operator^= (_MLX_Float16 &lhs, _MLX_Float16 rhs) |
| |
| _MLX_Float16 & | operator^= (_MLX_Float16 &lhs, uint16_t rhs) |
| |
| float | operator+ (float16_t lhs, bfloat16_t rhs) |
| |
| float | operator+ (bfloat16_t lhs, float16_t rhs) |
| |
| float | operator- (float16_t lhs, bfloat16_t rhs) |
| |
| float | operator- (bfloat16_t lhs, float16_t rhs) |
| |
| float | operator* (float16_t lhs, bfloat16_t rhs) |
| |
| float | operator* (bfloat16_t lhs, float16_t rhs) |
| |
| float | operator/ (float16_t lhs, bfloat16_t rhs) |
| |
| float | operator/ (bfloat16_t lhs, float16_t rhs) |
| |
| Stream | to_stream (StreamOrDevice s) |
| |
| Dtype | result_type (const array &a, const array &b) |
| | The type from promoting the arrays' types with one another.
|
| |
| Dtype | result_type (const array &a, const array &b, const array &c) |
| |
| Dtype | result_type (const std::vector< array > &arrays) |
| |
| std::vector< int > | broadcast_shapes (const std::vector< int > &s1, const std::vector< int > &s2) |
| |
| bool | is_same_shape (const std::vector< array > &arrays) |
| |
| template<typename T > |
| int | check_shape_dim (const T dim) |
| | Returns the shape dimension if it's within allowed range.
|
| |
| int | normalize_axis (int axis, int ndim) |
| | Returns the axis normalized to be in the range [0, ndim).
|
| |
| std::ostream & | operator<< (std::ostream &os, const Device &d) |
| |
| std::ostream & | operator<< (std::ostream &os, const Stream &s) |
| |
| std::ostream & | operator<< (std::ostream &os, const Dtype &d) |
| |
| std::ostream & | operator<< (std::ostream &os, const Dtype::Kind &k) |
| |
| std::ostream & | operator<< (std::ostream &os, array a) |
| |
| std::ostream & | operator<< (std::ostream &os, const std::vector< int > &v) |
| |
| std::ostream & | operator<< (std::ostream &os, const std::vector< size_t > &v) |
| |
| std::ostream & | operator<< (std::ostream &os, const std::vector< int64_t > &v) |
| |
| std::ostream & | operator<< (std::ostream &os, const complex64_t &v) |
| |
| std::ostream & | operator<< (std::ostream &os, const float16_t &v) |
| |
| std::ostream & | operator<< (std::ostream &os, const bfloat16_t &v) |
| |
| bool | is_power_of_2 (int n) |
| |
| int | next_power_of_2 (int n) |
| |