FLANG
Fortran::evaluate::value::Complex< REAL_TYPE > Class Template Reference

Public Types

using Part = REAL_TYPE

Public Member Functions

constexpr Complex (const Complex &)=default
constexpr Complex (const Part &r, const Part &i)
constexpr Complex (const Part &r)
constexpr Complexoperator= (const Complex &)=default
constexpr Complexoperator= (Complex &&)=default
constexpr bool operator== (const Complex &that) const
constexpr const Part & REAL () const
constexpr const Part & AIMAG () const
constexpr Complex CONJG () const
constexpr Complex Negate () const
constexpr bool Equals (const Complex &that) const
constexpr bool IsZero () const
constexpr bool IsInfinite () const
constexpr bool IsNotANumber () const
constexpr bool IsSignalingNaN () const
ValueWithRealFlags< ComplexAdd (const Complex &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< ComplexSubtract (const Complex &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< ComplexMultiply (const Complex &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< ComplexDivide (const Complex &, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< ComplexKahanSummation (const Complex &, Complex &correction, Rounding rounding=TargetCharacteristics::defaultRounding) const
ValueWithRealFlags< Part > ABS (Rounding rounding=TargetCharacteristics::defaultRounding) const
constexpr Complex FlushSubnormalToZero () const
std::string DumpHexadecimal () const
llvm::raw_ostream & AsFortran (llvm::raw_ostream &, int kind) const
void StoreRawBytes (void *dst, size_t expectedSize, bool *changed=nullptr) const

Static Public Member Functions

template<typename INT>
static ValueWithRealFlags< ComplexFromInteger (const INT &n, bool isUnsigned=false, Rounding rounding=TargetCharacteristics::defaultRounding)
static constexpr Complex NotANumber ()
static constexpr std::size_t bytesStored ()
static Complex FromRawBytes (const void *raw, std::size_t expectedSize)

Static Public Attributes

static constexpr int bits {2 * Part::bits}

Member Function Documentation

◆ bytesStored()

template<typename REAL_TYPE>
constexpr std::size_t Fortran::evaluate::value::Complex< REAL_TYPE >::bytesStored ( )
inlinestaticconstexpr

Number of bytes that FromRawBytes/StoreRawBytes would accesses. Note that for COMPLEX(10), this is 32.

◆ FromRawBytes()

template<typename REAL_TYPE>
Complex Fortran::evaluate::value::Complex< REAL_TYPE >::FromRawBytes ( const void * raw,
std::size_t expectedSize )
inlinestatic

De-serializes a complex from raw. expectedSize must match the the number of bytes to be read.

◆ StoreRawBytes()

template<typename REAL_TYPE>
void Fortran::evaluate::value::Complex< REAL_TYPE >::StoreRawBytes ( void * dst,
size_t expectedSize,
bool * changed = nullptr ) const
inline

Serializes this complex to dst. expectedSize must match the the number of bytes to be written. If changed points to a boolean, it will be set to true if any bytes at dst have changed.


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