LLVM  4.0.0
Public Member Functions | List of all members
llvm::detail::DoubleAPFloat Class Referencefinal

#include <APFloat.h>

Inheritance diagram for llvm::detail::DoubleAPFloat:
[legend]
Collaboration diagram for llvm::detail::DoubleAPFloat:
[legend]

Public Member Functions

 DoubleAPFloat (const fltSemantics &S)
 
 DoubleAPFloat (const fltSemantics &S, uninitializedTag)
 
 DoubleAPFloat (const fltSemantics &S, integerPart)
 
 DoubleAPFloat (const fltSemantics &S, const APInt &I)
 
 DoubleAPFloat (const fltSemantics &S, APFloat &&First, APFloat &&Second)
 
 DoubleAPFloat (const DoubleAPFloat &RHS)
 
 DoubleAPFloat (DoubleAPFloat &&RHS)
 
DoubleAPFloatoperator= (const DoubleAPFloat &RHS)
 
DoubleAPFloatoperator= (DoubleAPFloat &&RHS)
 
bool needsCleanup () const
 
APFloatgetFirst ()
 
const APFloatgetFirst () const
 
APFloatgetSecond ()
 
const APFloatgetSecond () const
 
opStatus add (const DoubleAPFloat &RHS, roundingMode RM)
 
opStatus subtract (const DoubleAPFloat &RHS, roundingMode RM)
 
void changeSign ()
 
cmpResult compareAbsoluteValue (const DoubleAPFloat &RHS) const
 
fltCategory getCategory () const
 
bool isNegative () const
 
void makeInf (bool Neg)
 
void makeNaN (bool SNaN, bool Neg, const APInt *fill)
 

Additional Inherited Members

- Public Types inherited from llvm::APFloatBase
enum  cmpResult { cmpLessThan, cmpEqual, cmpGreaterThan, cmpUnordered }
 IEEE-754R 5.11: Floating Point Comparison Relations. More...
 
enum  roundingMode {
  rmNearestTiesToEven, rmTowardPositive, rmTowardNegative, rmTowardZero,
  rmNearestTiesToAway
}
 IEEE-754R 4.3: Rounding-direction attributes. More...
 
enum  opStatus {
  opOK = 0x00, opInvalidOp = 0x01, opDivByZero = 0x02, opOverflow = 0x04,
  opUnderflow = 0x08, opInexact = 0x10
}
 IEEE-754R 7: Default exception handling. More...
 
enum  fltCategory { fcInfinity, fcNaN, fcNormal, fcZero }
 Category of internally-represented number. More...
 
enum  uninitializedTag { uninitialized }
 Convenience enum used to construct an uninitialized APFloat. More...
 
enum  IlogbErrorKinds { IEK_Zero = INT_MIN + 1, IEK_NaN = INT_MIN, IEK_Inf = INT_MAX }
 Enumeration of ilogb error results. More...
 
typedef signed short ExponentType
 A signed type to represent a floating point numbers unbiased exponent. More...
 
- Static Public Member Functions inherited from llvm::APFloatBase
static unsigned int semanticsPrecision (const fltSemantics &)
 
static ExponentType semanticsMinExponent (const fltSemantics &)
 
static ExponentType semanticsMaxExponent (const fltSemantics &)
 
static unsigned int semanticsSizeInBits (const fltSemantics &)
 
static unsigned getSizeInBits (const fltSemantics &Sem)
 Returns the size of the floating point number (in bits) in the given semantics. More...
 
static const fltSemanticsIEEEhalf ()
 
static const fltSemanticsIEEEsingle ()
 
static const fltSemanticsIEEEdouble ()
 
static const fltSemanticsIEEEquad ()
 
static const fltSemanticsPPCDoubleDouble ()
 
static const fltSemanticsx87DoubleExtended ()
 
static const fltSemanticsBogus ()
 A Pseudo fltsemantic used to construct APFloats that cannot conflict with anything real. More...
 

Detailed Description

Definition at line 600 of file APFloat.h.

Constructor & Destructor Documentation

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const fltSemantics S)

Definition at line 3858 of file APFloat.cpp.

References llvm::lltok::APFloat, llvm::semIEEEdouble, and llvm::semPPCDoubleDoubleImpl.

