16 #ifndef EIGEN_BFLOAT16_H
17 #define EIGEN_BFLOAT16_H
20 #include "../../InternalHeaderCheck.h"
22 #if defined(EIGEN_HAS_HIP_BF16)
29 #pragma push_macro("EIGEN_CONSTEXPR")
30 #undef EIGEN_CONSTEXPR
31 #define EIGEN_CONSTEXPR
34 #define BF16_PACKET_FUNCTION(PACKET_F, PACKET_BF16, METHOD) \
36 EIGEN_DEFINE_FUNCTION_ALLOWING_MULTIPLE_DEFINITIONS EIGEN_UNUSED PACKET_BF16 METHOD<PACKET_BF16>( \
37 const PACKET_BF16& _x) { \
38 return F32ToBf16(METHOD<PACKET_F>(Bf16ToF32(_x))); \
42 #if defined(EIGEN_HAS_HIP_BF16) && defined(EIGEN_GPU_COMPILE_PHASE)
43 #define EIGEN_USE_HIP_BF16
57 namespace bfloat16_impl {
59 #if defined(EIGEN_USE_HIP_BF16)
71 #if defined(EIGEN_HAS_HIP_BF16) && !defined(EIGEN_GPU_COMPILE_PHASE)
83 template <
bool AssumeArgumentIsNormalOrInfinityOrZero>
121 template <
typename RealScalar>
132 namespace bfloat16_impl {
133 template <
typename =
void>
179 template <
typename T>
181 template <
typename T>
183 template <
typename T>
185 template <
typename T>
187 template <
typename T>
189 template <
typename T>
191 template <
typename T>
195 template <
typename T>
197 template <
typename T>
200 template <
typename T>
202 template <
typename T>
204 template <
typename T>
206 template <
typename T>
208 template <
typename T>
210 template <
typename T>
212 template <
typename T>
214 template <
typename T>
216 template <
typename T>
218 template <
typename T>
220 template <
typename T>
222 template <
typename T>
224 template <
typename T>
226 template <
typename T>
239 class numeric_limits<const
Eigen::bfloat16> :
public numeric_limits<Eigen::bfloat16> {};
241 class numeric_limits<volatile
Eigen::bfloat16> :
public numeric_limits<Eigen::bfloat16> {};
243 class numeric_limits<const volatile
Eigen::bfloat16> :
public numeric_limits<Eigen::bfloat16> {};
248 namespace bfloat16_impl {
253 #if !defined(EIGEN_HAS_NATIVE_BF16) || (EIGEN_COMP_CLANG && !EIGEN_COMP_NVCC)
255 #if EIGEN_COMP_CLANG && defined(EIGEN_CUDACC)
257 #pragma push_macro("EIGEN_DEVICE_FUNC")
258 #undef EIGEN_DEVICE_FUNC
259 #if (defined(EIGEN_HAS_GPU_BF16) && defined(EIGEN_HAS_NATIVE_BF16))
260 #define EIGEN_DEVICE_FUNC __host__
262 #define EIGEN_DEVICE_FUNC __host__ __device__
273 return bfloat16(
float(
a) +
static_cast<float>(
b));
276 return bfloat16(
static_cast<float>(
a) +
float(
b));
289 return numext::bit_cast<bfloat16>(
x);
318 return original_value;
323 return original_value;
332 return float(
a) < float(
b);
335 return float(
a) <= float(
b);
338 return float(
a) > float(
b);
341 return float(
a) >= float(
b);
344 #if EIGEN_COMP_CLANG && defined(EIGEN_CUDACC)
345 #pragma pop_macro("EIGEN_DEVICE_FUNC")
352 return bfloat16(
static_cast<float>(
a) /
static_cast<float>(
b));
356 #if defined(EIGEN_USE_HIP_BF16)
357 return __bfloat16_raw(__bfloat16_raw::round_to_bfloat16(
v, __bfloat16_raw::truncate));
370 #if defined(EIGEN_USE_HIP_BF16)
381 #if defined(EIGEN_USE_HIP_BF16)
392 #if defined(EIGEN_USE_HIP_BF16)
566 #if defined(EIGEN_USE_HIP_BF16)
575 input += rounding_bias;
582 #if defined(EIGEN_USE_HIP_BF16)
583 return static_cast<float>(h);
593 #if defined(EIGEN_USE_HIP_BF16)
601 #if defined(EIGEN_USE_HIP_BF16)
613 return numext::bit_cast<bfloat16>(
x);
629 return bfloat16(::atan2f(
float(
a),
float(
b)));
653 const float f1 =
static_cast<float>(
a);
654 const float f2 =
static_cast<float>(
b);
659 const float f1 =
static_cast<float>(
a);
660 const float f2 =
static_cast<float>(
b);
665 const float f1 =
static_cast<float>(
a);
666 const float f2 =
static_cast<float>(
b);
671 const float f1 =
static_cast<float>(
a);
672 const float f2 =
static_cast<float>(
b);
678 os << static_cast<float>(
v);
694 enum :
int { MantissaBits = 7 };
734 #if defined(EIGEN_HAS_HIP_BF16)
735 #pragma pop_macro("EIGEN_CONSTEXPR")
776 uint16_t from_bits = numext::bit_cast<uint16_t>(from);
777 bool from_sign = from_bits >> 15;
779 bool toward_inf = (to > from) == !from_sign;
782 }
else if ((from_bits & 0x7fff) == 0) {
788 return numext::bit_cast<bfloat16>(from_bits);
794 #if EIGEN_HAS_STD_HASH
797 struct hash<
Eigen::bfloat16> {
799 return static_cast<std::size_t
>(Eigen::numext::bit_cast<Eigen::numext::uint16_t>(
a));
816 #if defined(EIGEN_HIPCC)
818 #if defined(EIGEN_HAS_HIP_BF16)
821 const int ivar =
static_cast<int>(Eigen::numext::bit_cast<Eigen::numext::uint16_t>(var));
822 return Eigen::numext::bit_cast<Eigen::bfloat16>(
static_cast<Eigen::numext::uint16_t>(__shfl(ivar, srcLane, width)));
826 int width = warpSize) {
827 const int ivar =
static_cast<int>(Eigen::numext::bit_cast<Eigen::numext::uint16_t>(var));
832 int width = warpSize) {
833 const int ivar =
static_cast<int>(Eigen::numext::bit_cast<Eigen::numext::uint16_t>(var));
834 return Eigen::numext::bit_cast<Eigen::bfloat16>(
839 const int ivar =
static_cast<int>(Eigen::numext::bit_cast<Eigen::numext::uint16_t>(var));
840 return Eigen::numext::bit_cast<Eigen::bfloat16>(
848 #if defined(EIGEN_HIPCC)
851 __ldg(Eigen::numext::bit_cast<const Eigen::numext::uint16_t*>(ptr)));
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
#define EIGEN_ALWAYS_INLINE
Definition: Macros.h:845
#define EIGEN_USING_STD(FUNC)
Definition: Macros.h:1090
#define EIGEN_DISABLE_DEPRECATED_WARNING
Definition: Macros.h:957
#define EIGEN_CONSTEXPR
Definition: Macros.h:758
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_NOT_A_MACRO
Definition: Macros.h:813
#define EIGEN_DIAGNOSTICS(tokens)
Definition: Macros.h:953
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
#define EIGEN_LOG2E
Definition: MathFunctions.h:17
Scalar * b
Definition: benchVecAdd.cpp:17
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
const Scalar * a
Definition: level2_cplx_impl.h:32
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw float_to_bfloat16_rtne(float ff)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16() max(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:658
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 operator/(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:284
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 tanh(const bfloat16 &a)
Definition: BFloat16.h:639
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atan2(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:628
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator<(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:331
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 floor(const bfloat16 &a)
Definition: BFloat16.h:643
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 & operator*=(bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:295
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator>=(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:340
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 operator+(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:269
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 cosh(const bfloat16 &a)
Definition: BFloat16.h:638
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16() min(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:652
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atanh(const bfloat16 &a)
Definition: BFloat16.h:642
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 & operator/=(bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:303
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 ceil(const bfloat16 &a)
Definition: BFloat16.h:644
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 trunc(const bfloat16 &a)
Definition: BFloat16.h:647
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 acos(const bfloat16 &a)
Definition: BFloat16.h:635
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log2(const bfloat16 &a)
Definition: BFloat16.h:621
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR __bfloat16_raw raw_uint16_to_bfloat16(numext::uint16_t value)
Definition: BFloat16.h:369
EIGEN_ALWAYS_INLINE std::ostream & operator<<(std::ostream &os, const bfloat16 &v)
Definition: BFloat16.h:677
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 rint(const bfloat16 &a)
Definition: BFloat16.h:645
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 operator-(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:281
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw truncate_to_bfloat16(const float v)
Definition: BFloat16.h:355
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 operator--(bfloat16 &a)
Definition: BFloat16.h:311
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 asin(const bfloat16 &a)
Definition: BFloat16.h:634
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool() isfinite(const bfloat16 &a)
Definition: BFloat16.h:607
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 fmod(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:648
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 & operator-=(bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:299
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log10(const bfloat16 &a)
Definition: BFloat16.h:620
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR __bfloat16_raw raw_uint16_to_bfloat16(unsigned short value)
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 fmin(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:664
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 atan(const bfloat16 &a)
Definition: BFloat16.h:636
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 fmax(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:670
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 cos(const bfloat16 &a)
Definition: BFloat16.h:632
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp(const bfloat16 &a)
Definition: BFloat16.h:615
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 pow(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:625
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR numext::uint16_t raw_bfloat16_as_uint16(const __bfloat16_raw &bf)
Definition: BFloat16.h:379
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 expm1(const bfloat16 &a)
Definition: BFloat16.h:617
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 sqrt(const bfloat16 &a)
Definition: BFloat16.h:624
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator==(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:325
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw float_to_bfloat16_rtne< false >(float ff)
Definition: BFloat16.h:391
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 round(const bfloat16 &a)
Definition: BFloat16.h:646
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log(const bfloat16 &a)
Definition: BFloat16.h:618
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator!=(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:328
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator>(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:337
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 abs(const bfloat16 &a)
Definition: BFloat16.h:611
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 sinh(const bfloat16 &a)
Definition: BFloat16.h:637
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool() isnan(const bfloat16 &a)
Definition: BFloat16.h:599
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC __bfloat16_raw float_to_bfloat16_rtne< true >(float ff)
Definition: BFloat16.h:565
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 tan(const bfloat16 &a)
Definition: BFloat16.h:633
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 operator*(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:278
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool operator<=(const bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:334
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 sin(const bfloat16 &a)
Definition: BFloat16.h:631
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 exp2(const bfloat16 &a)
Definition: BFloat16.h:616
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool() isinf(const bfloat16 &a)
Definition: BFloat16.h:591
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 acosh(const bfloat16 &a)
Definition: BFloat16.h:641
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 log1p(const bfloat16 &a)
Definition: BFloat16.h:619
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 & operator+=(bfloat16 &a, const bfloat16 &b)
Definition: BFloat16.h:291
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC float bfloat16_to_float(__bfloat16_raw h)
Definition: BFloat16.h:581
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 asinh(const bfloat16 &a)
Definition: BFloat16.h:640
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 operator++(bfloat16 &a)
Definition: BFloat16.h:307
const Scalar & y
Definition: RandomImpl.h:36
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() isinf(const Eigen::bfloat16 &h)
Definition: BFloat16.h:747
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool equal_strict(const X &x, const Y &y)
Definition: Meta.h:571
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() isfinite(const Eigen::bfloat16 &h)
Definition: BFloat16.h:752
EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE bool() isnan(const Eigen::bfloat16 &h)
Definition: BFloat16.h:742
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bool not_equal_strict(const X &x, const Y &y)
Definition: Meta.h:606
EIGEN_STRONG_INLINE EIGEN_DEVICE_FUNC bfloat16 nextafter(const bfloat16 &from, const bfloat16 &to)
Definition: BFloat16.h:766
std::uint16_t uint16_t
Definition: Meta.h:38
std::uint32_t uint32_t
Definition: Meta.h:40
EIGEN_DEVICE_FUNC static constexpr EIGEN_ALWAYS_INLINE Scalar signbit(const Scalar &x)
Definition: MathFunctions.h:1419
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
squared absolute value
Definition: GlobalFunctions.h:87
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
double f2(const Vector< double > &coord)
f2 function, in front of the C2 unknown
Definition: poisson/poisson_with_singularity/two_d_poisson.cc:233
double f1(const Vector< double > &coord)
f1 function, in front of the C1 unknown
Definition: poisson/poisson_with_singularity/two_d_poisson.cc:147
int delta
Definition: MultiOpt.py:96
val
Definition: calibrate.py:119
Definition: Eigen_Colamd.h:49
list x
Definition: plotDoE.py:28
void output(std::ostream &outfile, const unsigned &nplot)
Overload output function.
Definition: overloaded_element_body.h:490
Definition: NumTraits.h:172
@ RequireInitialization
Definition: NumTraits.h:177
@ IsSigned
Definition: NumTraits.h:175
@ IsInteger
Definition: NumTraits.h:174
@ IsComplex
Definition: NumTraits.h:176
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR EIGEN_STRONG_INLINE Eigen::bfloat16 highest()
Definition: BFloat16.h:718
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR EIGEN_STRONG_INLINE Eigen::bfloat16 lowest()
Definition: BFloat16.h:721
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR EIGEN_STRONG_INLINE Eigen::bfloat16 infinity()
Definition: BFloat16.h:724
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR EIGEN_STRONG_INLINE Eigen::bfloat16 quiet_NaN()
Definition: BFloat16.h:727
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR EIGEN_STRONG_INLINE Eigen::bfloat16 dummy_precision()
Definition: BFloat16.h:715
EIGEN_DEVICE_FUNC static EIGEN_CONSTEXPR EIGEN_STRONG_INLINE Eigen::bfloat16 epsilon()
Definition: BFloat16.h:712
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
Definition: BFloat16.h:70
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR __bfloat16_raw()
Definition: BFloat16.h:74
unsigned short value
Definition: BFloat16.h:77
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR __bfloat16_raw(unsigned short raw)
Definition: BFloat16.h:76
Definition: BFloat16.h:93
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR bfloat16_base()
Definition: BFloat16.h:94
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR bfloat16_base(const __bfloat16_raw &h)
Definition: BFloat16.h:95
Definition: BFloat16.h:134
static EIGEN_CONSTEXPR const bool tinyness_before
Definition: BFloat16.h:164
static EIGEN_CONSTEXPR Eigen::bfloat16() min()
Definition: BFloat16.h:166
static EIGEN_CONSTEXPR const std::float_round_style round_style
Definition: BFloat16.h:147
static EIGEN_CONSTEXPR const bool has_denorm_loss
Definition: BFloat16.h:145
static EIGEN_CONSTEXPR const int min_exponent
Definition: BFloat16.h:157
static EIGEN_CONSTEXPR const bool has_infinity
Definition: BFloat16.h:139
static EIGEN_DISABLE_DEPRECATED_WARNING EIGEN_CONSTEXPR const std::float_denorm_style has_denorm
Definition: BFloat16.h:144
static EIGEN_CONSTEXPR const int radix
Definition: BFloat16.h:156
static EIGEN_CONSTEXPR const bool is_iec559
Definition: BFloat16.h:148
static EIGEN_CONSTEXPR const bool is_bounded
Definition: BFloat16.h:151
static EIGEN_CONSTEXPR const bool is_exact
Definition: BFloat16.h:138
static EIGEN_CONSTEXPR const bool is_integer
Definition: BFloat16.h:137
static EIGEN_CONSTEXPR Eigen::bfloat16 denorm_min()
Definition: BFloat16.h:176
static EIGEN_CONSTEXPR Eigen::bfloat16 quiet_NaN()
Definition: BFloat16.h:172
static EIGEN_CONSTEXPR Eigen::bfloat16 epsilon()
Definition: BFloat16.h:169
static EIGEN_CONSTEXPR const int max_digits10
Definition: BFloat16.h:155
static EIGEN_CONSTEXPR const int max_exponent10
Definition: BFloat16.h:160
static EIGEN_CONSTEXPR const int max_exponent
Definition: BFloat16.h:159
static EIGEN_CONSTEXPR const int digits10
Definition: BFloat16.h:154
static EIGEN_CONSTEXPR Eigen::bfloat16 lowest()
Definition: BFloat16.h:167
static EIGEN_CONSTEXPR const bool has_signaling_NaN
Definition: BFloat16.h:141
static EIGEN_CONSTEXPR Eigen::bfloat16 infinity()
Definition: BFloat16.h:171
static EIGEN_CONSTEXPR Eigen::bfloat16() max()
Definition: BFloat16.h:168
static EIGEN_CONSTEXPR Eigen::bfloat16 signaling_NaN()
Definition: BFloat16.h:173
static EIGEN_CONSTEXPR Eigen::bfloat16 round_error()
Definition: BFloat16.h:170
static EIGEN_CONSTEXPR const bool traps
Definition: BFloat16.h:161
static EIGEN_CONSTEXPR const bool is_modulo
Definition: BFloat16.h:152
static EIGEN_CONSTEXPR const bool is_specialized
Definition: BFloat16.h:135
static EIGEN_CONSTEXPR const bool is_signed
Definition: BFloat16.h:136
static EIGEN_CONSTEXPR const bool has_quiet_NaN
Definition: BFloat16.h:140
static EIGEN_CONSTEXPR const int min_exponent10
Definition: BFloat16.h:158
static EIGEN_CONSTEXPR const int digits
Definition: BFloat16.h:153
Definition: BFloat16.h:101
bfloat16_impl::__bfloat16_raw __bfloat16_raw
Definition: BFloat16.h:102
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR bfloat16(const __bfloat16_raw &h)
Definition: BFloat16.h:106
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR bfloat16(const std::complex< RealScalar > &val)
Definition: BFloat16.h:122
EIGEN_DEVICE_FUNC bfloat16(float f)
Definition: BFloat16.h:116
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR bfloat16(T val)
Definition: BFloat16.h:112
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR bfloat16()
Definition: BFloat16.h:104
EIGEN_DEVICE_FUNC EIGEN_CONSTEXPR bfloat16(bool b)
Definition: BFloat16.h:108
@ value
Definition: Meta.h:146
static EIGEN_DEVICE_FUNC bfloat16 run(const bfloat16 &x, const bfloat16 &y)
Definition: BFloat16.h:696
static EIGEN_DEVICE_FUNC bfloat16 run()
Definition: BFloat16.h:700
Definition: RandomImpl.h:28
void run(const string &dir_name, LinearSolver *linear_solver_pt, const unsigned nel_1d, bool mess_up_order)
Definition: two_d_poisson_compare_solvers.cc:317