22 constexpr static float16_t bits_to_half(uint16_t v) {
23 return half_or_bits{v}.value;
28 return bits_to_half(0xFBFF);
31 return bits_to_half(0x7BFF);
34 return bits_to_half(0x7C00);
41 union bfloat_or_bits {
45 constexpr static bfloat16_t bits_to_bfloat(uint16_t v) {
46 return bfloat_or_bits{v}.value;
51 return bits_to_bfloat(0xFF7F);
54 return bits_to_bfloat(0x7F7F);
57 return bits_to_bfloat(0x7F80);
struct _MLX_BFloat16 bfloat16_t
Definition half_types.h:34
struct _MLX_Float16 float16_t
Definition half_types.h:17
static constexpr bfloat16_t max()
Definition limits.h:53
static constexpr bfloat16_t lowest()
Definition limits.h:50
static constexpr bfloat16_t infinity()
Definition limits.h:56
static constexpr float16_t infinity()
Definition limits.h:33
static constexpr float16_t max()
Definition limits.h:30
static constexpr float16_t lowest()
Definition limits.h:27