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< StrideT >
 

Namespaces

namespace  mlx
 
namespace  mlx::core
 

Functions

template<typename StrideT >
StrideT mlx::core::elem_to_loc (int elem, const std::vector< int > &shape, const std::vector< StrideT > &strides)
 
size_t mlx::core::elem_to_loc (int elem, const array &a)
 
template<typename StrideT >
std::vector< StrideT > mlx::core::make_contiguous_strides (const std::vector< int > &shape)
 
std::tuple< std::vector< int >, std::vector< std::vector< int64_t > > > mlx::core::collapse_contiguous_dims (const std::vector< int > &shape, const std::vector< std::vector< int64_t > > &strides, int64_t size_cap=std::numeric_limits< int32_t >::max())
 
std::tuple< std::vector< int >, std::vector< std::vector< size_t > > > mlx::core::collapse_contiguous_dims (const std::vector< int > &shape, const std::vector< std::vector< size_t > > &strides, size_t size_cap=std::numeric_limits< int32_t >::max())
 
std::tuple< std::vector< int >, std::vector< std::vector< size_t > > > 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< std::vector< int >, std::vector< int64_t > > mlx::core::collapse_contiguous_dims (const std::vector< int > &shape, const std::vector< int64_t > &strides, int64_t size_cap=std::numeric_limits< int32_t >::max())
 
std::pair< std::vector< int >, std::vector< size_t > > mlx::core::collapse_contiguous_dims (const std::vector< int > &shape, const std::vector< size_t > &strides, size_t size_cap=std::numeric_limits< int32_t >::max())
 
std::pair< std::vector< int >, std::vector< size_t > > mlx::core::collapse_contiguous_dims (const array &a, size_t size_cap=std::numeric_limits< int32_t >::max())
 
template<typename StrideT >
auto mlx::core::check_contiguity (const std::vector< int > &shape, const std::vector< StrideT > &strides)
 
bool mlx::core::is_donatable (const array &in, const array &out)