MLX
 
Loading...
Searching...
No Matches
accelerate_fp16_simd.h File Reference

Go to the source code of this file.

Namespaces

namespace  mlx
 
namespace  mlx::core
 
namespace  mlx::core::simd
 

Macros

#define SIMD_FP16_DEFAULT_UNARY(op)
 
#define SIMD_FP16_DEFAULT_BINARY(op)
 

Functions

template<>
Simd< float16_t, Nmlx::core::simd::acos (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::acosh (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::asin (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::asinh (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::atan (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::atanh (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::cosh (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::expm1 (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::log (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::log2 (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::log10 (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::log1p (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::sinh (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::tan (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::tanh (Simd< float16_t, N > v)
 
template<>
Simd< float16_t, Nmlx::core::simd::atan2 (Simd< float16_t, N > x, Simd< float16_t, N > y)
 
template<>
Simd< float16_t, Nmlx::core::simd::remainder (Simd< float16_t, N > x, Simd< float16_t, N > y)
 
template<>
Simd< float16_t, Nmlx::core::simd::pow (Simd< float16_t, N > x, Simd< float16_t, N > y)
 

Variables

template<>
static constexpr int mlx::core::simd::max_size< float16_t > = N
 

Macro Definition Documentation

◆ SIMD_FP16_DEFAULT_BINARY

#define SIMD_FP16_DEFAULT_BINARY ( op)
Value:
template <> \
inline Simd<float16_t, N> op(Simd<float16_t, N> x, Simd<float16_t, N> y) { \
Simd<float, N> a = x; \
Simd<float, N> b = y; \
return op(a, b); \
}

◆ SIMD_FP16_DEFAULT_UNARY

#define SIMD_FP16_DEFAULT_UNARY ( op)
Value:
template <> \
inline Simd<float16_t, N> op(Simd<float16_t, N> v) { \
Simd<float, N> in = v; \
return op(in); \
}