Halide 19.0.0
Halide compiler and libraries
|
Class that provides a type that implements half precision floating point using the bfloat16 format. More...
#include <Float16.h>
Static Public Member Functions | |
static bfloat16_t | make_zero () |
Get a new bfloat16_t that represents a special value. | |
static bfloat16_t | make_negative_zero () |
static bfloat16_t | make_infinity () |
static bfloat16_t | make_negative_infinity () |
static bfloat16_t | make_nan () |
static bfloat16_t | make_from_bits (uint16_t bits) |
Get a new bfloat16_t with the given raw bits. | |
Static Public Attributes | |
static const int | mantissa_bits = 7 |
static const uint16_t | sign_mask = 0x8000 |
static const uint16_t | exponent_mask = 0x7f80 |
static const uint16_t | mantissa_mask = 0x007f |
static const bfloat16_t | zero |
static const bfloat16_t | negative_zero |
static const bfloat16_t | infinity |
static const bfloat16_t | negative_infinity |
static const bfloat16_t | nan |
Class that provides a type that implements half precision floating point using the bfloat16 format.
This type is enforced to be 16-bits wide and maintains no state other than the raw bits so that it can passed to code that checks a type's size and used for halide_buffer_t allocation.
|
explicit |
Construct from a float, double, or int using round-to-nearest-ties-to-even.
Out-of-range values become +/- infinity.
|
explicit |
Construct from a float, double, or int using round-to-nearest-ties-to-even.
Out-of-range values become +/- infinity.
|
explicit |
Construct from a float, double, or int using round-to-nearest-ties-to-even.
Out-of-range values become +/- infinity.
|
default |
Construct a bfloat16_t with the bits initialised to 0.
This represents positive zero.
|
explicit |
Cast to float.
|
explicit |
Cast to double.
|
explicit |
Cast to int.
|
static |
Get a new bfloat16_t that represents a special value.
|
static |
|
static |
|
static |
|
static |
|
static |
Get a new bfloat16_t with the given raw bits.
bits | The bits conformant to IEEE754 binary16 |
bfloat16_t Halide::bfloat16_t::operator- | ( | ) | const |
Return a new bfloat16_t with a negated sign bit.
bfloat16_t Halide::bfloat16_t::operator+ | ( | bfloat16_t | rhs | ) | const |
Arithmetic operators.
bfloat16_t Halide::bfloat16_t::operator- | ( | bfloat16_t | rhs | ) | const |
bfloat16_t Halide::bfloat16_t::operator* | ( | bfloat16_t | rhs | ) | const |
bfloat16_t Halide::bfloat16_t::operator/ | ( | bfloat16_t | rhs | ) | const |
|
inline |
Definition at line 218 of file Float16.h.
References Halide::cast().
|
inline |
Definition at line 221 of file Float16.h.
References Halide::cast().
|
inline |
Definition at line 224 of file Float16.h.
References Halide::cast().
|
inline |
Definition at line 227 of file Float16.h.
References Halide::cast().
bool Halide::bfloat16_t::operator== | ( | bfloat16_t | rhs | ) | const |
Comparison operators.
|
inline |
Definition at line 235 of file Float16.h.
References Halide::cast().
bool Halide::bfloat16_t::operator> | ( | bfloat16_t | rhs | ) | const |
bool Halide::bfloat16_t::operator< | ( | bfloat16_t | rhs | ) | const |
|
inline |
Definition at line 240 of file Float16.h.
References Halide::cast().
|
inline |
Definition at line 243 of file Float16.h.
References Halide::cast().
bool Halide::bfloat16_t::is_nan | ( | ) | const |
Properties.
bool Halide::bfloat16_t::is_infinity | ( | ) | const |
bool Halide::bfloat16_t::is_negative | ( | ) | const |
bool Halide::bfloat16_t::is_zero | ( | ) | const |
uint16_t Halide::bfloat16_t::to_bits | ( | ) | const |
Returns the bits that represent this bfloat16_t.
An alternative method to access the bits is to cast a pointer to this instance as a pointer to a uint16_t.
|
static |
|
static |
|
static |
|
static |
|
static |