State-of-the-art binary code analysis tools

Detailed Description

Processor-independent representation of a floating point value.

IDA uses this structure to store and manipulate floating point values.

Public Attributes

uint16 w [FPVAL_NWORDS]

Public Member Functions

void clear (void)
fpvalue_error_t from_half (uint16 fpval)
 Convert to the processor-independent representation.
fpvalue_error_t from_float (float fpval)
fpvalue_error_t from_double (double fpval)
fpvalue_error_t to_half (uint16 *fpval) const
 Convert from the processor-independent representation.
fpvalue_error_t to_float (float *fpval) const
fpvalue_error_t to_double (double *fpval) const
fpvalue_error_t from_10bytes (const void *fpval)
 Conversions for 10-byte floating point values.
fpvalue_error_t to_10bytes (void *fpval) const
fpvalue_error_t from_12bytes (const void *fpval)
 Conversions for 12-byte floating point values.
fpvalue_error_t to_12bytes (void *fpval) const
fpvalue_error_t from_str (const char **p_str)
 Convert string to IEEE. More...
void to_str (char *buf, size_t bufsize, uint mode) const
 Convert IEEE to string. More...
void from_sval (sval_t x)
 Convert integer to IEEE.
void from_int64 (int64 x)
void from_uint64 (uint64 x)
fpvalue_error_t to_sval (sval_t *out, bool round=false) const
 Convert IEEE to integer (+-0.5 if round)
fpvalue_error_t to_int64 (int64 *out, bool round=false) const
fpvalue_error_t to_uint64 (uint64 *out, bool round=false) const
fpvalue_error_t fadd (const fpvalue_t &y)
 Arithmetic operations.
fpvalue_error_t fsub (const fpvalue_t &y)
fpvalue_error_t fmul (const fpvalue_t &y)
fpvalue_error_t fdiv (const fpvalue_t &y)
fpvalue_error_t mul_pow2 (int32 power_of_2)
 Multiply by a power of 2.
void eabs ()
 Calculate absolute value.
bool is_negative () const
 Is negative value?
void negate ()
fpvalue_kind_t get_kind () const
 Get value kind.

Member Function Documentation

◆ from_str()

fpvalue_error_t fpvalue_t::from_str ( const char **  p_str)

Convert string to IEEE.

p_strpointer to pointer to string. it will advanced.

◆ to_str()

void fpvalue_t::to_str ( char *  buf,
size_t  bufsize,
uint  mode 
) const

Convert IEEE to string.

modebroken down into:
  • low byte: number of digits after '.'
  • second byte: FPNUM_LENGTH
  • third byte: FPNUM_DIGITS

The documentation for this struct was generated from the following file: