LLVM 22.0.0git
Public Member Functions | Friends | List of all members
llvm::detail::DoubleAPFloat Class Referencefinal

#include "llvm/ADT/APFloat.h"

Public Member Functions

LLVM_ABI DoubleAPFloat (const fltSemantics &S)
 
LLVM_ABI DoubleAPFloat (const fltSemantics &S, uninitializedTag)
 
LLVM_ABI DoubleAPFloat (const fltSemantics &S, integerPart)
 
LLVM_ABI DoubleAPFloat (const fltSemantics &S, const APInt &I)
 
LLVM_ABI DoubleAPFloat (const fltSemantics &S, APFloat &&First, APFloat &&Second)
 
LLVM_ABI DoubleAPFloat (const DoubleAPFloat &RHS)
 
LLVM_ABI DoubleAPFloat (DoubleAPFloat &&RHS)
 
 ~DoubleAPFloat ()
 
LLVM_ABI DoubleAPFloatoperator= (const DoubleAPFloat &RHS)
 
DoubleAPFloatoperator= (DoubleAPFloat &&RHS)
 
bool needsCleanup () const
 
APFloatgetFirst ()
 
const APFloatgetFirst () const
 
APFloatgetSecond ()
 
const APFloatgetSecond () const
 
LLVM_ABI opStatus add (const DoubleAPFloat &RHS, roundingMode RM)
 
LLVM_ABI opStatus subtract (const DoubleAPFloat &RHS, roundingMode RM)
 
LLVM_ABI opStatus multiply (const DoubleAPFloat &RHS, roundingMode RM)
 
LLVM_ABI opStatus divide (const DoubleAPFloat &RHS, roundingMode RM)
 
LLVM_ABI opStatus remainder (const DoubleAPFloat &RHS)
 
LLVM_ABI opStatus mod (const DoubleAPFloat &RHS)
 
LLVM_ABI opStatus fusedMultiplyAdd (const DoubleAPFloat &Multiplicand, const DoubleAPFloat &Addend, roundingMode RM)
 
LLVM_ABI opStatus roundToIntegral (roundingMode RM)
 
LLVM_ABI void changeSign ()
 
LLVM_ABI cmpResult compareAbsoluteValue (const DoubleAPFloat &RHS) const
 
LLVM_ABI fltCategory getCategory () const
 
LLVM_ABI bool isNegative () const
 
LLVM_ABI void makeInf (bool Neg)
 
LLVM_ABI void makeZero (bool Neg)
 
LLVM_ABI void makeLargest (bool Neg)
 
LLVM_ABI void makeSmallest (bool Neg)
 
LLVM_ABI void makeSmallestNormalized (bool Neg)
 
LLVM_ABI void makeNaN (bool SNaN, bool Neg, const APInt *fill)
 
LLVM_ABI cmpResult compare (const DoubleAPFloat &RHS) const
 
LLVM_ABI bool bitwiseIsEqual (const DoubleAPFloat &RHS) const
 
LLVM_ABI APInt bitcastToAPInt () const
 
LLVM_ABI Expected< opStatusconvertFromString (StringRef, roundingMode)
 
LLVM_ABI opStatus next (bool nextDown)
 
LLVM_ABI opStatus convertToInteger (MutableArrayRef< integerPart > Input, unsigned int Width, bool IsSigned, roundingMode RM, bool *IsExact) const
 
LLVM_ABI opStatus convertFromAPInt (const APInt &Input, bool IsSigned, roundingMode RM)
 
LLVM_ABI unsigned int convertToHexString (char *DST, unsigned int HexDigits, bool UpperCase, roundingMode RM) const
 
LLVM_ABI bool isDenormal () const
 
LLVM_ABI bool isSmallest () const
 
LLVM_ABI bool isSmallestNormalized () const
 
LLVM_ABI bool isLargest () const
 
LLVM_ABI bool isInteger () const
 
LLVM_ABI void toString (SmallVectorImpl< char > &Str, unsigned FormatPrecision, unsigned FormatMaxPadding, bool TruncateZero=true) const
 
