osprey/kg++fe/gnu/real.h File Reference

#include "machmode.h"

Include dependency graph for real.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Types

type  real_format

Defines

#define SIGNIFICAND_BITS   (128 + HOST_BITS_PER_LONG)
#define EXP_BITS   (32 - 3)
#define MAX_EXP   ((1 << (EXP_BITS - 1)) - 1)
#define SIGSZ   (SIGNIFICAND_BITS / HOST_BITS_PER_LONG)
#define SIG_MSB   ((unsigned long)1 << (HOST_BITS_PER_LONG - 1))
#define REAL_VALUE_TYPE   struct real_value
#define REAL_VALUE_TYPE_SIZE   (SIGNIFICAND_BITS + 32)
#define REAL_WIDTH
#define REAL_ARITHMETIC(value, code, d1, d2)   real_arithmetic (&(value), code, &(d1), &(d2))
#define REAL_VALUES_IDENTICAL(x, y)   real_identical (&(x), &(y))
#define REAL_VALUES_EQUAL(x, y)   real_compare (EQ_EXPR, &(x), &(y))
#define REAL_VALUES_LESS(x, y)   real_compare (LT_EXPR, &(x), &(y))
#define REAL_VALUE_ISINF(x)   real_isinf (&(x))
#define REAL_VALUE_ISNAN(x)   real_isnan (&(x))
#define REAL_VALUE_NEGATIVE(x)   real_isneg (&(x))
#define REAL_VALUE_MINUS_ZERO(x)   real_isnegzero (&(x))
#define REAL_VALUE_TO_TARGET_LONG_DOUBLE(IN, OUT)
#define REAL_VALUE_TO_TARGET_DOUBLE(IN, OUT)   real_to_target (OUT, &(IN), mode_for_size (64, MODE_FLOAT, 0))
#define REAL_VALUE_TO_TARGET_SINGLE(IN, OUT)   ((OUT) = real_to_target (NULL, &(IN), mode_for_size (32, MODE_FLOAT, 0)))
#define REAL_VALUE_FROM_INT(r, lo, hi, mode)   real_from_integer (&(r), mode, lo, hi, 0)
#define REAL_VALUE_FROM_UNSIGNED_INT(r, lo, hi, mode)   real_from_integer (&(r), mode, lo, hi, 1)
#define REAL_VALUE_TO_INT(plow, phigh, r)   real_to_integer2 (plow, phigh, &(r))
#define REAL_VALUE_NEGATE(X)   real_arithmetic2 (NEGATE_EXPR, &(X), NULL)
#define REAL_VALUE_ABS(X)   real_arithmetic2 (ABS_EXPR, &(X), NULL)
#define REAL_VALUE_ATOF(s, m)   real_from_string2 (s, m)
#define CONST_DOUBLE_ATOF(s, m)   CONST_DOUBLE_FROM_REAL_VALUE (real_from_string2 (s, m), m)
#define REAL_VALUE_FIX(r)   real_to_integer (&(r))
#define REAL_VALUE_UNSIGNED_FIX(r)   real_to_integer (&(r))
#define REAL_VALUE_FROM_CONST_DOUBLE(to, from)   memcpy (&(to), &CONST_DOUBLE_LOW ((from)), sizeof (REAL_VALUE_TYPE))
#define CONST_DOUBLE_FROM_REAL_VALUE(r, m)   const_double_from_real_value (r, m)

Enumerations

enum  real_value_class {
  rvc_zero, rvc_normal, rvc_inf, rvc_nan,
  rvc_zero, rvc_normal, rvc_inf, rvc_nan,
  rvc_zero, rvc_normal, rvc_inf, rvc_nan,
  rvc_zero, rvc_normal, rvc_inf, rvc_nan
}

Functions/Subroutines

