2 Copyright © 1995-2003, The AROS Development Team. All rights reserved.
6 #include "mathieeedoubbas_intern.h"
8 /*****************************************************************************
12 AROS_LHQUAD1(LONG
, IEEEDPTst
,
15 AROS_LHAQUAD(double, y
, D0
, D1
),
18 struct MathIeeeDoubBasBase
*, MathIeeeDoubBasBase
, 8, MathIeeeDoubBas
)
21 Compare a IEEE double precision floting point number against zero.
32 negative : result is negative
39 Sign is negative: return -1
43 *****************************************************************************/
47 QUAD
* Qy
= (QUAD
*)&y
;
50 if (is_lessSC(*Qy
, 0x0, 0x0) /* y < 0 */)
52 SetSR(Negative_Bit
, Zero_Bit
| Overflow_Bit
| Negative_Bit
);
57 if (is_eqC(*Qy
, 0x0, 0x0) /* y == 0 */)
59 SetSR(Zero_Bit
, Zero_Bit
| Overflow_Bit
| Negative_Bit
);
63 /* fnum1 is positive */
64 SetSR(0, Zero_Bit
| Overflow_Bit
| Negative_Bit
);