32#ifndef __ARCH_AMDGPU_COMMON_DTYPE_MXFP_HH__
33#define __ARCH_AMDGPU_COMMON_DTYPE_MXFP_HH__
68 data <<= (32 - int(FMT::sbits) - int(FMT::ebits) - int(FMT::mbits));
74 conv_out =
convertMXFP<FMT,
decltype(
f.getFmt())>(
f.getFmt());
75 data = conv_out.storage;
89 conv_out =
convertMXFP<FMT,
decltype(
f.getFmt())>(
f.getFmt());
90 data = conv_out.storage;
94 operator float()
const
107 return int(FMT::mbits) + int(FMT::ebits) + int(FMT::sbits);
190 in.mant =
m &
mask(FMT::mbits);
226 a.data ^= 0x80000000;
264 return T(
float(
a) +
float(
b));
270 return T(
float(
a) -
float(
b));
276 return T(
float(
a) *
float(
b));
282 return T(
float(
a) /
float(
b));
void scaleMul(const float &f)
mxfp & operator=(const mxfp &f)
uint32_t float_to_mxfp(float f)
static constexpr int size()
mxfp(const uint32_t &raw)
void scaleDiv(const float &f)
mxfp & operator=(const float &f)
bool operator==(T a, T b)
dFMT convertMXFP(sFMT in, mxfpRoundingMode mode=roundTiesToEven, uint32_t seed=0)
bool operator!=(T a, T b)
bool operator<=(T a, T b)
bool operator>=(T a, T b)
Copyright (c) 2024 Arm Limited All rights reserved.