struct Unpacked
Declaration
template <class FT = uint64_t, class ET = int32_t>
struct Unpacked { /* full declaration omitted */ };Description
Unpacked backend for full-software posit emulation
Declared at: include/backends/softback.hpp:42
Templates
- FT = uint64_t
- Holder type for the fraction
- ET = int32_t
- Holder type for the exponent
Member Variables
- public posit::Unpacked::Type type = NumberType::Regular
- public bool negativeSign = false
- public ET exponent = 0
- public FT fraction = 0
Method Overview
- public constexpr Unpacked<FT, ET>(ET aexponent, FT afraction, bool anegativeSign)
- public constexpr Unpacked<FT, ET>(posit::Unpacked::single_tag, uint32_t p)
- public template <class Trait, typename >constexpr Unpacked<FT, ET>(typename Trait::value_t i)
- public template <class Trait, typename >constexpr Unpacked<FT, ET>(typename Trait::holder_t i)
- public constexpr Unpacked<FT, ET>(double p)
- public constexpr Unpacked<FT, ET>(float p)
- public constexpr Unpacked<FT, ET>(posit::Unpacked::Type t, bool anegativeSign = false)
- public constexpr Unpacked<FT, ET>(unsigned long long i)
- public constexpr Unpacked<FT, ET>(unsigned long i)
- public constexpr Unpacked<FT, ET>(long long i)
- public constexpr Unpacked<FT, ET>(long i)
- public constexpr Unpacked<FT, ET>(unsigned int i)
- public constexpr Unpacked<FT, ET>(int i)
- public constexpr Unpacked<FT, ET>(halffloat p)
- public constexpr Unpacked<FT, ET>()
- public static constexpr Unpacked<FT, ET> infinity()
- public constexpr Unpacked<FT, ET> inv() const
- public constexpr bool isInfinity() const
- public constexpr bool isNaN() const
- public constexpr bool isPositive() const
- public constexpr bool isRegular() const
- public constexpr bool isZero() const
- public template <class Trait>static constexpr Unpacked<FT, ET> make_fixed(typename Trait::value_t x)
- public template <class Trait>static constexpr Unpacked<FT, ET> make_float(typename Trait::value_t x)
- public template <class Trait>static constexpr Unpacked<FT, ET> make_floati(typename Trait::holder_t x)
- public static constexpr Unpacked<FT, ET> nan()
- public static constexpr Unpacked<FT, ET> ninfinity()
- public constexpr Unpacked<FT, ET> normalized() const
- public static constexpr Unpacked<FT, ET> one()
- public constexpr double operator double() const
- public constexpr float operator float() const
- public constexpr halffloat operator halffloat() const
- public constexpr int operator int() const
- public constexpr long operator long() const
- public constexpr long long operator long long() const
- public constexpr unsigned int operator unsigned int() const
- public constexpr unsigned long operator unsigned long() const
- public constexpr unsigned long long operator unsigned long long() const
- public template <class T>constexpr T pack_float() const
- public template <class Trait>constexpr typename Trait::value_t pack_xfixed() const
- public template <class Trait>typename Trait::value_t pack_xfloat() const
- public template <class Trait>constexpr typename Trait::holder_t pack_xfloati() const
- public static constexpr Unpacked<FT, ET> pinfinity()
- public constexpr Unpacked<FT, ET> & unpack_double(double d)
- public constexpr Unpacked<FT, ET> & unpack_float(float f)
- public constexpr Unpacked<FT, ET> & unpack_half(halffloat d)
- public constexpr Unpacked<FT, ET> & unpack_int(int i)
- public template <class Trait>constexpr Unpacked<FT, ET> & unpack_xfixed(typename Trait::value_t value)
- public template <class Trait>Unpacked<FT, ET> & unpack_xfloat(typename Trait::value_t value)
- public template <class Trait>constexpr Unpacked<FT, ET> & unpack_xfloati(typename Trait::holder_t value)
- public static constexpr Unpacked<FT, ET> zero()
Methods
¶constexpr Unpacked<FT, ET>(ET aexponent,
FT afraction,
bool anegativeSign)
constexpr Unpacked<FT, ET>(ET aexponent,
FT afraction,
bool anegativeSign)Declared at: include/backends/softback.hpp:100
Parameters
- ET aexponent
- FT afraction
- bool anegativeSign
¶constexpr Unpacked<FT, ET>(
posit::Unpacked::single_tag,
uint32_t p)
constexpr Unpacked<FT, ET>(
posit::Unpacked::single_tag,
uint32_t p)Declared at: include/backends/softback.hpp:60
Parameters
- posit::Unpacked::single_tag
- uint32_t p
¶template <class Trait, typename>
constexpr Unpacked<FT, ET>(
typename Trait::value_t i)
template <class Trait, typename>
constexpr Unpacked<FT, ET>(
typename Trait::value_t i)Declared at: include/backends/softback.hpp:89
Templates
- Trait
Parameters
- typename Trait::value_t i
¶template <class Trait, typename>
constexpr Unpacked<FT, ET>(
typename Trait::holder_t i)
template <class Trait, typename>
constexpr Unpacked<FT, ET>(
typename Trait::holder_t i)Declared at: include/backends/softback.hpp:95
Templates
- Trait
Parameters
- typename Trait::holder_t i
¶constexpr Unpacked<FT, ET>(double p)
constexpr Unpacked<FT, ET>(double p)Declared at: include/backends/softback.hpp:108
Parameters
- double p
¶constexpr Unpacked<FT, ET>(float p)
constexpr Unpacked<FT, ET>(float p)Declared at: include/backends/softback.hpp:107
Parameters
- float p
¶constexpr Unpacked<FT, ET>(
posit::Unpacked::Type t,
bool anegativeSign = false)
constexpr Unpacked<FT, ET>(
posit::Unpacked::Type t,
bool anegativeSign = false)Declared at: include/backends/softback.hpp:84
Parameters
- posit::Unpacked::Type t
- bool anegativeSign = false
¶constexpr Unpacked<FT, ET>(unsigned long long i)
constexpr Unpacked<FT, ET>(unsigned long long i)Declared at: include/backends/softback.hpp:82
Parameters
- unsigned long long i
¶constexpr Unpacked<FT, ET>(unsigned long i)
constexpr Unpacked<FT, ET>(unsigned long i)Declared at: include/backends/softback.hpp:81
Parameters
- unsigned long i
¶constexpr Unpacked<FT, ET>(long long i)
constexpr Unpacked<FT, ET>(long long i)Declared at: include/backends/softback.hpp:80
Parameters
- long long i
¶constexpr Unpacked<FT, ET>(long i)
constexpr Unpacked<FT, ET>(long i)Declared at: include/backends/softback.hpp:79
Parameters
- long i
¶constexpr Unpacked<FT, ET>(unsigned int i)
constexpr Unpacked<FT, ET>(unsigned int i)Declared at: include/backends/softback.hpp:78
Parameters
- unsigned int i
¶constexpr Unpacked<FT, ET>(int i)
constexpr Unpacked<FT, ET>(int i)Declared at: include/backends/softback.hpp:77
Parameters
- int i
¶constexpr Unpacked<FT, ET>(halffloat p)
constexpr Unpacked<FT, ET>(halffloat p)Declared at: include/backends/softback.hpp:76
Parameters
- halffloat p
¶constexpr Unpacked<FT, ET>()
constexpr Unpacked<FT, ET>()Declared at: include/backends/softback.hpp:64
¶static constexpr Unpacked<FT, ET> infinity()
static constexpr Unpacked<FT, ET> infinity()Declared at: include/backends/softback.hpp:165
¶constexpr Unpacked<FT, ET> inv() const
constexpr Unpacked<FT, ET> inv() constDeclared at: include/backends/softback.hpp:209
¶constexpr bool isInfinity() const
constexpr bool isInfinity() constDeclared at: include/backends/softback.hpp:159
¶constexpr bool isNaN() const
constexpr bool isNaN() constDeclared at: include/backends/softback.hpp:161
¶constexpr bool isPositive() const
constexpr bool isPositive() constDeclared at: include/backends/softback.hpp:163
¶constexpr bool isRegular() const
constexpr bool isRegular() constDeclared at: include/backends/softback.hpp:160
¶constexpr bool isZero() const
constexpr bool isZero() constDeclared at: include/backends/softback.hpp:162
¶template <class Trait>
static constexpr Unpacked<FT, ET> make_fixed(
typename Trait::value_t x)
template <class Trait>
static constexpr Unpacked<FT, ET> make_fixed(
typename Trait::value_t x)Declared at: include/backends/softback.hpp:176
Templates
- Trait
Parameters
- typename Trait::value_t x
¶template <class Trait>
static constexpr Unpacked<FT, ET> make_float(
typename Trait::value_t x)
template <class Trait>
static constexpr Unpacked<FT, ET> make_float(
typename Trait::value_t x)Declared at: include/backends/softback.hpp:186
Templates
- Trait
Parameters
- typename Trait::value_t x
¶template <class Trait>
static constexpr Unpacked<FT, ET> make_floati(
typename Trait::holder_t x)
template <class Trait>
static constexpr Unpacked<FT, ET> make_floati(
typename Trait::holder_t x)Declared at: include/backends/softback.hpp:181
Templates
- Trait
Parameters
- typename Trait::holder_t x
¶static constexpr Unpacked<FT, ET> nan()
static constexpr Unpacked<FT, ET> nan()Declared at: include/backends/softback.hpp:172
¶static constexpr Unpacked<FT, ET> ninfinity()
static constexpr Unpacked<FT, ET> ninfinity()Declared at: include/backends/softback.hpp:169
¶constexpr Unpacked<FT, ET> normalized() const
constexpr Unpacked<FT, ET> normalized() constDeclared at: include/backends/softback.hpp:67
¶static constexpr Unpacked<FT, ET> one()
static constexpr Unpacked<FT, ET> one()Declared at: include/backends/softback.hpp:173
¶constexpr double operator double() const
constexpr double operator double() constDeclared at: include/backends/softback.hpp:116
¶constexpr float operator float() const
constexpr float operator float() constDeclared at: include/backends/softback.hpp:115
¶constexpr halffloat operator halffloat() const
constexpr halffloat operator halffloat() constDeclared at: include/backends/softback.hpp:126
¶constexpr int operator int() const
constexpr int operator int() constDeclared at: include/backends/softback.hpp:128
¶constexpr long operator long() const
constexpr long operator long() constDeclared at: include/backends/softback.hpp:129
¶constexpr long long operator long long() const
constexpr long long operator long long() constDeclared at: include/backends/softback.hpp:130
¶constexpr unsigned int operator unsigned int()
const
constexpr unsigned int operator unsigned int()
constDeclared at: include/backends/softback.hpp:131
¶constexpr unsigned long operator unsigned long()
const
constexpr unsigned long operator unsigned long()
constDeclared at: include/backends/softback.hpp:132
¶constexpr unsigned long long
operator unsigned long long() const
constexpr unsigned long long
operator unsigned long long() constDeclared at: include/backends/softback.hpp:133
¶template <class T>
constexpr T pack_float() const
template <class T>
constexpr T pack_float() constDeclared at: include/backends/softback.hpp:155
Templates
- T
¶template <class Trait>
constexpr typename Trait::value_t pack_xfixed()
const
template <class Trait>
constexpr typename Trait::value_t pack_xfixed()
constDescription
Convert (s,2**E,F) to int
Declared at: include/backends/softback.hpp:142
Templates
- Trait
¶template <class Trait>
typename Trait::value_t pack_xfloat() const
template <class Trait>
typename Trait::value_t pack_xfloat() constDeclared at: include/backends/softback.hpp:145
Templates
- Trait
¶template <class Trait>
constexpr typename Trait::holder_t pack_xfloati()
const
template <class Trait>
constexpr typename Trait::holder_t pack_xfloati()
constDeclared at: include/backends/softback.hpp:139
Templates
- Trait
¶static constexpr Unpacked<FT, ET> pinfinity()
static constexpr Unpacked<FT, ET> pinfinity()Declared at: include/backends/softback.hpp:166
¶constexpr Unpacked<FT, ET>& unpack_double(
double d)
constexpr Unpacked<FT, ET>& unpack_double(
double d)Declared at: include/backends/softback.hpp:112
Parameters
- double d
¶constexpr Unpacked<FT, ET>& unpack_float(float f)
constexpr Unpacked<FT, ET>& unpack_float(float f)Declared at: include/backends/softback.hpp:109
Parameters
- float f
¶constexpr Unpacked<FT, ET>& unpack_half(
halffloat d)
constexpr Unpacked<FT, ET>& unpack_half(
halffloat d)Declared at: include/backends/softback.hpp:119
Parameters
- halffloat d
¶constexpr Unpacked<FT, ET>& unpack_int(int i)
constexpr Unpacked<FT, ET>& unpack_int(int i)Declared at: include/backends/softback.hpp:122
Parameters
- int i
¶template <class Trait>
constexpr Unpacked<FT, ET>& unpack_xfixed(
typename Trait::value_t value)
template <class Trait>
constexpr Unpacked<FT, ET>& unpack_xfixed(
typename Trait::value_t value)Description
unpacks a value stored as fixed or integer. Value and holder match
Declared at: include/backends/softback.hpp:252
Templates
- Trait
Parameters
- typename Trait::value_t value
¶template <class Trait>
Unpacked<FT, ET>& unpack_xfloat(
typename Trait::value_t value)
template <class Trait>
Unpacked<FT, ET>& unpack_xfloat(
typename Trait::value_t value)Description
unpacks a floating point value by its value type (single)
Declared at: include/backends/softback.hpp:261
Templates
- Trait
Parameters
- typename Trait::value_t value
¶template <class Trait>
constexpr Unpacked<FT, ET>& unpack_xfloati(
typename Trait::holder_t value)
template <class Trait>
constexpr Unpacked<FT, ET>& unpack_xfloati(
typename Trait::holder_t value)Description
unpacks a floating point value as expressed by its holding type (uint32 for single)
Declared at: include/backends/softback.hpp:257
Templates
- Trait
Parameters
- typename Trait::holder_t value
¶static constexpr Unpacked<FT, ET> zero()
static constexpr Unpacked<FT, ET> zero()Declared at: include/backends/softback.hpp:174