tlfloat_octuple Struct Reference

`#include <tlfloat/tlfloat.h>`

Collaboration diagram for tlfloat_octuple:
[legend]

## Public Member Functions

| tlfloat_octuple ()
constexpr | tlfloat_octuple (const tlfloat_octuple_ &v)
constexpr | operator tlfloat_octuple_ () const
| tlfloat_octuple (const tlfloat_quad &v)
| operator tlfloat_quad () const
| tlfloat_octuple (const double &d)
| operator double () const
template<typename T, typename std::enable_if<(std::is_integral< T >::value &&(sizeof(T)< 8||!std::is_unsigned< T >::value)), int >::type = 0>
| tlfloat_octuple (const T &i)
template<typename T, typename std::enable_if<(std::is_integral< T >::value &&std::is_unsigned< T >::value &&sizeof(T)==8), int >::type = 0>
| tlfloat_octuple (const T &u)
template<typename T, typename std::enable_if<(std::is_integral< T >::value &&(sizeof(T)< 8||!std::is_unsigned< T >::value)), int >::type = 0>
| operator T () const
template<typename T, typename std::enable_if<(std::is_integral< T >::value &&std::is_unsigned< T >::value &&sizeof(T)==8), int >::type = 0>
| operator T () const
| tlfloat_octuple (const tlfloat_int128_t_ &i)
| tlfloat_octuple (const tlfloat_uint128_t_ &u)
| operator tlfloat_int128_t_ () const
| operator tlfloat_uint128_t_ () const
| tlfloat_octuple (const struct tlfloat_int128_t &i)
| tlfloat_octuple (const struct tlfloat_uint128_t &u)
template<typename fptype, typename std::enable_if<(sizeof(fptype)==sizeof(tlfloat_octuple_) &&std::is_trivially_copyable< fptype >::value &&!std::is_floating_point< fptype >::value &&!std::is_pointer< fptype >::value &&!std::is_integral< fptype >::value), int >::type = 0>
| tlfloat_octuple (const fptype &s)
template<typename fptype, typename std::enable_if<(sizeof(fptype)==sizeof(tlfloat_octuple_) &&std::is_trivially_copyable< fptype >::value &&!std::is_floating_point< fptype >::value &&!std::is_pointer< fptype >::value &&!std::is_integral< fptype >::value), int >::type = 0>
| operator fptype () const
tlfloat_octuple | operator+ (const tlfloat_octuple &rhs) const
tlfloat_octuple | operator- (const tlfloat_octuple &rhs) const
tlfloat_octuple | operator* (const tlfloat_octuple &rhs) const
tlfloat_octuple | operator/ (const tlfloat_octuple &rhs) const
tlfloat_octuple | operator- () const
tlfloat_octuple | operator+ () const
bool | operator== (const tlfloat_octuple &rhs) const
bool | operator!= (const tlfloat_octuple &rhs) const
bool | operator< (const tlfloat_octuple &rhs) const
bool | operator<= (const tlfloat_octuple &rhs) const
bool | operator> (const tlfloat_octuple &rhs) const
bool | operator>= (const tlfloat_octuple &rhs) const
tlfloat_octuple & | operator++ ()
tlfloat_octuple & | operator-- ()
tlfloat_octuple | operator++ (int)
tlfloat_octuple | operator-- (int)

## Public Attributes

tlfloat_octuple_ | value

## Detailed Description

tlfloat_octuple is a trivially copyable type for handling octuple-precision IEEE floating-point numbers in C and older C++11. The data size and data structure of this type are the same as an octuple-precision floating-point number. When compling C code, this type is an alias for tlfloat_octuple_. When compling C++ code, this is a struct encapsulating a tlfloat_octuple_ variable with operators overloaded.

## Constructor & Destructor Documentation

## tlfloat_octuple() [1/11]

tlfloat_octuple::tlfloat_octuple | ( |  | ) |

inline

## tlfloat_octuple() [2/11]

tlfloat_octuple::tlfloat_octuple | ( | const tlfloat_octuple_ & | v | ) |

inline constexpr

## tlfloat_octuple() [3/11]

tlfloat_octuple::tlfloat_octuple | ( | const tlfloat_quad & | v | ) |

inline

## tlfloat_octuple() [4/11]

tlfloat_octuple::tlfloat_octuple | ( | const double & | d | ) |

inline

## tlfloat_octuple() [5/11]

template<typename T, typename std::enable_if<(std::is_integral< T >::value &&(sizeof(T)< 8||!std::is_unsigned< T >::value)), int >::type = 0>

tlfloat_octuple::tlfloat_octuple | ( | const T & | i | ) |

inline

## tlfloat_octuple() [6/11]

template<typename T, typename std::enable_if<(std::is_integral< T >::value &&std::is_unsigned< T >::value &&sizeof(T)==8), int >::type = 0>

tlfloat_octuple::tlfloat_octuple | ( | const T & | u | ) |

inline

## tlfloat_octuple() [7/11]

tlfloat_octuple::tlfloat_octuple | ( | const tlfloat_int128_t_ & | i | ) |

inline

## tlfloat_octuple() [8/11]

tlfloat_octuple::tlfloat_octuple | ( | const tlfloat_uint128_t_ & | u | ) |

inline

## tlfloat_octuple() [9/11]

tlfloat_octuple::tlfloat_octuple | ( | const struct tlfloat_int128_t & | i | ) |

inline

## tlfloat_octuple() [10/11]

tlfloat_octuple::tlfloat_octuple | ( | const struct tlfloat_uint128_t & | u | ) |

inline

## tlfloat_octuple() [11/11]

template<typename fptype, typename std::enable_if<(sizeof(fptype)==sizeof(tlfloat_octuple_) &&std::is_trivially_copyable< fptype >::value &&!std::is_floating_point< fptype >::value &&!std::is_pointer< fptype >::value &&!std::is_integral< fptype >::value), int >::type = 0>

tlfloat_octuple::tlfloat_octuple | ( | const fptype & | s | ) |

inline

Any non-integer object is memcpy-ed

## Member Function Documentation

## operator double()

tlfloat_octuple::operator double | ( |  | ) | const

inline explicit

## operator fptype()

template<typename fptype, typename std::enable_if<(sizeof(fptype)==sizeof(tlfloat_octuple_) &&std::is_trivially_copyable< fptype >::value &&!std::is_floating_point< fptype >::value &&!std::is_pointer< fptype >::value &&!std::is_integral< fptype >::value), int >::type = 0>

tlfloat_octuple::operator fptype | ( |  | ) | const

inline explicit

## operator T() [1/2]

template<typename T, typename std::enable_if<(std::is_integral< T >::value &&std::is_unsigned< T >::value &&sizeof(T)==8), int >::type = 0>

tlfloat_octuple::operator T | ( |  | ) | const

inline explicit

## operator T() [2/2]

template<typename T, typename std::enable_if<(std::is_integral< T >::value &&(sizeof(T)< 8||!std::is_unsigned< T >::value)), int >::type = 0>

tlfloat_octuple::operator T | ( |  | ) | const

inline explicit

## operator tlfloat_int128_t_()

tlfloat_octuple::operator tlfloat_int128_t_ | ( |  | ) | const

inline explicit

## operator tlfloat_octuple_()

tlfloat_octuple::operator tlfloat_octuple_ | ( |  | ) | const

inline constexpr

## operator tlfloat_quad()

tlfloat_octuple::operator tlfloat_quad | ( |  | ) | const

inline explicit

## operator tlfloat_uint128_t_()

tlfloat_octuple::operator tlfloat_uint128_t_ | ( |  | ) | const

inline explicit

## operator!=()

bool tlfloat_octuple::operator!= | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator*()

tlfloat_octuple tlfloat_octuple::operator* | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator+() [1/2]

tlfloat_octuple tlfloat_octuple::operator+ | ( |  | ) | const

inline

## operator+() [2/2]

tlfloat_octuple tlfloat_octuple::operator+ | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator++() [1/2]

tlfloat_octuple & tlfloat_octuple::operator++ | ( |  | ) |

inline

## operator++() [2/2]

tlfloat_octuple tlfloat_octuple::operator++ | ( | int |  | ) |

inline

## operator-() [1/2]

tlfloat_octuple tlfloat_octuple::operator- | ( |  | ) | const

inline

## operator-() [2/2]

tlfloat_octuple tlfloat_octuple::operator- | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator--() [1/2]

tlfloat_octuple & tlfloat_octuple::operator-- | ( |  | ) |

inline

## operator--() [2/2]

tlfloat_octuple tlfloat_octuple::operator-- | ( | int |  | ) |

inline

## operator/()

tlfloat_octuple tlfloat_octuple::operator/ | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator<()

bool tlfloat_octuple::operator< | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator<=()

bool tlfloat_octuple::operator<= | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator==()

bool tlfloat_octuple::operator== | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator>()

bool tlfloat_octuple::operator> | ( | const tlfloat_octuple & | rhs | ) | const

inline

## operator>=()

bool tlfloat_octuple::operator>= | ( | const tlfloat_octuple & | rhs | ) | const

inline

## Member Data Documentation

## value

tlfloat_octuple_ tlfloat_octuple::value

The documentation for this struct was generated from the following file:

- src/include/tlfloat/tlfloat.h