Commit dca821e1 by Richard Stallman

(e24toe, e53toe, e64toe): Fix sign in conversions of -infinity.

(e24toe, e53toe, e64toe): Fix sign in conversions
of -infinity.  Always do eclear before einfin.

From-SVN: r4513
parent ffed0993
...@@ -1328,7 +1328,9 @@ eisnan (x) ...@@ -1328,7 +1328,9 @@ eisnan (x)
} }
/* Fill external format number with infinity pattern (IEEE) /* Fill external format number with infinity pattern (IEEE)
or largest possible number (non-IEEE). */ or largest possible number (non-IEEE).
Before calling einfin, you should either call eclear
or set up the sign bit by hand. */
void void
einfin (x) einfin (x)
...@@ -1458,7 +1460,7 @@ emovo (a, b) ...@@ -1458,7 +1460,7 @@ emovo (a, b)
} }
#endif #endif
einfin (b); einfin (b);
return; return;
} }
#endif #endif
/* skip over guard word */ /* skip over guard word */
...@@ -2635,8 +2637,9 @@ e53toe (pe, y) ...@@ -2635,8 +2637,9 @@ e53toe (pe, y)
} }
#endif #endif
#endif /* NANS */ #endif /* NANS */
eclear (y);
einfin (y); einfin (y);
if (r & 0x8000) if (yy[0])
eneg (y); eneg (y);
return; return;
} }
...@@ -2728,6 +2731,7 @@ e64toe (pe, y) ...@@ -2728,6 +2731,7 @@ e64toe (pe, y)
} }
#endif #endif
#endif /* NANS */ #endif /* NANS */
eclear (y);
einfin (y); einfin (y);
if (*p & 0x8000) if (*p & 0x8000)
eneg (y); eneg (y);
...@@ -2787,8 +2791,9 @@ e24toe (pe, y) ...@@ -2787,8 +2791,9 @@ e24toe (pe, y)
} }
#endif #endif
#endif /* NANS */ #endif /* NANS */
eclear (y);
einfin (y); einfin (y);
if (r & 0x8000) if (yy[0])
eneg (y); eneg (y);
return; return;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment