WPILibC++ 2023.4.3-108-ge5452e3
BFloat16.h File Reference

Go to the source code of this file.

Classes

struct  Eigen::bfloat16_impl::__bfloat16_raw
 
struct  Eigen::bfloat16_impl::bfloat16_base
 
struct  Eigen::bfloat16
 
struct  std::numeric_limits< Eigen::bfloat16 >
 
struct  std::numeric_limits< const Eigen::bfloat16 >
 
struct  std::numeric_limits< volatile Eigen::bfloat16 >
 
struct  std::numeric_limits< const volatile Eigen::bfloat16 >
 
struct  Eigen::internal::random_default_impl< bfloat16, false, false >
 
struct  Eigen::internal::is_arithmetic< bfloat16 >
 
struct  Eigen::NumTraits< Eigen::bfloat16 >
 

Namespaces

namespace  Eigen
 Namespace containing all symbols from the Eigen library.
 
namespace  Eigen::bfloat16_impl
 
namespace  std
 
namespace  Eigen::internal
 
namespace  Eigen::numext
 

Macros

#define BF16_PACKET_FUNCTION(PACKET_F, PACKET_BF16, METHOD)
 

Functions

EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR __bfloat16_raw Eigen::bfloat16_impl::raw_uint16_to_bfloat16 (unsigned short value)
 
template<bool AssumeArgumentIsNormalOrInfinityOrZero>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw Eigen::bfloat16_impl::float_to_bfloat16_rtne (float ff)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw Eigen::bfloat16_impl::float_to_bfloat16_rtne< false > (float ff)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw Eigen::bfloat16_impl::float_to_bfloat16_rtne< true > (float ff)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC float Eigen::bfloat16_impl::bfloat16_to_float (__bfloat16_raw h)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator+ (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator+ (const bfloat16 &a, const int &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator+ (const int &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator* (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator- (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator/ (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator- (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 & Eigen::bfloat16_impl::operator+= (bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 & Eigen::bfloat16_impl::operator*= (bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 & Eigen::bfloat16_impl::operator-= (bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 & Eigen::bfloat16_impl::operator/= (bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator++ (bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator-- (bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator++ (bfloat16 &a, int)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator-- (bfloat16 &a, int)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::bfloat16_impl::operator== (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::bfloat16_impl::operator!= (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::bfloat16_impl::operator< (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::bfloat16_impl::operator<= (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::bfloat16_impl::operator> (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool Eigen::bfloat16_impl::operator>= (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::operator/ (const bfloat16 &a, Index b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw Eigen::bfloat16_impl::truncate_to_bfloat16 (const float v)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR __bfloat16_raw Eigen::bfloat16_impl::raw_uint16_to_bfloat16 (numext::uint16_t value)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR numext::uint16_t Eigen::bfloat16_impl::raw_bfloat16_as_uint16 (const __bfloat16_raw &bf)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw Eigen::bfloat16_impl::float_to_bfloat16_rtne< false > (float ff)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw Eigen::bfloat16_impl::float_to_bfloat16_rtne< true > (float ff)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool() Eigen::bfloat16_impl::isinf (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool() Eigen::bfloat16_impl::isnan (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool() Eigen::bfloat16_impl::isfinite (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::abs (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::exp (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::expm1 (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::log (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::log1p (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::log10 (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::log2 (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::sqrt (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::pow (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::sin (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::cos (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::tan (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::asin (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::acos (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::atan (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::sinh (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::cosh (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::tanh (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::floor (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::ceil (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::rint (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::round (const bfloat16 &a)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::fmod (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16() Eigen::bfloat16_impl::min (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16() Eigen::bfloat16_impl::max (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::fmin (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 Eigen::bfloat16_impl::fmax (const bfloat16 &a, const bfloat16 &b)
 
EIGEN_ALWAYS_INLINE std::ostream & Eigen::bfloat16_impl::operator<< (std::ostream &os, const bfloat16 &v)
 
template<>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() Eigen::numext::isnan (const Eigen::bfloat16 &h)
 
template<>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() Eigen::numext::isinf (const Eigen::bfloat16 &h)
 
template<>
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() Eigen::numext::isfinite (const Eigen::bfloat16 &h)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC Eigen::bfloat16 Eigen::numext::bit_cast< Eigen::bfloat16, uint16_t > (const uint16_t &src)
 
template<>
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC uint16_t Eigen::numext::bit_cast< uint16_t, Eigen::bfloat16 > (const Eigen::bfloat16 &src)
 

Macro Definition Documentation

◆ BF16_PACKET_FUNCTION

#define BF16_PACKET_FUNCTION (   PACKET_F,
  PACKET_BF16,
  METHOD 
)
Value:
template <> \
EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED \
PACKET_BF16 METHOD<PACKET_BF16>(const PACKET_BF16& _x) { \
return F32ToBf16(METHOD<PACKET_F>(Bf16ToF32(_x))); \
}
EIGEN_STRONG_INLINE Packet8f Bf16ToF32(const Packet8bf &a)
Definition: PacketMath.h:1260
EIGEN_STRONG_INLINE Packet8bf F32ToBf16(const Packet8f &a)
Definition: PacketMath.h:1274