2 Copyright © 1995-2017, 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 Compares an IEEE double precision floting point number against zero.
24 y - IEEE double precision floating point number.
34 negative : result is negative
48 Sign is negative: return -1
52 *****************************************************************************/
56 QUAD
* Qy
= (QUAD
*)&y
;
59 if (is_lessSC(*Qy
, 0x0, 0x0) /* y < 0 */)
61 SetSR(Negative_Bit
, Zero_Bit
| Overflow_Bit
| Negative_Bit
);
66 if (is_eqC(*Qy
, 0x0, 0x0) /* y == 0 */)
68 SetSR(Zero_Bit
, Zero_Bit
| Overflow_Bit
| Negative_Bit
);
72 /* fnum1 is positive */
73 SetSR(0, Zero_Bit
| Overflow_Bit
| Negative_Bit
);