struct real_value GTY (())
void real_arithmetic PARAMS ((REAL_VALUE_TYPE *, int, const REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *))
bool real_compare PARAMS ((int, const REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *))
bool real_isinf PARAMS ((const REAL_VALUE_TYPE *))
bool real_identical PARAMS ((const REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *))
void real_convert PARAMS ((REAL_VALUE_TYPE *, enum machine_mode, const REAL_VALUE_TYPE *))
bool exact_real_truncate PARAMS ((enum machine_mode, const REAL_VALUE_TYPE *))
void real_to_decimal PARAMS ((char *, const REAL_VALUE_TYPE *, size_t, size_t, int))
void real_to_integer2 PARAMS ((HOST_WIDE_INT *, HOST_WIDE_INT *, const REAL_VALUE_TYPE *))
void real_from_string PARAMS ((REAL_VALUE_TYPE *, const char *))
void real_from_integer PARAMS ((REAL_VALUE_TYPE *, enum machine_mode, unsigned HOST_WIDE_INT, HOST_WIDE_INT, int))
long real_to_target_fmt PARAMS ((long *, const REAL_VALUE_TYPE *, const struct real_format *))
long real_to_target PARAMS ((long *, const REAL_VALUE_TYPE *, enum machine_mode))
void real_from_target_fmt PARAMS ((REAL_VALUE_TYPE *, const long *, const struct real_format *))
void real_from_target PARAMS ((REAL_VALUE_TYPE *, const long *, enum machine_mode))
void real_inf PARAMS ((REAL_VALUE_TYPE *))
bool real_nan PARAMS ((REAL_VALUE_TYPE *, const char *, int, enum machine_mode))
void real_2expN PARAMS ((REAL_VALUE_TYPE *, int))
REAL_VALUE_TYPE real_value_truncate PARAMS ((enum machine_mode, REAL_VALUE_TYPE))
int significand_size PARAMS ((enum machine_mode))
REAL_VALUE_TYPE real_from_string2 PARAMS ((const char *, enum machine_mode))
void real_ldexp PARAMS ((REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *, int))
REAL_VALUE_TYPE
real_value_from_int_cst 
PARAMS ((union tree_node *, union tree_node *))
rtx const_double_from_real_value PARAMS ((REAL_VALUE_TYPE, enum machine_mode))
bool exact_real_inverse PARAMS ((enum machine_mode, REAL_VALUE_TYPE *))
tree build_real PARAMS ((tree, REAL_VALUE_TYPE))

Variables

char test_real_width [sizeof(REAL_VALUE_TYPE)<=REAL_WIDTH *sizeof(HOST_WIDE_INT)?1:-1]
struct real_formatreal_format_for_mode [TFmode-QFmode+1]
struct real_format ieee_single_format
struct real_format ieee_double_format
struct real_format ieee_extended_motorola_format
struct real_format ieee_extended_intel_96_format
struct real_format ieee_extended_intel_96_round_53_format
struct real_format ieee_extended_intel_128_format
struct real_format ibm_extended_format
struct real_format ieee_quad_format
struct real_format vax_f_format
struct real_format vax_d_format
struct real_format vax_g_format
struct real_format i370_single_format
struct real_format i370_double_format
struct real_format c4x_single_format
struct real_format c4x_extended_format
struct real_format real_internal_format
REAL_VALUE_TYPE dconst0
REAL_VALUE_TYPE dconst1
REAL_VALUE_TYPE dconst2
REAL_VALUE_TYPE dconstm1


Define Documentation

#define CONST_DOUBLE_ATOF ( s,
 )     CONST_DOUBLE_FROM_REAL_VALUE (real_from_string2 (s, m), m)

Definition at line 310 of file real.h.

#define CONST_DOUBLE_FROM_REAL_VALUE ( r,
 )     const_double_from_real_value (r, m)

#define EXP_BITS   (32 - 3)

Definition at line 42 of file real.h.

Referenced by GTY(), ten_to_mptwo(), and ten_to_ptwo().

#define MAX_EXP   ((1 << (EXP_BITS - 1)) - 1)

Definition at line 43 of file real.h.

Referenced by do_add(), do_divide(), do_multiply(), normalize(), real_2expN(), real_from_string(), and real_ldexp().

#define REAL_ARITHMETIC ( value,
code,
d1,
d2   )     real_arithmetic (&(value), code, &(d1), &(d2))

Definition at line 250 of file real.h.

#define REAL_VALUE_ABS ( X   )     real_arithmetic2 (ABS_EXPR, &(X), NULL)

Definition at line 299 of file real.h.

Referenced by simplify_const_unary_operation(), and simplify_unary_operation().

#define REAL_VALUE_ATOF ( s,
 )     real_from_string2 (s, m)

Definition at line 307 of file real.h.

#define REAL_VALUE_FIX (  )     real_to_integer (&(r))

Definition at line 313 of file real.h.

Referenced by simplify_unary_operation().

#define REAL_VALUE_FROM_CONST_DOUBLE ( to,
from   )     memcpy (&(to), &CONST_DOUBLE_LOW ((from)), sizeof (REAL_VALUE_TYPE))

Definition at line 344 of file real.h.

