GCC Middle and Back End API Reference
|
#include <real.h>
Data Fields | |
void(* | encode )(const struct real_format *, long *, const REAL_VALUE_TYPE *) |
void(* | decode )(const struct real_format *, REAL_VALUE_TYPE *, const long *) |
int | b |
int | p |
int | pnan |
int | emin |
int | emax |
int | signbit_ro |
int | signbit_rw |
bool | round_towards_zero |
bool | has_sign_dependent_rounding |
bool | has_nans |
bool | has_inf |
bool | has_denorm |
bool | has_signed_zero |
bool | qnan_msb_set |
bool | canonical_nan_lsbs_set |
Calculate the format for CONST_DOUBLE. We need as many slots as are necessary to overlay a REAL_VALUE_TYPE on them. This could be as many as four (32-bit HOST_WIDE_INT, 128-bit REAL_VALUE_TYPE).
A number of places assume that there are always at least two 'w' slots in a CONST_DOUBLE, so we provide them even if one would suffice. Describes the properties of the specific target format in use.
int real_format::b |
The radix of the exponent and digits of the significand.
Referenced by fold_builtin_strncat_chk(), real_identical(), and real_nan().
bool real_format::canonical_nan_lsbs_set |
Referenced by decode_ieee_double(), decode_ieee_single(), decode_vax_g(), and exact_real_truncate().
void(* real_format::decode)(const struct real_format *, REAL_VALUE_TYPE *, const long *) |
int real_format::emax |
The maximum integer, x, such that b**(x-1) is representable.
Referenced by real_identical().
int real_format::emin |
The minimum negative integer, x, such that b**(x-1) is normalized.
Referenced by encode_ieee_extended(), and real_identical().
void(* real_format::encode)(const struct real_format *, long *, const REAL_VALUE_TYPE *) |
Move to and from the target bytes.
bool real_format::has_denorm |
bool real_format::has_inf |
Referenced by decode_vax_g(), real_identical(), and real_value_truncate().
bool real_format::has_nans |
Properties of the format.
Referenced by decode_vax_g(), and real_identical().
bool real_format::has_sign_dependent_rounding |
Referenced by real_identical().
bool real_format::has_signed_zero |
Referenced by expand_builtin_expect(), and real_identical().
int real_format::p |
Size of the significand in digits of radix B.
Referenced by decode_internal(), fold_builtin_snprintf_chk(), fold_builtin_sprintf_chk_1(), fold_builtin_strncat_chk(), and real_identical().
int real_format::pnan |
Size of the significant of a NaN, in digits of radix B.
bool real_format::qnan_msb_set |
Referenced by decode_ieee_single(), decode_vax_g(), and exact_real_truncate().
bool real_format::round_towards_zero |
Default rounding mode for operations on this format.
Referenced by fold_builtin_snprintf_chk(), fold_builtin_sprintf_chk_1(), fold_builtin_strncat_chk(), and real_identical().
int real_format::signbit_ro |
The bit position of the sign bit, for determining whether a value is positive/negative, or -1 for a complex encoding.
int real_format::signbit_rw |
The bit position of the sign bit, for changing the sign of a number, or -1 for a complex encoding.