ieee.h File Reference
IEEE floating point functions. More...
Classes | |
struct | fpvalue_t |
Processor-independent representation of a floating point value. More... | |
Macros | |
#define | FPVAL_NWORDS 6 |
Enumerations | |
enum | fpvalue_kind_t { FPV_BADARG , FPV_NORM , FPV_NAN , FPV_PINF , FPV_NINF } |
Floating value kinds. More... | |
max_exp values | |
#define | IEEE_EXONE (0x3fff) |
The exponent of 1.0. | |
#define | E_SPECIAL_EXP 0x7fff |
Exponent in fpvalue_t for NaN and Inf. | |
enum | fpvalue_error_t { REAL_ERROR_OK = 0 , REAL_ERROR_FORMAT = -1 , REAL_ERROR_RANGE = -2 , REAL_ERROR_BADDATA = -3 , REAL_ERROR_FPOVER = 1 , REAL_ERROR_BADSTR = 2 , REAL_ERROR_ZERODIV = 3 , REAL_ERROR_INTOVER = 4 } |
const uint32 | MAXEXP_FLOAT = 0x80 |
const uint32 | MAXEXP_DOUBLE = 0x400 |
const uint32 | MAXEXP_LNGDBL = 0x4000 |
idaman THREAD_SAFE fpvalue_error_t ida_export | ieee_realcvt (void *m, fpvalue_t *out, uint16 swt) |
Standard IEEE 754 floating point conversion function. More... | |
idaman THREAD_SAFE void ida_export | realtoasc (char *buf, size_t bufsize, const fpvalue_t &x, uint mode) |
idaman THREAD_SAFE fpvalue_error_t ida_export | asctoreal (const char **sss, fpvalue_t *out) |
idaman THREAD_SAFE void ida_export | eltoe (sval_t l, fpvalue_t *vout) |
idaman THREAD_SAFE void ida_export | eltoe64 (int64 l, fpvalue_t *vout) |
idaman THREAD_SAFE void ida_export | eltoe64u (uint64 l, fpvalue_t *vout) |
idaman THREAD_SAFE fpvalue_error_t ida_export | eetol (sval_t *out, const fpvalue_t &a, bool roundflg) |
idaman THREAD_SAFE fpvalue_error_t ida_export | eetol64 (int64 *out, const fpvalue_t &a, bool roundflg) |
idaman THREAD_SAFE fpvalue_error_t ida_export | eetol64u (uint64 *out, const fpvalue_t &a, bool roundflg) |
idaman THREAD_SAFE fpvalue_error_t ida_export | eldexp (const fpvalue_t &a, int32 pwr2, fpvalue_t *zout) |
idaman THREAD_SAFE fpvalue_error_t ida_export | eadd (const fpvalue_t &a, const fpvalue_t &b, fpvalue_t *zout, bool subflg) |
idaman THREAD_SAFE fpvalue_error_t ida_export | emul (const fpvalue_t &a, const fpvalue_t &b, fpvalue_t *zout) |
idaman THREAD_SAFE fpvalue_error_t ida_export | ediv (const fpvalue_t &a, const fpvalue_t &b, fpvalue_t *zout) |
idaman THREAD_SAFE int ida_export | ecmp (const fpvalue_t &a, const fpvalue_t &b) |
idaman THREAD_SAFE fpvalue_kind_t ida_export | get_fpvalue_kind (const fpvalue_t &a, uint16 reserved=0) |
Detailed Description
IEEE floating point functions.
Enumeration Type Documentation
◆ fpvalue_kind_t
enum fpvalue_kind_t |
◆ fpvalue_error_t
enum fpvalue_error_t |
Function Documentation
◆ ieee_realcvt()
idaman THREAD_SAFE fpvalue_error_t ida_export ieee_realcvt | ( | void * | m, |
fpvalue_t * | out, | ||
uint16 | swt | ||
) |
Standard IEEE 754 floating point conversion function.
- Parameters
-
m pointer to data out internal IEEE format data swt operation: - 000: load trunc. float (DEC ^F) 2 bytes (m->e)
- 001: load float 4 bytes (m->e)
- 003: load double 8 bytes (m->e)
- 004: load long double 10 bytes (m->e)
- 005: load long double 12 bytes (m->e)
- 010: store trunc. float (DEC ^F) 2 bytes (e->m)
- 011: store float 4 bytes (e->m)
- 013: store double 8 bytes (e->m)
- 014: store long double 10 bytes (e->m)
- 015: store long double 12 bytes (e->m) bit 0x80 forces little endian even for big endian processors
- Returns
- fpvalue_error_t
Generated by