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

Methods

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)

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)

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)

Declared at: include/backends/softback.hpp:95

Templates

Trait

Parameters

typename Trait::holder_t i

constexpr Unpacked<FT, ET>(double p)

Declared at: include/backends/softback.hpp:108

Parameters

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

Declared at: include/backends/softback.hpp:84

Parameters

posit::Unpacked::Type t
bool anegativeSign = false

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)

Declared at: include/backends/softback.hpp:81

Parameters

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

Declared at: include/backends/softback.hpp:79

Parameters

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

Declared at: include/backends/softback.hpp:77

Parameters

int i

constexpr Unpacked<FT, ET>(halffloat p)

Declared at: include/backends/softback.hpp:76

Parameters

halffloat p

constexpr Unpacked<FT, ET>()

Declared at: include/backends/softback.hpp:64

static constexpr Unpacked<FT, ET> infinity()

Declared at: include/backends/softback.hpp:165

constexpr Unpacked<FT, ET> inv() const

Declared at: include/backends/softback.hpp:209

constexpr bool isInfinity() const

Declared at: include/backends/softback.hpp:159

constexpr bool isNaN() const

Declared at: include/backends/softback.hpp:161

constexpr bool isPositive() const

Declared at: include/backends/softback.hpp:163

constexpr bool isRegular() const

Declared at: include/backends/softback.hpp:160

constexpr bool isZero() const

Declared at: include/backends/softback.hpp:162

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)

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)

Declared at: include/backends/softback.hpp:181

Templates

Trait

Parameters

typename Trait::holder_t x

static constexpr Unpacked<FT, ET> nan()

Declared at: include/backends/softback.hpp:172

static constexpr Unpacked<FT, ET> ninfinity()

Declared at: include/backends/softback.hpp:169

constexpr Unpacked<FT, ET> normalized() const

Declared at: include/backends/softback.hpp:67

static constexpr Unpacked<FT, ET> one()

Declared at: include/backends/softback.hpp:173

constexpr double operator double() const

Declared at: include/backends/softback.hpp:116

constexpr float operator float() const

Declared at: include/backends/softback.hpp:115

constexpr halffloat operator halffloat() const

Declared at: include/backends/softback.hpp:126

constexpr int operator int() const

Declared at: include/backends/softback.hpp:128

constexpr long operator long() const

Declared at: include/backends/softback.hpp:129

constexpr long long operator long long() const

Declared at: include/backends/softback.hpp:130

constexpr unsigned int operator unsigned int()
    const

Declared at: include/backends/softback.hpp:131

constexpr unsigned long operator unsigned long()
    const

Declared at: include/backends/softback.hpp:132

constexpr unsigned long long
operator unsigned long long() const

Declared at: include/backends/softback.hpp:133

template <class T>
constexpr T pack_float() const

Declared at: include/backends/softback.hpp:155

Templates

T

template <class Trait>
constexpr typename Trait::value_t pack_xfixed()
    const

Description

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

Declared at: include/backends/softback.hpp:145

Templates

Trait

template <class Trait>
constexpr typename Trait::holder_t pack_xfloati()
    const

Declared at: include/backends/softback.hpp:139

Templates

Trait

static constexpr Unpacked<FT, ET> pinfinity()

Declared at: include/backends/softback.hpp:166

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)

Declared at: include/backends/softback.hpp:109

Parameters

float f

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)

Declared at: include/backends/softback.hpp:122

Parameters

int i

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)

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)

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

Declared at: include/backends/softback.hpp:174