OSDN Git Service

(NAN): Define for support of Not-a-Number bit patterns.
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 9 May 1993 22:13:02 +0000 (22:13 +0000)
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 9 May 1993 22:13:02 +0000 (22:13 +0000)
commit978b4d568a64397c5e0ef2e3650d8aa24ffbdd6c
tree34720b801d0dcc635a501f5a44e2738ec3edc6ef
parent60168b218b889e5945b3b0726f83e5f90cd5c496
(NAN): Define for support of Not-a-Number bit patterns.
(make_nan): New function outputs a NaN in requested machine mode.
(eisnan, eiisnan, enan, einan, eiisinf, eiinfin): New functions.
(earith, etrunci, etruncui, ereal_negate, ereal_ldexp,
real_value_truncate, esub, eadd, emul, ediv, eremain):
Return NaN arg back to caller.
(eroundi, eroundui, ereal_to_int): NaN to integer returns -1
and a warning.
(target_isnan): Check for NaN.
(eneg): No-op if NaN.
(eisneg, eisinf): False if NaN.
(emovi, emovo): Handle NaN conversions.
(esub, eadd): Infinity minus infinity = NaN and INVALID warning.
(ediv): 0/0, inf/inf = NaN and INVALID warning.
(emul): 0 * inf = NaN and INVALID warning.
(e24toe, e53toe, e64toe): Generate e-type NaN for NaN input.
(etoe24, etoe53, etoe64): Output NaN in appropriate machine mode.
(ecmp): Unordered compare returns -2.
(etoasc): NaN produces ASCII string "NaN".
(asctoe): Unrecognizable input produces e-type NaN.
(eremain): x REM y = NaN if y = 0 or x = infinity.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@4401 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/real.c