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 828 of file APFloat.h.

Constructor & Destructor Documentation

◆ DoubleAPFloat() [1/7]

◆ DoubleAPFloat() [2/7]

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

Definition at line 4800 of file APFloat.cpp.

References llvm::detail::uninitialized.

◆ DoubleAPFloat() [3/7]

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

Definition at line 4807 of file APFloat.cpp.

References I.

◆ DoubleAPFloat() [4/7]

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

Definition at line 4814 of file APFloat.cpp.

References I.

◆ DoubleAPFloat() [5/7]

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

Definition at line 4822 of file APFloat.cpp.

References llvm::First.

◆ DoubleAPFloat() [6/7]

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

Definition at line 4831 of file APFloat.cpp.

References DoubleAPFloat().

◆ DoubleAPFloat() [7/7]

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

Definition at line 4839 of file APFloat.cpp.

References assert(), and DoubleAPFloat().

◆ ~DoubleAPFloat()

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

Definition at line 1672 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 5000 of file APFloat.cpp.

References DoubleAPFloat().

Referenced by subtract().

◆ bitcastToAPInt()

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

Definition at line 5350 of file APFloat.cpp.

References assert(), and llvm::Data.

Referenced by convertToHexString(), divide(), fusedMultiplyAdd(), mod(), remainder(), and toString().

◆ bitwiseIsEqual()

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

Definition at line 5339 of file APFloat.cpp.

References DoubleAPFloat().

◆ changeSign()

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

Definition at line 5223 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 5331 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()

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

Definition at line 5757 of file APFloat.cpp.

References assert(), bitcastToAPInt(), and llvm::APFloat::convertToHexString().

◆ 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 1667 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 1668 of file APFloat.h.

◆ getSecond() [1/2]

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

Definition at line 1669 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 1670 of file APFloat.h.

◆ isDenormal()

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

Definition at line 5767 of file APFloat.cpp.

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

Referenced by isDenormal().

◆ isInteger()

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

Definition at line 5799 of file APFloat.cpp.

References assert().

◆ 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 5288 of file APFloat.cpp.

Referenced by next().

◆ makeLargest()

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

Definition at line 5298 of file APFloat.cpp.

References assert(), and changeSign().

Referenced by isLargest(), and next().

◆ makeNaN()

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

Definition at line 5326 of file APFloat.cpp.

References llvm::fill().

Referenced by next().

◆ makeSmallest()

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

Definition at line 5309 of file APFloat.cpp.

References assert().

Referenced by isSmallest(), and next().

◆ makeSmallestNormalized()

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

Definition at line 5316 of file APFloat.cpp.

References assert().

Referenced by isSmallestNormalized().

◆ makeZero()

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

Definition at line 5293 of file APFloat.cpp.

Referenced by next().

◆ mod()

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

◆ multiply()

◆ needsCleanup()

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

Definition at line 866 of file APFloat.h.

◆ next()

◆ operator=() [1/2]

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

Definition at line 4846 of file APFloat.cpp.

References DoubleAPFloat(), and ~DoubleAPFloat().

◆ operator=() [2/2]

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

Definition at line 1659 of file APFloat.h.

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

◆ remainder()

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

◆ roundToIntegral()

◆ subtract()

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

Definition at line 5005 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

Definition at line 5805 of file APFloat.cpp.

References assert(), bitcastToAPInt(), and llvm::APFloat::toString().

◆ 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 5344 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: