TLFloat
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
tlfloat_quad Struct Reference

#include <tlfloat/tlfloat.h>

Collaboration diagram for tlfloat_quad:
Collaboration graph
[legend]

Public Member Functions

 tlfloat_quad ()
 
 tlfloat_quad (const tlfloat_quad_ &v)
 
 operator tlfloat_quad_ () const
 
 tlfloat_quad (const struct tlfloat_octuple &v)
 
 tlfloat_quad (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_quad (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_quad (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_quad (const tlfloat_int128_t_ &i)
 
 tlfloat_quad (const tlfloat_uint128_t_ &u)
 
 operator tlfloat_int128_t_ () const
 
 operator tlfloat_uint128_t_ () const
 
 tlfloat_quad (const struct tlfloat_int128_t &i)
 
 tlfloat_quad (const struct tlfloat_uint128_t &u)
 
tlfloat_quad operator+ (const tlfloat_quad &rhs) const
 
tlfloat_quad operator- (const tlfloat_quad &rhs) const
 
tlfloat_quad operator* (const tlfloat_quad &rhs) const
 
tlfloat_quad operator/ (const tlfloat_quad &rhs) const
 
tlfloat_quad operator- () const
 
tlfloat_quad operator+ () const
 
bool operator== (const tlfloat_quad &rhs) const
 
bool operator!= (const tlfloat_quad &rhs) const
 
bool operator< (const tlfloat_quad &rhs) const
 
bool operator<= (const tlfloat_quad &rhs) const
 
bool operator> (const tlfloat_quad &rhs) const
 
bool operator>= (const tlfloat_quad &rhs) const
 
tlfloat_quadoperator++ ()
 
tlfloat_quadoperator-- ()
 
tlfloat_quad operator++ (int)
 
tlfloat_quad operator-- (int)
 

Public Attributes

tlfloat_quad_ value
 

Detailed Description

tlfloat_quad is a trivially copyable type for handling quadruple-precision IEEE floating-point numbers in C and C++11. The data size and data structure of this type are the same as a quad-precision floating-point number. When compling C code, this type is an alias for tlfloat_quad_. When compling C++ code without IEEE float 128 support, this is a struct encapsulating a tlfloat_quad_ variable with operators overloaded.

Constructor & Destructor Documentation

◆ tlfloat_quad() [1/10]

tlfloat_quad::tlfloat_quad ( )
inline

◆ tlfloat_quad() [2/10]

tlfloat_quad::tlfloat_quad ( const tlfloat_quad_ v)
inline

◆ tlfloat_quad() [3/10]

tlfloat_quad::tlfloat_quad ( const struct tlfloat_octuple v)
inlineexplicit

◆ tlfloat_quad() [4/10]

tlfloat_quad::tlfloat_quad ( const double &  d)
inline

◆ tlfloat_quad() [5/10]

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

◆ tlfloat_quad() [6/10]

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

◆ tlfloat_quad() [7/10]

tlfloat_quad::tlfloat_quad ( const tlfloat_int128_t_ i)
inlineexplicit

◆ tlfloat_quad() [8/10]

tlfloat_quad::tlfloat_quad ( const tlfloat_uint128_t_ u)
inlineexplicit

◆ tlfloat_quad() [9/10]

tlfloat_quad::tlfloat_quad ( const struct tlfloat_int128_t i)
inlineexplicit

◆ tlfloat_quad() [10/10]

tlfloat_quad::tlfloat_quad ( const struct tlfloat_uint128_t u)
inlineexplicit

Member Function Documentation

◆ operator double()

tlfloat_quad::operator double ( ) const
inlineexplicit

◆ operator T() [1/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_quad::operator T ( ) const
inlineexplicit

◆ operator T() [2/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_quad::operator T ( ) const
inlineexplicit

◆ operator tlfloat_int128_t_()

tlfloat_quad::operator tlfloat_int128_t_ ( ) const
inlineexplicit

◆ operator tlfloat_quad_()

tlfloat_quad::operator tlfloat_quad_ ( ) const
inline

◆ operator tlfloat_uint128_t_()

tlfloat_quad::operator tlfloat_uint128_t_ ( ) const
inlineexplicit

◆ operator!=()

bool tlfloat_quad::operator!= ( const tlfloat_quad rhs) const
inline

◆ operator*()

tlfloat_quad tlfloat_quad::operator* ( const tlfloat_quad rhs) const
inline

◆ operator+() [1/2]

tlfloat_quad tlfloat_quad::operator+ ( ) const
inline

◆ operator+() [2/2]

tlfloat_quad tlfloat_quad::operator+ ( const tlfloat_quad rhs) const
inline

◆ operator++() [1/2]

tlfloat_quad & tlfloat_quad::operator++ ( )
inline

◆ operator++() [2/2]

tlfloat_quad tlfloat_quad::operator++ ( int  )
inline

◆ operator-() [1/2]

tlfloat_quad tlfloat_quad::operator- ( ) const
inline

◆ operator-() [2/2]

tlfloat_quad tlfloat_quad::operator- ( const tlfloat_quad rhs) const
inline

◆ operator--() [1/2]

tlfloat_quad & tlfloat_quad::operator-- ( )
inline

◆ operator--() [2/2]

tlfloat_quad tlfloat_quad::operator-- ( int  )
inline

◆ operator/()

tlfloat_quad tlfloat_quad::operator/ ( const tlfloat_quad rhs) const
inline

◆ operator<()

bool tlfloat_quad::operator< ( const tlfloat_quad rhs) const
inline

◆ operator<=()

bool tlfloat_quad::operator<= ( const tlfloat_quad rhs) const
inline

◆ operator==()

bool tlfloat_quad::operator== ( const tlfloat_quad rhs) const
inline

◆ operator>()

bool tlfloat_quad::operator> ( const tlfloat_quad rhs) const
inline

◆ operator>=()

bool tlfloat_quad::operator>= ( const tlfloat_quad rhs) const
inline

Member Data Documentation

◆ value

tlfloat_quad_ tlfloat_quad::value

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