|
| template<typename StrideT , typename IdxT = StrideT> |
| METAL_FUNC IdxT | elem_to_loc (uint elem, constant const int *shape, constant const StrideT *strides, int ndim) |
| |
| template<typename StrideT , typename IdxT = StrideT> |
| METAL_FUNC IdxT | elem_to_loc (StrideT elem, constant const int *shape, constant const StrideT *strides, int ndim) |
| |
| template<typename StrideT , typename IdxT = StrideT> |
| METAL_FUNC IdxT | elem_to_loc (uint3 elem, constant const int *shape, constant const StrideT *strides, int ndim) |
| |
| template<typename StrideT , typename IdxT = StrideT> |
| METAL_FUNC IdxT | elem_to_loc_1 (uint elem, constant const StrideT &stride) |
| |
| template<typename StrideT , typename IdxT = StrideT> |
| METAL_FUNC IdxT | elem_to_loc_2 (uint2 elem, constant const StrideT strides[2]) |
| |
| template<typename StrideT , typename IdxT = StrideT> |
| METAL_FUNC IdxT | elem_to_loc_3 (uint3 elem, constant const StrideT strides[3]) |
| |
| template<typename StrideT , typename IdxT = StrideT> |
| METAL_FUNC vec< IdxT, 2 > | elem_to_loc_2_nd (uint3 elem, constant const int *shape, constant const StrideT *a_strides, constant const StrideT *b_strides, int ndim) |
| |
| template<typename IdxT = size_t> |
| METAL_FUNC vec< IdxT, 3 > | elem_to_loc_3_nd (uint3 elem, constant const int *shape, constant const size_t *a_strides, constant const size_t *b_strides, constant const size_t *c_strides, int ndim) |
| |
| template<typename T , typename U > |
| T | ceildiv (T N, U M) |
| | Compute ceil((float)N/(float)M)
|
| |
| float | log1p (float x) |
| |
| bfloat16_t | log1p (bfloat16_t x) |
| |
| uint64_t | simd_shuffle_down (uint64_t data, uint16_t delta) |
| |
| int64_t | simd_shuffle_down (int64_t data, uint16_t delta) |
| |
| bool | simd_shuffle_down (bool data, uint16_t delta) |
| |
| complex64_t | simd_shuffle_down (complex64_t data, uint16_t delta) |
| |
| uint64_t | simd_shuffle_up (uint64_t data, uint16_t delta) |
| |
| int64_t | simd_shuffle_up (int64_t data, uint16_t delta) |
| |
| bool | simd_shuffle_up (bool data, uint16_t delta) |
| |
| complex64_t | simd_shuffle_up (complex64_t data, uint16_t delta) |
| |
| uint64_t | simd_shuffle_and_fill_up (uint64_t data, uint64_t filling, uint16_t delta) |
| |
| int64_t | simd_shuffle_and_fill_up (int64_t data, int64_t filling, uint16_t delta) |
| |
| bool | simd_shuffle_and_fill_up (bool data, bool filling, uint16_t delta) |
| |
| complex64_t | simd_shuffle_and_fill_up (complex64_t data, complex64_t filling, uint16_t delta) |
| |
| uint64_t | simd_shuffle (uint64_t data, uint16_t lane) |
| |
| int64_t | simd_shuffle (int64_t data, uint16_t lane) |
| |
| bool | simd_shuffle (bool data, uint16_t lane) |
| |
| complex64_t | simd_shuffle (complex64_t data, uint16_t lane) |
| |