LLVM 22.0.0git
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 RM)
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]

◆ 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 DoubleAPFloat().

◆ DoubleAPFloat() [7/7]

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

Definition at line 4860 of file APFloat.cpp.

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

◆ ~DoubleAPFloat()

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

Definition at line 1690 of file APFloat.h.

Referenced by operator=(), and 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 DoubleAPFloat().

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

◆ changeSign()

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

Definition at line 5236 of file APFloat.cpp.

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

◆ compare()

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

Definition at line 5338 of file APFloat.cpp.

References llvm::APFloatBase::cmpEqual, and DoubleAPFloat().

Referenced by isLargest(), isSmallest(), isSmallestNormalized(), and next().

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

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

◆ fusedMultiplyAdd()

◆ 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(), ilogb, 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(), ilogb, 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 isDenormal().

Referenced by isDenormal().

◆ isInteger()

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

Definition at line 5801 of file APFloat.cpp.

References assert(), 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)

Definition at line 5325 of file APFloat.cpp.

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

Referenced by isSmallestNormalized().

◆ makeZero()

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

Definition at line 5306 of file APFloat.cpp.

Referenced by next().

◆ mod()

◆ multiply()

◆ needsCleanup()

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

Definition at line 826 of file APFloat.h.

◆ next()

◆ operator=() [1/2]

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

Definition at line 4867 of file APFloat.cpp.

References DoubleAPFloat(), and ~DoubleAPFloat().

◆ operator=() [2/2]

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

Definition at line 1677 of file APFloat.h.

References DoubleAPFloat(), RHS, and ~DoubleAPFloat().

◆ remainder()

◆ roundToIntegral()

◆ subtract()

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

Definition at line 5026 of file APFloat.cpp.

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

◆ toString()

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

◆ frexp

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

References DoubleAPFloat(), LLVM_ABI, and X.

◆ hash_value

LLVM_ABI friend hash_code hash_value ( const DoubleAPFloat & Arg)
friend

Definition at line 5351 of file APFloat.cpp.

References DoubleAPFloat(), llvm::hash_combine(), hash_value, and llvm::detail::hash_value().

Referenced by hash_value.

◆ ilogb

◆ scalbn

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

References DoubleAPFloat(), LLVM_ABI, and X.

Referenced by next().


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