Referenced by arc_print_operand(), arm_const_double_rtx(), arm_print_operand(), avoid_constant_pool_reference(), c4x_immed_float_p(), c4x_print_operand(), compress_float_constant(), const_double_rtx_ok_for_fpu(), const_double_split(), const_float_1_operand(), constant_subword(), copy_rtx_and_substitute(), cris_print_operand(), crx_const_double_ok(), crx_print_operand(), d30v_print_operand(), easy_df_const(), easy_fp_constant(), expand_mult(), floating_exact_log2(), fp_high_losum_p(), fp_immediate_constant(), fp_mov_p(), fp_one_operand(), fp_sethi_p(), fp_zero_operand(), fr30_const_double_is_zero(), fr30_print_operand(), frv_print_operand(), gen_lowpart_common(), i960_output_ldconst(), i960_print_operand(), ia64_split_tmode(), implicit_set_cond_p(), int_2word_operand(), ip2k_get_high_half(), ip2k_get_low_half(), ip2k_split_words(), ix86_split_to_parts(), legitimate_const_double_p(), m32r_print_operand(), m68hc11_gen_highpart(), m68hc11_gen_lowpart(), make_tree(), mips_const_double_ok(), mmix_intval(), mn10300_wide_const_load_uses_clr(), neg_const_double_rtx_ok_for_fpa(), neg_const_double_rtx_ok_for_fpu(), num_insns_constant(), output_335(), output_336(), output_constant_pool(), output_constant_pool_2(), output_dsp16xx_float_const(), output_move_double(), output_move_quad(), output_move_single(), output_toc(), pj_standard_float_constant(), print_operand(), rs6000_emit_cmove(), s390_output_pool_entry(), sfmode_constant_to_ulong(), simplify_binary_operation(), simplify_binary_operation_1(), simplify_const_binary_operation(), simplify_const_relational_operation(), simplify_const_unary_operation(), simplify_relational_operation(), simplify_unary_operation(), singlemove_string(), split_double(), standard_68881_constant_p(), standard_80387_constant_p(), vax_float_literal(), and xtensa_output_literal().

#define REAL_VALUE_FROM_INT ( r,
lo,
hi,
mode   )     real_from_integer (&(r), mode, lo, hi, 0)

#define REAL_VALUE_FROM_UNSIGNED_INT ( r,
lo,
hi,
mode   )     real_from_integer (&(r), mode, lo, hi, 1)

#define REAL_VALUE_ISINF (  )     real_isinf (&(x))

#define REAL_VALUE_ISNAN (  )     real_isnan (&(x))

#define REAL_VALUE_MINUS_ZERO (  )     real_isnegzero (&(x))

#define REAL_VALUE_NEGATE ( X   )     real_arithmetic2 (NEGATE_EXPR, &(X), NULL)

#define REAL_VALUE_NEGATIVE (  )     real_isneg (&(x))

#define REAL_VALUE_TO_INT ( plow,
phigh,
 )     real_to_integer2 (plow, phigh, &(r))

#define REAL_VALUE_TO_TARGET_DOUBLE ( IN,
OUT   )     real_to_target (OUT, &(IN), mode_for_size (64, MODE_FLOAT, 0))

Definition at line 274 of file real.h.

#define REAL_VALUE_TO_TARGET_LONG_DOUBLE ( IN,
OUT   ) 

#define REAL_VALUE_TO_TARGET_SINGLE ( IN,
OUT   )     ((OUT) = real_to_target (NULL, &(IN), mode_for_size (32, MODE_FLOAT, 0)))

Definition at line 278 of file real.h.

#define REAL_VALUE_TYPE   struct real_value

Definition at line 63 of file real.h.