Referenced by operator=().

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const fltSemantics S,
uninitializedTag   
)
Initial value:
{
assert(Semantics == &semPPCDoubleDouble)
static const fltSemantics semPPCDoubleDouble
Definition: APFloat.cpp:84
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())

Definition at line 3864 of file APFloat.cpp.

References llvm::lltok::APFloat, llvm::semIEEEdouble, llvm::semPPCDoubleDoubleImpl, and llvm::APFloatBase::uninitialized.

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const fltSemantics S,
integerPart  I 
)
Initial value:
{
assert(Semantics == &semPPCDoubleDouble)
static const fltSemantics semPPCDoubleDouble
Definition: APFloat.cpp:84
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())

Definition at line 3871 of file APFloat.cpp.

References llvm::lltok::APFloat, llvm::semIEEEdouble, and llvm::semPPCDoubleDoubleImpl.

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const fltSemantics S,
const APInt I 
)
Initial value:
{
assert(Semantics == &semPPCDoubleDouble)
static const fltSemantics semPPCDoubleDouble
Definition: APFloat.cpp:84
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())

Definition at line 3877 of file APFloat.cpp.

References llvm::lltok::APFloat, llvm::APInt::getRawData(), llvm::semIEEEdouble, and llvm::semPPCDoubleDoubleImpl.

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const fltSemantics S,
APFloat &&  First,
APFloat &&  Second 
)
Initial value:
{
assert(Semantics == &semPPCDoubleDouble)
static const fltSemantics semPPCDoubleDouble
Definition: APFloat.cpp:84
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())

Definition at line 3884 of file APFloat.cpp.

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const DoubleAPFloat RHS)

Definition at line 3895 of file APFloat.cpp.

References llvm::lltok::APFloat.

llvm::detail::DoubleAPFloat::DoubleAPFloat ( DoubleAPFloat &&  RHS)

Definition at line 3903 of file APFloat.cpp.

References assert(), llvm::semBogus, and llvm::semPPCDoubleDouble.

Member Function Documentation

APFloat::opStatus llvm::detail::DoubleAPFloat::add ( const DoubleAPFloat RHS,
roundingMode  RM 
)

Definition at line 4057 of file APFloat.cpp.

Referenced by subtract().

void llvm::detail::DoubleAPFloat::changeSign ( )

Definition at line 4070 of file APFloat.cpp.

Referenced by subtract().

APFloat::cmpResult llvm::detail::DoubleAPFloat::compareAbsoluteValue ( const DoubleAPFloat RHS) const
APFloat::fltCategory llvm::detail::DoubleAPFloat::getCategory ( ) const

Definition at line 4096 of file APFloat.cpp.

APFloat& llvm::detail::DoubleAPFloat::getFirst ( )
inline

Definition at line 632 of file APFloat.h.

const APFloat& llvm::detail::DoubleAPFloat::getFirst ( ) const
inline

Definition at line 633 of file APFloat.h.

APFloat& llvm::detail::DoubleAPFloat::getSecond ( )
inline

Definition at line 634 of file APFloat.h.

const APFloat& llvm::detail::DoubleAPFloat::getSecond ( ) const
inline

Definition at line 635 of file APFloat.h.

bool llvm::detail::DoubleAPFloat::isNegative ( ) const

Definition at line 4100 of file APFloat.cpp.

void llvm::detail::DoubleAPFloat::makeInf ( bool  Neg)

Definition at line 4102 of file APFloat.cpp.

void llvm::detail::DoubleAPFloat::makeNaN ( bool  SNaN,
bool  Neg,
const APInt fill 
)

Definition at line 4107 of file APFloat.cpp.

bool llvm::detail::DoubleAPFloat::needsCleanup ( ) const
inline

Definition at line 630 of file APFloat.h.

DoubleAPFloat & llvm::detail::DoubleAPFloat::operator= ( const DoubleAPFloat RHS)

Definition at line 3909 of file APFloat.cpp.

References DoubleAPFloat().

DoubleAPFloat& llvm::detail::DoubleAPFloat::operator= ( DoubleAPFloat &&  RHS)
inline

Definition at line 622 of file APFloat.h.

References DoubleAPFloat().

APFloat::opStatus llvm::detail::DoubleAPFloat::subtract ( const DoubleAPFloat RHS,
roundingMode  RM 
)

Definition at line 4062 of file APFloat.cpp.

References add(), changeSign(), and llvm::MipsISD::Ret.


The documentation for this class was generated from the following files: