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>
Public Member Functions | |
operator float () const | |
Cast to float. | |
operator double () const | |
Cast to double. | |
operator int () const | |
Cast to int. | |
bfloat16_t | operator- () const |
Return a new bfloat16_t with a negated sign bit. | |
bfloat16_t | operator+ (bfloat16_t rhs) const |
Arithmetic operators. | |
bfloat16_t | operator- (bfloat16_t rhs) const |
bfloat16_t | operator* (bfloat16_t rhs) const |
bfloat16_t | operator/ (bfloat16_t rhs) const |
bfloat16_t | operator+= (bfloat16_t rhs) |
bfloat16_t | operator-= (bfloat16_t rhs) |
bfloat16_t | operator*= (bfloat16_t rhs) |
bfloat16_t | operator/= (bfloat16_t rhs) |
bool | operator== (bfloat16_t rhs) const |
Comparison operators. | |
bool | operator!= (bfloat16_t rhs) const |
bool | operator> (bfloat16_t rhs) const |
bool | operator< (bfloat16_t rhs) const |
bool | operator>= (bfloat16_t rhs) const |
bool | operator<= (bfloat16_t rhs) const |
bool | is_nan () const |
Properties. | |
bool | is_infinity () const |
bool | is_negative () const |
bool | is_zero () const |
uint16_t | to_bits () const |
Returns the bits that represent this bfloat16_t. | |
Constructors | |
bfloat16_t (float value) | |
Construct from a float, double, or int using round-to-nearest-ties-to-even. | |
bfloat16_t (double value) | |
Construct from a float, double, or int using round-to-nearest-ties-to-even. | |
bfloat16_t (int value) | |
Construct from a float, double, or int using round-to-nearest-ties-to-even. | |
bfloat16_t ()=default | |
Construct a bfloat16_t with the bits initialised to 0. | |
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 |
|
inline |
|
inline |
|
inline |
bool Halide::bfloat16_t::operator== | ( | bfloat16_t | rhs | ) | const |
Comparison operators.
|
inline |
bool Halide::bfloat16_t::operator> | ( | bfloat16_t | rhs | ) | const |
bool Halide::bfloat16_t::operator< | ( | bfloat16_t | rhs | ) | const |
|
inline |
|
inline |
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 |
|
static |
|
static |
|
static |