4 #include "base/cl_sysdep.h"
7 #include "cln/sfloat.h"
12 #include "base/cl_inline.h"
13 #include "float/sfloat/elem/cl_SF_minusp.cc"
17 cl_signean CL_FLATTEN compare (const cl_SF& x, const cl_SF& y)
20 // x und y haben verschiedenes Vorzeichen ->
23 // x und y haben gleiches Vorzeichen ->
24 // x >=0 -> vergleiche x und y (die rechten 24 Bits)
25 // x <0 -> vergleiche y und x (die rechten 24 Bits)
26 if (!minusp_inline(y))
28 { if (!minusp_inline(x))
30 { if (x.word < y.word) return signean_minus; // x<y
31 if (x.word > y.word) return signean_plus; // x>y
36 { return signean_minus; } // x<y
39 { if (!minusp_inline(x))
41 { return signean_plus; } // x>y
44 { if (x.word > y.word) return signean_minus; // |x|>|y| -> x<y
45 if (x.word < y.word) return signean_plus; // |x|<|y| -> x>y