LLVM_ABI LLVM_READONLY int getExactLog2Abs () const
 

Friends

LLVM_ABI friend int ilogb (const DoubleAPFloat &X)
 
LLVM_ABI friend DoubleAPFloat scalbn (const DoubleAPFloat &X, int Exp, roundingMode)
 
LLVM_ABI friend DoubleAPFloat frexp (const DoubleAPFloat &X, int &Exp, roundingMode)
 
LLVM_ABI friend hash_code hash_value (const DoubleAPFloat &Arg)
 

Detailed Description

Definition at line 788 of file APFloat.h.

Constructor & Destructor Documentation

◆ DoubleAPFloat() [1/7]

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

Definition at line 4816 of file APFloat.cpp.

References llvm::semIEEEdouble.

◆ DoubleAPFloat() [2/7]

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

Definition at line 4822 of file APFloat.cpp.

References llvm::semIEEEdouble, and llvm::detail::uninitialized.

◆ DoubleAPFloat() [3/7]

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const fltSemantics S,
integerPart  I 
)

Definition at line 4829 of file APFloat.cpp.

References I, and llvm::semIEEEdouble.

◆ DoubleAPFloat() [4/7]

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const fltSemantics S,
const APInt I 
)

Definition at line 4835 of file APFloat.cpp.

References I, and llvm::semIEEEdouble.

◆ DoubleAPFloat() [5/7]

llvm::detail::DoubleAPFloat::DoubleAPFloat ( const fltSemantics S,
APFloat &&  First,
APFloat &&  Second 
)

Definition at line 4843 of file APFloat.cpp.

References llvm::First.

◆ DoubleAPFloat() [6/7]

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

Definition at line 4852 of file APFloat.cpp.

References RHS.

◆ DoubleAPFloat() [7/7]

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

Definition at line 4860 of file APFloat.cpp.

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

◆ ~DoubleAPFloat()

llvm::detail::DoubleAPFloat::~DoubleAPFloat ( )
inline

Definition at line 1690 of file APFloat.h.

Referenced by operator=().

Member Function Documentation

◆ add()

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

Definition at line 5021 of file APFloat.cpp.

References RHS.

Referenced by subtract().

◆ bitcastToAPInt()

APInt llvm::detail::DoubleAPFloat::bitcastToAPInt ( ) const

◆ bitwiseIsEqual()

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

Definition at line 5346 of file APFloat.cpp.

References llvm::APFloat::bitwiseIsEqual(), and RHS.

◆ changeSign()

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

Definition at line 5236 of file APFloat.cpp.

References llvm::APFloat::changeSign().

Referenced by convertFromAPInt(), makeLargest(), next(), and subtract().

◆ compare()

APFloat::cmpResult llvm::detail::DoubleAPFloat::compare ( const DoubleAPFloat RHS) const

◆ compareAbsoluteValue()

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

◆ convertFromAPInt()

APFloat::opStatus llvm::detail::DoubleAPFloat::convertFromAPInt ( const APInt Input,
bool  IsSigned,
roundingMode  RM 
)

◆ convertFromString()

Expected< APFloat::opStatus > llvm::detail::DoubleAPFloat::convertFromString ( StringRef  S,
roundingMode  RM 
)

◆ convertToHexString()

unsigned int llvm::detail::DoubleAPFloat::convertToHexString ( char DST,
unsigned int  HexDigits,
bool  UpperCase,
roundingMode  RM 
) const

◆ convertToInteger()

APFloat::opStatus llvm::detail::DoubleAPFloat::convertToInteger ( MutableArrayRef< integerPart Input,
unsigned int  Width,
bool  IsSigned,
roundingMode  RM,
bool IsExact 
) const

◆ divide()

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

◆ fusedMultiplyAdd()

APFloat::opStatus llvm::detail::DoubleAPFloat::fusedMultiplyAdd ( const DoubleAPFloat Multiplicand,
const DoubleAPFloat Addend,
APFloat::roundingMode  RM 
)

◆ getCategory()

APFloat::fltCategory llvm::detail::DoubleAPFloat::getCategory ( ) const