Referenced by arc_print_operand(), arm_const_double_rtx(), arm_print_operand(), avoid_constant_pool_reference(), build_real(), builtin_define_with_hex_fp_value(), c4x_immed_float_p(), c4x_print_operand(), canonicalize_condition(), check_float_value(), compress_float_constant(), const_binop(), const_double_from_real_value(), const_double_rtx_ok_for_fpu(), const_double_split(), const_float_1_operand(), constant_subword(), copy_rtx_and_substitute(), cris_print_operand(), crx_const_double_ok(), crx_print_operand(), d30v_print_operand(), decimal_do_compare(), decimal_from_decnumber(), decimal_real_arithmetic(), decimal_real_to_integer(), decimal_real_to_integer2(), decode_ibm_extended(), decode_rtx_const(), distribute_real_division(), div_significands(), do_add(), do_divide(), do_multiply(), dump_generic_node(), easy_df_const(), easy_fp_constant(), encode_ibm_extended(), encode_ieee_quad(), estimate_bb_frequencies(), exact_real_inverse(), exact_real_truncate(), expand_builtin_pow(), expand_fix(), expand_float(), expand_java_pushc(), expand_mult(), ffecom_constantunion(), ffecom_init_0(), find_comparison_args(), floating_exact_log2(), fold(), fold_binary(), fold_builtin_atan(), fold_builtin_cabs(), fold_builtin_cbrt(), fold_builtin_ceil(), fold_builtin_classify(), fold_builtin_copysign(), fold_builtin_exponent(), fold_builtin_floor(), fold_builtin_inf(), fold_builtin_int_roundingfn(), fold_builtin_logarithm(), fold_builtin_lround(), fold_builtin_nan(), fold_builtin_pow(), fold_builtin_powi(), fold_builtin_round(), fold_builtin_signbit(), fold_builtin_sqrt(), fold_builtin_trunc(), fold_comparison(), fold_convert(), fold_convert_const_int_from_real(), fold_convert_const_real_from_real(), fold_inf_compare(), fold_mathfn_compare(), fold_relational_const(), fp_high_losum_p(), fp_immediate_constant(), fp_mov_p(), fp_one_operand(), fp_sethi_p(), fp_zero_operand(), fr30_const_double_is_zero(), fr30_print_operand(), frv_print_operand(), gen_divsi3(), gen_fixuns_truncdfdi2(), gen_fixuns_truncdfsi2(), gen_fixuns_truncsfdi2(), gen_fixuns_truncsfsi2(), gen_lowpart_common(), gen_udivsi3(), i960_output_ldconst(), i960_print_operand(), ia64_split_tmode(), implicit_set_cond_p(), init_68881_table(), init_emit_once(), init_fp_table(), init_fpa_table(), int_2word_operand(), integer_valued_real_p(), interpret_float(), ip2k_get_high_half(), ip2k_get_low_half(), ip2k_split_words(), ix86_split_to_parts(), java_perform_atof(), legitimate_const_double_p(), m32r_print_operand(), m68hc11_gen_highpart(), m68hc11_gen_lowpart(), make_tree(), mips_const_double_ok(), mmix_intval(), mn10300_wide_const_load_uses_clr(), native_interpret_real(), neg_const_double_rtx_ok_for_fpa(), neg_const_double_rtx_ok_for_fpu(), num_insns_constant(), omp_reduction_init(), output_335(), output_336(), output_constant_pool(), output_constant_pool_2(), output_dsp16xx_float_const(), output_move_double(), output_move_quad(), output_move_single(), output_toc(), pj_standard_float_constant(), print_node(), print_node_brief(), print_operand(), propagate_freq(), real_arithmetic2(), real_ceil(), real_digit(), real_floor(), real_from_string(), real_from_string2(), real_nan(), real_power_of_2_operand(), real_powi(), real_sqrt(), real_to_decimal(), real_to_integer2(), real_to_target_fmt(), real_value_from_int_cst(), real_value_truncate(), round_for_format(), rs6000_emit_cmove(), rs6000_float_const(), s390_output_pool_entry(), sfmode_constant_to_ulong(), simplify_binary_operation(), simplify_binary_operation_1(), simplify_const_binary_operation(), simplify_const_relational_operation(), simplify_const_unary_operation(), simplify_immed_subreg(), simplify_relational_operation(), simplify_unary_operation(), singlemove_string(), split_double(), standard_68881_constant_p(), standard_80387_constant_p(), strip_float_extensions(), subst_constants(), ten_to_mptwo(), ten_to_ptwo(), times_pten(), vax_float_literal(), WFE_Expand_Expr(), and xtensa_output_literal().

#define REAL_VALUE_TYPE_SIZE   (SIGNIFICAND_BITS + 32)

Definition at line 69 of file real.h.

#define REAL_VALUE_UNSIGNED_FIX (  )     real_to_integer (&(r))

Definition at line 317 of file real.h.

Referenced by estimate_bb_frequencies(), and simplify_unary_operation().

#define REAL_VALUES_EQUAL ( x,
 )     real_compare (EQ_EXPR, &(x), &(y))

#define REAL_VALUES_IDENTICAL ( x,
 )     real_identical (&(x), &(y))

#define REAL_VALUES_LESS ( x,
 )     real_compare (LT_EXPR, &(x), &(y))

#define REAL_WIDTH

#define SIG_MSB   ((unsigned long)1 << (HOST_BITS_PER_LONG - 1))

#define SIGNIFICAND_BITS   (128 + HOST_BITS_PER_LONG)

#define SIGSZ   (SIGNIFICAND_BITS / HOST_BITS_PER_LONG)


Enumeration Type Documentation

