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);
 

Functions

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

Detailed Description

definition of bfloat type.

Copyright (c) 2019 by Contributors

Author
Zhennan Qin

Macro Definition Documentation

#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(*)*/ \
}
#define MSHADOW_XINLINE
Definition: base.h:223
#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(*)*/ \
}
#define MSHADOW_XINLINE
Definition: base.h:223
#define MSHADOW_BF16_MAX   mshadow::bfloat::bf16_t::Binary(0x7F7F);
#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

#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)
#define MSHADOW_BF16_OPERATOR_TYPE(RTYPE, ITYPE, OP)
Definition: bfloat.h:36
#define MSHADOW_XINLINE
Definition: base.h:223
#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(*) */ \
}
#define MSHADOW_XINLINE
Definition: base.h:223