25 constexpr static float16_t bits_to_half(uint16_t v) {
26 return half_or_bits{v}.value;
31 return bits_to_half(0xFBFF);
34 return bits_to_half(0x7BFF);
37 return bits_to_half(0x7C00);
44 union bfloat_or_bits {
48 constexpr static bfloat16_t bits_to_bfloat(uint16_t v) {
49 return bfloat_or_bits{v}.value;
54 return bits_to_bfloat(0xFF7F);
57 return bits_to_bfloat(0x7F7F);
60 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:56
static constexpr bfloat16_t lowest()
Definition limits.h:53
static constexpr bfloat16_t infinity()
Definition limits.h:59
static constexpr float16_t infinity()
Definition limits.h:36
static constexpr float16_t max()
Definition limits.h:33
static constexpr float16_t lowest()
Definition limits.h:30