Enumerator:
rvc_zero 
rvc_normal 
rvc_inf 
rvc_nan 
rvc_zero 
rvc_normal 
rvc_inf 
rvc_nan 
rvc_zero 
rvc_normal 
rvc_inf 
rvc_nan 
rvc_zero 
rvc_normal 
rvc_inf 
rvc_nan 

Definition at line 34 of file real.h.


Function Documentation

struct real_value GTY ( ()   )  [read, write]

Definition at line 47 of file real.h.

References cl(), ENUM_BITFIELD, exp, EXP_BITS, int, long, signed, SIGSZ, and unsigned.

tree build_real PARAMS ( (tree, REAL_VALUE_TYPE)   ) 

bool exact_real_inverse PARAMS ( (enum machine_mode, REAL_VALUE_TYPE *)   ) 

rtx const_double_from_real_value PARAMS ( (REAL_VALUE_TYPE, enum machine_mode  ) 

REAL_VALUE_TYPE real_value_from_int_cst PARAMS ( (union tree_node *, union tree_node *)   ) 

void real_ldexp PARAMS ( (REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *, int)   ) 

REAL_VALUE_TYPE real_from_string2 PARAMS ( (const char *, enum machine_mode  ) 

int significand_size PARAMS ( (enum machine_mode  ) 

REAL_VALUE_TYPE real_value_truncate PARAMS ( (enum machine_mode, REAL_VALUE_TYPE)   ) 

void real_2expN PARAMS ( (REAL_VALUE_TYPE *, int)   ) 

bool real_nan PARAMS ( (REAL_VALUE_TYPE *, const char *, int, enum machine_mode  ) 

void real_inf PARAMS ( (REAL_VALUE_TYPE *)   ) 

void real_from_target PARAMS ( (REAL_VALUE_TYPE *, const long *, enum machine_mode  ) 

void real_from_target_fmt PARAMS ( (REAL_VALUE_TYPE *, const long *, const struct real_format *)   ) 

long real_to_target PARAMS ( (long *, const REAL_VALUE_TYPE *, enum machine_mode  ) 

long real_to_target_fmt PARAMS ( (long *, const REAL_VALUE_TYPE *, const struct real_format *)   ) 

void real_from_integer PARAMS ( (REAL_VALUE_TYPE *, enum machine_mode, unsigned HOST_WIDE_INT, HOST_WIDE_INT, int)   ) 

void real_from_string PARAMS ( (REAL_VALUE_TYPE *, const char *)   ) 

void real_to_integer2 PARAMS ( (HOST_WIDE_INT *, HOST_WIDE_INT *, const REAL_VALUE_TYPE *)   ) 

void real_to_decimal PARAMS ( (char *, const REAL_VALUE_TYPE *, size_t, size_t, int)   ) 

bool exact_real_truncate PARAMS ( (enum machine_mode, const REAL_VALUE_TYPE *)   ) 

void real_convert PARAMS ( (REAL_VALUE_TYPE *, enum machine_mode, const REAL_VALUE_TYPE *)   ) 

bool real_identical PARAMS ( (const REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *)   ) 

bool real_isinf PARAMS ( (const REAL_VALUE_TYPE *)   ) 

bool real_compare PARAMS ( (int, const REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *)   ) 

void real_arithmetic PARAMS ( (REAL_VALUE_TYPE *, int, const REAL_VALUE_TYPE *, const REAL_VALUE_TYPE *)   ) 


Variable Documentation

Definition at line 4347 of file real.c.

Definition at line 4331 of file real.c.

REAL_VALUE_TYPE dconst0

REAL_VALUE_TYPE dconst1

REAL_VALUE_TYPE dconst2

REAL_VALUE_TYPE dconstm1

Definition at line 4117 of file real.c.

Definition at line 4101 of file real.c.

Definition at line 3328 of file real.c.

Definition at line 2916 of file real.c.

Definition at line 3203 of file real.c.

Definition at line 3187 of file real.c.

Definition at line 3221 of file real.c.

Definition at line 3171 of file real.c.

Definition at line 3581 of file real.c.

Definition at line 2723 of file real.c.

Definition at line 4411 of file real.c.

Definition at line 4392 of file real.c.

char test_real_width[sizeof(REAL_VALUE_TYPE)<=REAL_WIDTH *sizeof(HOST_WIDE_INT)?1:-1]

Definition at line 3904 of file real.c.

Definition at line 3888 of file real.c.

Definition at line 3920 of file real.c.


Generated on Wed Apr 8 15:42:33 2009 for Open64 by  doxygen 1.5.6