◆ getExactLog2Abs()

int llvm::detail::DoubleAPFloat::getExactLog2Abs ( ) const

Definition at line 5815 of file APFloat.cpp.

References llvm::APFloat::getExactLog2Abs(), getFirst(), and getSecond().

◆ getFirst() [1/2]

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

Definition at line 1685 of file APFloat.h.

Referenced by llvm::detail::frexp(), getExactLog2Abs(), next(), and roundToIntegral().

◆ getFirst() [2/2]

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

Definition at line 1686 of file APFloat.h.

◆ getSecond() [1/2]

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

Definition at line 1687 of file APFloat.h.

Referenced by llvm::detail::frexp(), getExactLog2Abs(), next(), and roundToIntegral().

◆ getSecond() [2/2]

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

Definition at line 1688 of file APFloat.h.

◆ isDenormal()

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

Definition at line 5769 of file APFloat.cpp.

References llvm::detail::fcNormal, getCategory(), and llvm::APFloat::isDenormal().

◆ isInteger()

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

Definition at line 5801 of file APFloat.cpp.

References assert(), llvm::APFloat::isInteger(), and llvm::semPPCDoubleDouble.

◆ isLargest()

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

◆ isNegative()

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

◆ isSmallest()

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

◆ isSmallestNormalized()

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

◆ makeInf()

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

Definition at line 5301 of file APFloat.cpp.

Referenced by next().

◆ makeLargest()

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

Definition at line 5311 of file APFloat.cpp.

References assert(), changeSign(), llvm::semIEEEdouble, and llvm::semPPCDoubleDouble.

Referenced by isLargest(), and next().

◆ makeNaN()

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

Definition at line 5333 of file APFloat.cpp.

References llvm::fill().

Referenced by next().

◆ makeSmallest()

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

Definition at line 5319 of file APFloat.cpp.

References assert(), and llvm::semPPCDoubleDouble.

Referenced by isSmallest(), and next().

◆ makeSmallestNormalized()

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

◆ makeZero()

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

Definition at line 5306 of file APFloat.cpp.

Referenced by next().

◆ mod()

APFloat::opStatus llvm::detail::DoubleAPFloat::mod ( const DoubleAPFloat RHS)

◆ multiply()

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

◆ needsCleanup()

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

Definition at line 826 of file APFloat.h.

◆ next()

APFloat::opStatus llvm::detail::DoubleAPFloat::next ( bool  nextDown)

◆ operator=() [1/2]

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

Definition at line 4867 of file APFloat.cpp.

References RHS, and ~DoubleAPFloat().

◆ operator=() [2/2]

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

Definition at line 1677 of file APFloat.h.

References RHS, and ~DoubleAPFloat().

◆ remainder()

APFloat::opStatus llvm::detail::DoubleAPFloat::remainder ( const DoubleAPFloat RHS)

◆ roundToIntegral()

APFloat::opStatus llvm::detail::DoubleAPFloat::roundToIntegral ( APFloat::roundingMode  RM)

◆ subtract()

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

Definition at line 5026 of file APFloat.cpp.

References add(), changeSign(), and RHS.

◆ toString()

void llvm::detail::DoubleAPFloat::toString ( SmallVectorImpl< char > &  Str,
unsigned  FormatPrecision,
unsigned  FormatMaxPadding,
bool  TruncateZero = true 
) const

Friends And Related Function Documentation

◆ frexp

LLVM_ABI friend DoubleAPFloat frexp ( const DoubleAPFloat X,
int &  Exp,
roundingMode   
)
friend

◆ hash_value

LLVM_ABI friend hash_code hash_value ( const DoubleAPFloat Arg)
friend

Definition at line 5351 of file APFloat.cpp.

◆ ilogb

LLVM_ABI friend int ilogb ( const DoubleAPFloat X)
friend

Definition at line 5824 of file APFloat.cpp.

◆ scalbn

LLVM_ABI friend DoubleAPFloat scalbn ( const DoubleAPFloat X,
int  Exp,
roundingMode   
)
friend

Referenced by next().


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