mxnet
Namespaces | Macros | Functions
bfloat.h File Reference

definition of bfloat type. More...

#include "./base.h"
Include dependency graph for bfloat.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 mshadow
 overloaded + operator between half_t and bf16_t
 
 mshadow::bfloat
 

Macros

#define MSHADOW_BF16_OPERATOR_TYPE(RTYPE, ITYPE, OP)
 
#define MSHADOW_BF16_OPERATOR(RTYPE, OP)
 
#define MSHADOW_BF16_ASSIGNOP(AOP, OP)
 
#define MSHADOW_BF16_CONVERSIONOP(T)
 
#define MSHADOW_BF16_MIN   mshadow::bfloat::bf16_t::Binary(0xFF7F);
 overloaded + operator for bf16_t More...
 
#define MSHADOW_BF16_MAX   mshadow::bfloat::bf16_t::Binary(0x7F7F);
 
#define MSHADOW_BF16_SIGN_BIT   0x8000
 
#define MSHADOW_BF16_EXPONENT_BITS   0x7f80
 

Functions

class mshadow::bfloat::MSHADOW_ALIGNED (2) bf16_t
 

Detailed Description

definition of bfloat type.

Author
Zhennan Qin

Macro Definition Documentation

◆ MSHADOW_BF16_ASSIGNOP

#define MSHADOW_BF16_ASSIGNOP (   AOP,
  OP 
)
Value:
template<typename T> \
MSHADOW_XINLINE bf16_t operator AOP (const T& a) { \
return *this = bf16_t(float(*this) OP float(a)); /* NOLINT(*)*/ \
} \
template<typename T> \
MSHADOW_XINLINE bf16_t operator AOP (const volatile T& a) volatile { \
return *this = bf16_t(float(*this) OP float(a)); /* NOLINT(*)*/ \
}

◆ MSHADOW_BF16_CONVERSIONOP

#define MSHADOW_BF16_CONVERSIONOP (   T)
Value:
MSHADOW_XINLINE operator T() const { \
return T(BF16ToFloat(bf16_)); /* NOLINT(*)*/ \
} \
MSHADOW_XINLINE operator T() const volatile { \
return T(BF16ToFloat(bf16_)); /* NOLINT(*)*/ \
}

◆ MSHADOW_BF16_EXPONENT_BITS

#define MSHADOW_BF16_EXPONENT_BITS   0x7f80

◆ MSHADOW_BF16_MAX

#define MSHADOW_BF16_MAX   mshadow::bfloat::bf16_t::Binary(0x7F7F);

◆ MSHADOW_BF16_MIN

#define MSHADOW_BF16_MIN   mshadow::bfloat::bf16_t::Binary(0xFF7F);

overloaded + operator for bf16_t

overloaded - operator for bf16_t

overloaded * operator for bf16_t

overloaded / operator for bf16_t

overloaded > operator for bf16_t

overloaded < operator for bf16_t

overloaded >= operator for bf16_t

overloaded <= operator for bf16_t

◆ MSHADOW_BF16_OPERATOR

#define MSHADOW_BF16_OPERATOR (   RTYPE,
  OP 
)
Value:
MSHADOW_XINLINE RTYPE operator OP (bf16_t a, bf16_t b) { \
return RTYPE(static_cast<float>(a) OP float(b)); /* NOLINT(*) */ \
} \
MSHADOW_BF16_OPERATOR_TYPE(float, float, OP) \
MSHADOW_BF16_OPERATOR_TYPE(double, double, OP) \
MSHADOW_BF16_OPERATOR_TYPE(float, int8_t, OP) \
MSHADOW_BF16_OPERATOR_TYPE(float, uint8_t, OP) \
MSHADOW_BF16_OPERATOR_TYPE(float, int32_t, OP) \
MSHADOW_BF16_OPERATOR_TYPE(float, uint32_t, OP) \
MSHADOW_BF16_OPERATOR_TYPE(float, int64_t, OP) \
MSHADOW_BF16_OPERATOR_TYPE(float, uint64_t, OP)

◆ MSHADOW_BF16_OPERATOR_TYPE

#define MSHADOW_BF16_OPERATOR_TYPE (   RTYPE,
  ITYPE,
  OP 
)
Value:
MSHADOW_XINLINE RTYPE operator OP (ITYPE a, bf16_t b) { \
return RTYPE(a OP float(b)); /* NOLINT(*) */ \
} \
MSHADOW_XINLINE RTYPE operator OP (bf16_t a, ITYPE b) { \
return RTYPE(float(a) OP b); /* NOLINT(*) */ \
}

◆ MSHADOW_BF16_SIGN_BIT

#define MSHADOW_BF16_SIGN_BIT   0x8000
MSHADOW_XINLINE
#define MSHADOW_XINLINE
Definition: base.h:228