|
template<typename T, int N> |
Simd< T, N > | mlx::core::simd::load (const T *x) |
|
template<typename T, int N> |
void | mlx::core::simd::store (T *dst, Simd< T, N > x) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::rint (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::rsqrt (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::recip (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::operator- (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::operator! (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::abs (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::acos (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::acosh (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::asin (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::asinh (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::atan (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::atanh (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::ceil (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::conj (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::cosh (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::expm1 (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::floor (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::log (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::log2 (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::log10 (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::log1p (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::sinh (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::sqrt (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::tan (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::tanh (Simd< T, 1 > in) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::operator~ (Simd< T, 1 > in) |
|
template<typename T> |
auto | mlx::core::simd::real (Simd< T, 1 > in) -> Simd< decltype(std::real(in.value)), 1 > |
|
template<typename T> |
auto | mlx::core::simd::imag (Simd< T, 1 > in) -> Simd< decltype(std::imag(in.value)), 1 > |
|
template<typename T> |
Simd< bool, 1 > | mlx::core::simd::isnan (Simd< T, 1 > in) |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator+ (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value+b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator+ (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a+b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator+ (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value+b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator- (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value - b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator- (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a - b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator- (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value - b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator* (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value *b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator* (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a *b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator* (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value *b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator/ (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value/b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator/ (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a/b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator/ (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value/b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator<< (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value<< b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator<< (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a<< b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator<< (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value<< b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator>> (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value > > b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator>> (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a > > b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator>> (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value > > b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator| (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value|b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator| (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a|b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator| (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value|b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator^ (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value ^ b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator^ (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a ^ b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator^ (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value ^ b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator& (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value &b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator& (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a &b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator& (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value &b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator&& (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value &&b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator&& (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a &&b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator&& (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value &&b), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator|| (Simd< T1, 1 > a, Simd< T2, 1 > b) -> Simd< decltype(a.value||b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator|| (T1 a, Simd< T2, 1 > b) -> Simd< decltype(a||b.value), 1 > |
|
template<typename T1, typename T2> |
auto | mlx::core::simd::operator|| (Simd< T1, 1 > a, T2 b) -> Simd< decltype(a.value||b), 1 > |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::remainder (Simd< T, 1 > a_, Simd< T, 1 > b_) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::maximum (Simd< T, 1 > a_, Simd< T, 1 > b_) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::minimum (Simd< T, 1 > a_, Simd< T, 1 > b_) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::pow (Simd< T, 1 > a, Simd< T, 1 > b) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::atan2 (Simd< T, 1 > a, Simd< T, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator> (Simd< T1, 1 > a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator> (T1 a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator> (Simd< T1, 1 > a, T2 b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator< (Simd< T1, 1 > a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator< (T1 a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator< (Simd< T1, 1 > a, T2 b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator>= (Simd< T1, 1 > a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator>= (T1 a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator>= (Simd< T1, 1 > a, T2 b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator<= (Simd< T1, 1 > a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator<= (T1 a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator<= (Simd< T1, 1 > a, T2 b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator== (Simd< T1, 1 > a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator== (T1 a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator== (Simd< T1, 1 > a, T2 b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator!= (Simd< T1, 1 > a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator!= (T1 a, Simd< T2, 1 > b) |
|
template<typename T1, typename T2> |
Simd< bool, 1 > | mlx::core::simd::operator!= (Simd< T1, 1 > a, T2 b) |
|
template<typename MaskT, typename T> |
Simd< T, 1 > | mlx::core::simd::select (Simd< MaskT, 1 > mask, Simd< T, 1 > x, Simd< T, 1 > y) |
|
template<typename T> |
Simd< T, 1 > | mlx::core::simd::clamp (Simd< T, 1 > v, Simd< T, 1 > min, Simd< T, 1 > max) |
|
template<typename T, typename U> |
Simd< T, 1 > | mlx::core::simd::fma (Simd< T, 1 > x, Simd< T, 1 > y, U z) |
|
template<typename T> |
T | mlx::core::simd::max (Simd< T, 1 > x) |
|
template<typename T> |
T | mlx::core::simd::min (Simd< T, 1 > x) |
|
template<typename T> |
T | mlx::core::simd::sum (Simd< T, 1 > x) |
|
template<typename T> |
T | mlx::core::simd::prod (Simd< T, 1 > x) |
|
template<typename T> |
bool | mlx::core::simd::any (Simd< T, 1 > x) |
|
template<typename T> |
bool | mlx::core::simd::all (Simd< T, 1 > x) |
|