MLX
 
Loading...
Searching...
No Matches
utils.h File Reference
#include <vector>
#include "mlx/array.h"

Go to the source code of this file.

Classes

struct  mlx::core::ContiguousIterator
 

Namespaces

namespace  mlx
 
namespace  mlx::core
 

Functions

int64_t mlx::core::elem_to_loc (int elem, const Shape &shape, const Strides &strides)
 
int64_t mlx::core::elem_to_loc (int elem, const array &a)
 
Strides mlx::core::make_contiguous_strides (const Shape &shape)
 
std::tuple< Shape, std::vector< Strides > > mlx::core::collapse_contiguous_dims (const Shape &shape, const std::vector< Strides > &strides, int64_t size_cap=std::numeric_limits< int32_t >::max())
 
std::tuple< Shape, std::vector< Strides > > mlx::core::collapse_contiguous_dims (const std::vector< array > &xs, size_t size_cap=std::numeric_limits< int32_t >::max())
 
template<typename... Arrays, typename = enable_for_arrays_t<Arrays...>>
auto mlx::core::collapse_contiguous_dims (Arrays &&... xs)
 
std::pair< Shape, Stridesmlx::core::collapse_contiguous_dims (const Shape &shape, const Strides &strides, int64_t size_cap=std::numeric_limits< int32_t >::max())
 
std::pair< Shape, Stridesmlx::core::collapse_contiguous_dims (const array &a, int64_t size_cap=std::numeric_limits< int32_t >::max())
 
auto mlx::core::check_contiguity (const Shape &shape, const Strides &strides)
 
bool mlx::core::is_donatable (const array &in, const array &out)
 
void mlx::core::move_or_copy (const array &in, array &out)
 
void mlx::core::move_or_copy (const array &in, array &out, const Strides &strides, array::Flags flags, size_t data_size, size_t offset=0)
 
std::pair< bool, Stridesmlx::core::prepare_reshape (const array &in, const array &out)
 
void mlx::core::shared_buffer_reshape (const array &in, const Strides &out_strides, array &out)