defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
2007-05-21 Andreas Krebbel <krebbel1@de.ibm.com> * defaults.h (IBM_FLOAT_FORMAT): Macro definition removed. * doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed. * real.c (encode_i370_single, decode_i370_single, encode_i370_double, decode_i370_double): Functions removed. (i370_single_format, i370_double_format): Initializations removed. (real_maxval, round_for_format, exact_real_truncate, significand_size): Consider the log2_b field to always be one. (ieee_single_format, mips_single_format, coldfire_single_format, ieee_double_format, mips_double_format, coldfire_double_format, ieee_extended_motorola_format, ieee_extended_intel_96_format, ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format, ibm_extended_format, mips_extended_format, ieee_quad_format, mips_quad_format, vax_f_format, vax_d_format, vax_g_format, decimal_single_format, decimal_double_format, decimal_quad_format, c4x_single_format, c4x_extended_format, real_internal_format): Remove initialization of log2_b. * real.h (i370_single_format, i370_double_format): Declarations removed. * c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b field to always be one. From-SVN: r124901
This commit is contained in:
parent
740aeb384d
commit
4d8a8a0a22
@ -1,3 +1,25 @@
|
||||
2007-05-21 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
* defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
|
||||
* doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed.
|
||||
* real.c (encode_i370_single, decode_i370_single,
|
||||
encode_i370_double, decode_i370_double): Functions removed.
|
||||
(i370_single_format, i370_double_format): Initializations removed.
|
||||
(real_maxval, round_for_format, exact_real_truncate, significand_size):
|
||||
Consider the log2_b field to always be one.
|
||||
(ieee_single_format, mips_single_format, coldfire_single_format,
|
||||
ieee_double_format, mips_double_format, coldfire_double_format,
|
||||
ieee_extended_motorola_format, ieee_extended_intel_96_format,
|
||||
ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
|
||||
ibm_extended_format, mips_extended_format, ieee_quad_format,
|
||||
mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
|
||||
decimal_single_format, decimal_double_format, decimal_quad_format,
|
||||
c4x_single_format, c4x_extended_format, real_internal_format): Remove
|
||||
initialization of log2_b.
|
||||
* real.h (i370_single_format, i370_double_format): Declarations removed.
|
||||
* c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b
|
||||
field to always be one.
|
||||
|
||||
2007-05-21 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* config/ia64/ia64.c (emit_predicate_relation_info): Fix use of
|
||||
|
@ -111,7 +111,7 @@ builtin_define_float_constants (const char *name_prefix,
|
||||
/* The radix of the exponent representation. */
|
||||
if (type == float_type_node)
|
||||
builtin_define_with_int_value ("__FLT_RADIX__", fmt->b);
|
||||
log10_b = log10_2 * fmt->log2_b;
|
||||
log10_b = log10_2;
|
||||
|
||||
/* The number of radix digits, p, in the floating-point significand. */
|
||||
sprintf (name, "__%s_MANT_DIG__", name_prefix);
|
||||
@ -208,12 +208,12 @@ builtin_define_float_constants (const char *name_prefix,
|
||||
char *p;
|
||||
|
||||
strcpy (buf, "0x0.");
|
||||
n = fmt->p * fmt->log2_b;
|
||||
n = fmt->p;
|
||||
for (i = 0, p = buf + 4; i + 3 < n; i += 4)
|
||||
*p++ = 'f';
|
||||
if (i < n)
|
||||
*p++ = "08ce"[n - i];
|
||||
sprintf (p, "p%d", fmt->emax * fmt->log2_b);
|
||||
sprintf (p, "p%d", fmt->emax);
|
||||
if (fmt->pnan < fmt->p)
|
||||
{
|
||||
/* This is an IBM extended double format made up of two IEEE
|
||||
@ -231,7 +231,7 @@ builtin_define_float_constants (const char *name_prefix,
|
||||
/* The minimum normalized positive floating-point number,
|
||||
b**(emin-1). */
|
||||
sprintf (name, "__%s_MIN__", name_prefix);
|
||||
sprintf (buf, "0x1p%d", (fmt->emin - 1) * fmt->log2_b);
|
||||
sprintf (buf, "0x1p%d", fmt->emin - 1);
|
||||
builtin_define_with_hex_fp_value (name, type, decimal_dig, buf, fp_suffix, fp_cast);
|
||||
|
||||
/* The difference between 1 and the least value greater than 1 that is
|
||||
@ -240,9 +240,9 @@ builtin_define_float_constants (const char *name_prefix,
|
||||
if (fmt->pnan < fmt->p)
|
||||
/* This is an IBM extended double format, so 1.0 + any double is
|
||||
representable precisely. */
|
||||
sprintf (buf, "0x1p%d", (fmt->emin - fmt->p) * fmt->log2_b);
|
||||
sprintf (buf, "0x1p%d", fmt->emin - fmt->p);
|
||||
else
|
||||
sprintf (buf, "0x1p%d", (1 - fmt->p) * fmt->log2_b);
|
||||
sprintf (buf, "0x1p%d", 1 - fmt->p);
|
||||
builtin_define_with_hex_fp_value (name, type, decimal_dig, buf, fp_suffix, fp_cast);
|
||||
|
||||
/* For C++ std::numeric_limits<T>::denorm_min. The minimum denormalized
|
||||
@ -251,7 +251,7 @@ builtin_define_float_constants (const char *name_prefix,
|
||||
sprintf (name, "__%s_DENORM_MIN__", name_prefix);
|
||||
if (fmt->has_denorm)
|
||||
{
|
||||
sprintf (buf, "0x1p%d", (fmt->emin - fmt->p) * fmt->log2_b);
|
||||
sprintf (buf, "0x1p%d", fmt->emin - fmt->p);
|
||||
builtin_define_with_hex_fp_value (name, type, decimal_dig,
|
||||
buf, fp_suffix, fp_cast);
|
||||
}
|
||||
|
@ -623,8 +623,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
#define UNKNOWN_FLOAT_FORMAT 0
|
||||
#define IEEE_FLOAT_FORMAT 1
|
||||
#define VAX_FLOAT_FORMAT 2
|
||||
#define IBM_FLOAT_FORMAT 3
|
||||
#define C4X_FLOAT_FORMAT 4
|
||||
#define C4X_FLOAT_FORMAT 3
|
||||
|
||||
/* Default to IEEE float if not specified. Nearly all machines use it. */
|
||||
#ifndef TARGET_FLOAT_FORMAT
|
||||
|
@ -1340,9 +1340,6 @@ need to define @code{TARGET_FLOAT_FORMAT} when the format is IEEE@.
|
||||
This code indicates the ``F float'' (for @code{float}) and ``D float''
|
||||
or ``G float'' formats (for @code{double}) used on the VAX and PDP-11@.
|
||||
|
||||
@item IBM_FLOAT_FORMAT
|
||||
This code indicates the format used on the IBM System/370.
|
||||
|
||||
@item C4X_FLOAT_FORMAT
|
||||
This code indicates the format used on the TMS320C3x/C4x.
|
||||
@end ftable
|
||||
|
270
gcc/real.c
270
gcc/real.c
@ -65,12 +65,7 @@
|
||||
have guard digits or rounding, the computation of 10**exp can
|
||||
accumulate more than a few digits of error. The previous incarnation
|
||||
of real.c successfully used a 144-bit fraction; given the current
|
||||
layout of REAL_VALUE_TYPE we're forced to expand to at least 160 bits.
|
||||
|
||||
Target floating point models that use base 16 instead of base 2
|
||||
(i.e. IBM 370), are handled during round_for_format, in which we
|
||||
canonicalize the exponent to be a multiple of 4 (log2(16)), and
|
||||
adjust the significand to match. */
|
||||
layout of REAL_VALUE_TYPE we're forced to expand to at least 160 bits. */
|
||||
|
||||
|
||||
/* Used to classify two numbers simultaneously. */
|
||||
@ -2282,9 +2277,9 @@ real_maxval (REAL_VALUE_TYPE *r, int sign, enum machine_mode mode)
|
||||
{
|
||||
r->cl = rvc_normal;
|
||||
r->sign = sign;
|
||||
SET_REAL_EXP (r, fmt->emax * fmt->log2_b);
|
||||
SET_REAL_EXP (r, fmt->emax);
|
||||
|
||||
np2 = SIGNIFICAND_BITS - fmt->p * fmt->log2_b;
|
||||
np2 = SIGNIFICAND_BITS - fmt->p;
|
||||
memset (r->sig, -1, SIGSZ * sizeof (unsigned long));
|
||||
clear_significand_below (r, np2);
|
||||
|
||||
@ -2342,9 +2337,9 @@ round_for_format (const struct real_format *fmt, REAL_VALUE_TYPE *r)
|
||||
decimal_real_convert (r, DFmode, r);
|
||||
}
|
||||
|
||||
p2 = fmt->p * fmt->log2_b;
|
||||
emin2m1 = (fmt->emin - 1) * fmt->log2_b;
|
||||
emax2 = fmt->emax * fmt->log2_b;
|
||||
p2 = fmt->p;
|
||||
emin2m1 = fmt->emin - 1;
|
||||
emax2 = fmt->emax;
|
||||
|
||||
np2 = SIGNIFICAND_BITS - p2;
|
||||
switch (r->cl)
|
||||
@ -2372,22 +2367,6 @@ round_for_format (const struct real_format *fmt, REAL_VALUE_TYPE *r)
|
||||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
/* If we're not base2, normalize the exponent to a multiple of
|
||||
the true base. */
|
||||
if (fmt->log2_b != 1)
|
||||
{
|
||||
int shift;
|
||||
|
||||
gcc_assert (fmt->b != 10);
|
||||
shift = REAL_EXP (r) & (fmt->log2_b - 1);
|
||||
if (shift)
|
||||
{
|
||||
shift = fmt->log2_b - shift;
|
||||
r->sig[0] |= sticky_rshift_significand (r, r, shift);
|
||||
SET_REAL_EXP (r, REAL_EXP (r) + shift);
|
||||
}
|
||||
}
|
||||
|
||||
/* Check the range of the exponent. If we're out of range,
|
||||
either underflow or overflow. */
|
||||
if (REAL_EXP (r) > emax2)
|
||||
@ -2443,19 +2422,6 @@ round_for_format (const struct real_format *fmt, REAL_VALUE_TYPE *r)
|
||||
if (REAL_EXP (r) > emax2)
|
||||
goto overflow;
|
||||
r->sig[SIGSZ-1] = SIG_MSB;
|
||||
|
||||
if (fmt->log2_b != 1)
|
||||
{
|
||||
int shift = REAL_EXP (r) & (fmt->log2_b - 1);
|
||||
if (shift)
|
||||
{
|
||||
shift = fmt->log2_b - shift;
|
||||
rshift_significand (r, r, shift);
|
||||
SET_REAL_EXP (r, REAL_EXP (r) + shift);
|
||||
if (REAL_EXP (r) > emax2)
|
||||
goto overflow;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -2513,7 +2479,7 @@ exact_real_truncate (enum machine_mode mode, const REAL_VALUE_TYPE *a)
|
||||
gcc_assert (fmt);
|
||||
|
||||
/* Don't allow conversion to denormals. */
|
||||
emin2m1 = (fmt->emin - 1) * fmt->log2_b;
|
||||
emin2m1 = fmt->emin - 1;
|
||||
if (REAL_EXP (a) <= emin2m1)
|
||||
return false;
|
||||
|
||||
@ -2604,7 +2570,7 @@ significand_size (enum machine_mode mode)
|
||||
double log2_10 = 3.3219281;
|
||||
return fmt->p * log2_10;
|
||||
}
|
||||
return fmt->p * fmt->log2_b;
|
||||
return fmt->p;
|
||||
}
|
||||
|
||||
/* Return a hash value for the given real value. */
|
||||
@ -2775,7 +2741,6 @@ const struct real_format ieee_single_format =
|
||||
encode_ieee_single,
|
||||
decode_ieee_single,
|
||||
2,
|
||||
1,
|
||||
24,
|
||||
24,
|
||||
-125,
|
||||
@ -2795,7 +2760,6 @@ const struct real_format mips_single_format =
|
||||
encode_ieee_single,
|
||||
decode_ieee_single,
|
||||
2,
|
||||
1,
|
||||
24,
|
||||
24,
|
||||
-125,
|
||||
@ -2815,7 +2779,6 @@ const struct real_format coldfire_single_format =
|
||||
encode_ieee_single,
|
||||
decode_ieee_single,
|
||||
2,
|
||||
1,
|
||||
24,
|
||||
24,
|
||||
-125,
|
||||
@ -3023,7 +2986,6 @@ const struct real_format ieee_double_format =
|
||||
encode_ieee_double,
|
||||
decode_ieee_double,
|
||||
2,
|
||||
1,
|
||||
53,
|
||||
53,
|
||||
-1021,
|
||||
@ -3043,7 +3005,6 @@ const struct real_format mips_double_format =
|
||||
encode_ieee_double,
|
||||
decode_ieee_double,
|
||||
2,
|
||||
1,
|
||||
53,
|
||||
53,
|
||||
-1021,
|
||||
@ -3063,7 +3024,6 @@ const struct real_format coldfire_double_format =
|
||||
encode_ieee_double,
|
||||
decode_ieee_double,
|
||||
2,
|
||||
1,
|
||||
53,
|
||||
53,
|
||||
-1021,
|
||||
@ -3393,7 +3353,6 @@ const struct real_format ieee_extended_motorola_format =
|
||||
encode_ieee_extended_motorola,
|
||||
decode_ieee_extended_motorola,
|
||||
2,
|
||||
1,
|
||||
64,
|
||||
64,
|
||||
-16382,
|
||||
@ -3413,7 +3372,6 @@ const struct real_format ieee_extended_intel_96_format =
|
||||
encode_ieee_extended_intel_96,
|
||||
decode_ieee_extended_intel_96,
|
||||
2,
|
||||
1,
|
||||
64,
|
||||
64,
|
||||
-16381,
|
||||
@ -3433,7 +3391,6 @@ const struct real_format ieee_extended_intel_128_format =
|
||||
encode_ieee_extended_intel_128,
|
||||
decode_ieee_extended_intel_128,
|
||||
2,
|
||||
1,
|
||||
64,
|
||||
64,
|
||||
-16381,
|
||||
@ -3455,7 +3412,6 @@ const struct real_format ieee_extended_intel_96_round_53_format =
|
||||
encode_ieee_extended_intel_96,
|
||||
decode_ieee_extended_intel_96,
|
||||
2,
|
||||
1,
|
||||
53,
|
||||
53,
|
||||
-16381,
|
||||
@ -3542,7 +3498,6 @@ const struct real_format ibm_extended_format =
|
||||
encode_ibm_extended,
|
||||
decode_ibm_extended,
|
||||
2,
|
||||
1,
|
||||
53 + 53,
|
||||
53,
|
||||
-1021 + 53,
|
||||
@ -3562,7 +3517,6 @@ const struct real_format mips_extended_format =
|
||||
encode_ibm_extended,
|
||||
decode_ibm_extended,
|
||||
2,
|
||||
1,
|
||||
53 + 53,
|
||||
53,
|
||||
-1021 + 53,
|
||||
@ -3824,7 +3778,6 @@ const struct real_format ieee_quad_format =
|
||||
encode_ieee_quad,
|
||||
decode_ieee_quad,
|
||||
2,
|
||||
1,
|
||||
113,
|
||||
113,
|
||||
-16381,
|
||||
@ -3844,7 +3797,6 @@ const struct real_format mips_quad_format =
|
||||
encode_ieee_quad,
|
||||
decode_ieee_quad,
|
||||
2,
|
||||
1,
|
||||
113,
|
||||
113,
|
||||
-16381,
|
||||
@ -4143,7 +4095,6 @@ const struct real_format vax_f_format =
|
||||
encode_vax_f,
|
||||
decode_vax_f,
|
||||
2,
|
||||
1,
|
||||
24,
|
||||
24,
|
||||
-127,
|
||||
@ -4163,7 +4114,6 @@ const struct real_format vax_d_format =
|
||||
encode_vax_d,
|
||||
decode_vax_d,
|
||||
2,
|
||||
1,
|
||||
56,
|
||||
56,
|
||||
-127,
|
||||
@ -4183,7 +4133,6 @@ const struct real_format vax_g_format =
|
||||
encode_vax_g,
|
||||
decode_vax_g,
|
||||
2,
|
||||
1,
|
||||
53,
|
||||
53,
|
||||
-1023,
|
||||
@ -4198,203 +4147,6 @@ const struct real_format vax_g_format =
|
||||
false
|
||||
};
|
||||
|
||||
/* A good reference for these can be found in chapter 9 of
|
||||
"ESA/390 Principles of Operation", IBM document number SA22-7201-01.
|
||||
An on-line version can be found here:
|
||||
|
||||
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DZ9AR001/9.1?DT=19930923083613
|
||||
*/
|
||||
|
||||
static void encode_i370_single (const struct real_format *fmt,
|
||||
long *, const REAL_VALUE_TYPE *);
|
||||
static void decode_i370_single (const struct real_format *,
|
||||
REAL_VALUE_TYPE *, const long *);
|
||||
static void encode_i370_double (const struct real_format *fmt,
|
||||
long *, const REAL_VALUE_TYPE *);
|
||||
static void decode_i370_double (const struct real_format *,
|
||||
REAL_VALUE_TYPE *, const long *);
|
||||
|
||||
static void
|
||||
encode_i370_single (const struct real_format *fmt ATTRIBUTE_UNUSED,
|
||||
long *buf, const REAL_VALUE_TYPE *r)
|
||||
{
|
||||
unsigned long sign, exp, sig, image;
|
||||
|
||||
sign = r->sign << 31;
|
||||
|
||||
switch (r->cl)
|
||||
{
|
||||
case rvc_zero:
|
||||
image = 0;
|
||||
break;
|
||||
|
||||
case rvc_inf:
|
||||
case rvc_nan:
|
||||
image = 0x7fffffff | sign;
|
||||
break;
|
||||
|
||||
case rvc_normal:
|
||||
sig = (r->sig[SIGSZ-1] >> (HOST_BITS_PER_LONG - 24)) & 0xffffff;
|
||||
exp = ((REAL_EXP (r) / 4) + 64) << 24;
|
||||
image = sign | exp | sig;
|
||||
break;
|
||||
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
buf[0] = image;
|
||||
}
|
||||
|
||||
static void
|
||||
decode_i370_single (const struct real_format *fmt ATTRIBUTE_UNUSED,
|
||||
REAL_VALUE_TYPE *r, const long *buf)
|
||||
{
|
||||
unsigned long sign, sig, image = buf[0];
|
||||
int exp;
|
||||
|
||||
sign = (image >> 31) & 1;
|
||||
exp = (image >> 24) & 0x7f;
|
||||
sig = image & 0xffffff;
|
||||
|
||||
memset (r, 0, sizeof (*r));
|
||||
|
||||
if (exp || sig)
|
||||
{
|
||||
r->cl = rvc_normal;
|
||||
r->sign = sign;
|
||||
SET_REAL_EXP (r, (exp - 64) * 4);
|
||||
r->sig[SIGSZ-1] = sig << (HOST_BITS_PER_LONG - 24);
|
||||
normalize (r);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
encode_i370_double (const struct real_format *fmt ATTRIBUTE_UNUSED,
|
||||
long *buf, const REAL_VALUE_TYPE *r)
|
||||
{
|
||||
unsigned long sign, exp, image_hi, image_lo;
|
||||
|
||||
sign = r->sign << 31;
|
||||
|
||||
switch (r->cl)
|
||||
{
|
||||
case rvc_zero:
|
||||
image_hi = image_lo = 0;
|
||||
break;
|
||||
|
||||
case rvc_inf:
|
||||
case rvc_nan:
|
||||
image_hi = 0x7fffffff | sign;
|
||||
image_lo = 0xffffffff;
|
||||
break;
|
||||
|
||||
case rvc_normal:
|
||||
if (HOST_BITS_PER_LONG == 64)
|
||||
{
|
||||
image_hi = r->sig[SIGSZ-1];
|
||||
image_lo = (image_hi >> (64 - 56)) & 0xffffffff;
|
||||
image_hi = (image_hi >> (64 - 56 + 1) >> 31) & 0xffffff;
|
||||
}
|
||||
else
|
||||
{
|
||||
image_hi = r->sig[SIGSZ-1];
|
||||
image_lo = r->sig[SIGSZ-2];
|
||||
image_lo = (image_lo >> 8) | (image_hi << 24);
|
||||
image_hi >>= 8;
|
||||
}
|
||||
|
||||
exp = ((REAL_EXP (r) / 4) + 64) << 24;
|
||||
image_hi |= sign | exp;
|
||||
break;
|
||||
|
||||
default:
|
||||
gcc_unreachable ();
|
||||
}
|
||||
|
||||
if (FLOAT_WORDS_BIG_ENDIAN)
|
||||
buf[0] = image_hi, buf[1] = image_lo;
|
||||
else
|
||||
buf[0] = image_lo, buf[1] = image_hi;
|
||||
}
|
||||
|
||||
static void
|
||||
decode_i370_double (const struct real_format *fmt ATTRIBUTE_UNUSED,
|
||||
REAL_VALUE_TYPE *r, const long *buf)
|
||||
{
|
||||
unsigned long sign, image_hi, image_lo;
|
||||
int exp;
|
||||
|
||||
if (FLOAT_WORDS_BIG_ENDIAN)
|
||||
image_hi = buf[0], image_lo = buf[1];
|
||||
else
|
||||
image_lo = buf[0], image_hi = buf[1];
|
||||
|
||||
sign = (image_hi >> 31) & 1;
|
||||
exp = (image_hi >> 24) & 0x7f;
|
||||
image_hi &= 0xffffff;
|
||||
image_lo &= 0xffffffff;
|
||||
|
||||
memset (r, 0, sizeof (*r));
|
||||
|
||||
if (exp || image_hi || image_lo)
|
||||
{
|
||||
r->cl = rvc_normal;
|
||||
r->sign = sign;
|
||||
SET_REAL_EXP (r, (exp - 64) * 4 + (SIGNIFICAND_BITS - 56));
|
||||
|
||||
if (HOST_BITS_PER_LONG == 32)
|
||||
{
|
||||
r->sig[0] = image_lo;
|
||||
r->sig[1] = image_hi;
|
||||
}
|
||||
else
|
||||
r->sig[0] = image_lo | (image_hi << 31 << 1);
|
||||
|
||||
normalize (r);
|
||||
}
|
||||
}
|
||||
|
||||
const struct real_format i370_single_format =
|
||||
{
|
||||
encode_i370_single,
|
||||
decode_i370_single,
|
||||
16,
|
||||
4,
|
||||
6,
|
||||
6,
|
||||
-64,
|
||||
63,
|
||||
31,
|
||||
31,
|
||||
false,
|
||||
false,
|
||||
false, /* ??? The encoding does allow for "unnormals". */
|
||||
false, /* ??? The encoding does allow for "unnormals". */
|
||||
false,
|
||||
false
|
||||
};
|
||||
|
||||
const struct real_format i370_double_format =
|
||||
{
|
||||
encode_i370_double,
|
||||
decode_i370_double,
|
||||
16,
|
||||
4,
|
||||
14,
|
||||
14,
|
||||
-64,
|
||||
63,
|
||||
63,
|
||||
63,
|
||||
false,
|
||||
false,
|
||||
false, /* ??? The encoding does allow for "unnormals". */
|
||||
false, /* ??? The encoding does allow for "unnormals". */
|
||||
false,
|
||||
false
|
||||
};
|
||||
|
||||
/* Encode real R into a single precision DFP value in BUF. */
|
||||
static void
|
||||
encode_decimal_single (const struct real_format *fmt ATTRIBUTE_UNUSED,
|
||||
@ -4455,7 +4207,6 @@ const struct real_format decimal_single_format =
|
||||
encode_decimal_single,
|
||||
decode_decimal_single,
|
||||
10,
|
||||
1, /* log10 */
|
||||
7,
|
||||
7,
|
||||
-95,
|
||||
@ -4476,7 +4227,6 @@ const struct real_format decimal_double_format =
|
||||
encode_decimal_double,
|
||||
decode_decimal_double,
|
||||
10,
|
||||
1, /* log10 */
|
||||
16,
|
||||
16,
|
||||
-383,
|
||||
@ -4497,7 +4247,6 @@ const struct real_format decimal_quad_format =
|
||||
encode_decimal_quad,
|
||||
decode_decimal_quad,
|
||||
10,
|
||||
1, /* log10 */
|
||||
34,
|
||||
34,
|
||||
-6143,
|
||||
@ -4707,7 +4456,6 @@ const struct real_format c4x_single_format =
|
||||
encode_c4x_single,
|
||||
decode_c4x_single,
|
||||
2,
|
||||
1,
|
||||
24,
|
||||
24,
|
||||
-126,
|
||||
@ -4727,7 +4475,6 @@ const struct real_format c4x_extended_format =
|
||||
encode_c4x_extended,
|
||||
decode_c4x_extended,
|
||||
2,
|
||||
1,
|
||||
32,
|
||||
32,
|
||||
-126,
|
||||
@ -4772,7 +4519,6 @@ const struct real_format real_internal_format =
|
||||
encode_internal,
|
||||
decode_internal,
|
||||
2,
|
||||
1,
|
||||
SIGNIFICAND_BITS - 2,
|
||||
SIGNIFICAND_BITS - 2,
|
||||
-MAX_EXP,
|
||||
|
@ -126,9 +126,6 @@ struct real_format
|
||||
/* The radix of the exponent and digits of the significand. */
|
||||
int b;
|
||||
|
||||
/* log2(b). */
|
||||
int log2_b;
|
||||
|
||||
/* Size of the significand in digits of radix B. */
|
||||
int p;
|
||||
|
||||
@ -272,8 +269,6 @@ extern const struct real_format mips_quad_format;
|
||||
extern const struct real_format vax_f_format;
|
||||
extern const struct real_format vax_d_format;
|
||||
extern const struct real_format vax_g_format;
|
||||
extern const struct real_format i370_single_format;
|
||||
extern const struct real_format i370_double_format;
|
||||
extern const struct real_format c4x_single_format;
|
||||
extern const struct real_format c4x_extended_format;
|
||||
extern const struct real_format real_internal_format;
|
||||
|
Loading…
x
Reference in New Issue
Block a user