* doublest.c (convert_floatformat_to_doublest): Call

floatformat_to_doublest instead of floatformat_to_double and use
	DOUBLEST variables.
	(convert_doublest_to_floatformat): Call floatformat_from_doublest
	instead of floatformat_from_double and use DOUBLEST variables.
This commit is contained in:
Luis Machado
2008-01-03 11:39:35 +00:00
parent dc2bbab20c
commit 542a88d0e4
2 changed files with 16 additions and 8 deletions

@ -1,3 +1,11 @@
2008-01-03 Luis Machado <luisgpm@br.ibm.com>
* doublest.c (convert_floatformat_to_doublest): Call
floatformat_to_doublest instead of floatformat_to_double and use
DOUBLEST variables.
(convert_doublest_to_floatformat): Call floatformat_from_doublest
instead of floatformat_from_double and use DOUBLEST variables.
2008-01-03 Nick Hudson <nick.hudson@dsl.pipex.com> 2008-01-03 Nick Hudson <nick.hudson@dsl.pipex.com>
* MAINTAINERS (Write After Approval): Add self. * MAINTAINERS (Write After Approval): Add self.

@ -202,19 +202,19 @@ convert_floatformat_to_doublest (const struct floatformat *fmt,
if (fmt->split_half) if (fmt->split_half)
{ {
double dtop, dbot; DOUBLEST dtop, dbot;
floatformat_to_double (fmt->split_half, ufrom, &dtop); floatformat_to_doublest (fmt->split_half, ufrom, &dtop);
/* Preserve the sign of 0, which is the sign of the top /* Preserve the sign of 0, which is the sign of the top
half. */ half. */
if (dtop == 0.0) if (dtop == 0.0)
{ {
*to = (DOUBLEST) dtop; *to = dtop;
return; return;
} }
floatformat_to_double (fmt->split_half, floatformat_to_doublest (fmt->split_half,
ufrom + fmt->totalsize / FLOATFORMAT_CHAR_BIT / 2, ufrom + fmt->totalsize / FLOATFORMAT_CHAR_BIT / 2,
&dbot); &dbot);
*to = (DOUBLEST) dtop + (DOUBLEST) dbot; *to = dtop + dbot;
return; return;
} }
@ -417,7 +417,7 @@ convert_doublest_to_floatformat (CONST struct floatformat *fmt,
removed via storing in memory, and so the top half really is removed via storing in memory, and so the top half really is
the result of converting to double. */ the result of converting to double. */
static volatile double dtop, dbot; static volatile double dtop, dbot;
double dtopnv, dbotnv; DOUBLEST dtopnv, dbotnv;
dtop = (double) dfrom; dtop = (double) dfrom;
/* If the rounded top half is Inf, the bottom must be 0 not NaN /* If the rounded top half is Inf, the bottom must be 0 not NaN
or Inf. */ or Inf. */
@ -427,8 +427,8 @@ convert_doublest_to_floatformat (CONST struct floatformat *fmt,
dbot = (double) (dfrom - (DOUBLEST) dtop); dbot = (double) (dfrom - (DOUBLEST) dtop);
dtopnv = dtop; dtopnv = dtop;
dbotnv = dbot; dbotnv = dbot;
floatformat_from_double (fmt->split_half, &dtopnv, uto); floatformat_from_doublest (fmt->split_half, &dtopnv, uto);
floatformat_from_double (fmt->split_half, &dbotnv, floatformat_from_doublest (fmt->split_half, &dbotnv,
(uto (uto
+ fmt->totalsize / FLOATFORMAT_CHAR_BIT / 2)); + fmt->totalsize / FLOATFORMAT_CHAR_BIT / 2));
return; return;