14 cl_signean cl_compare (const cl_FF& x, const cl_FF& y)
17 // x und y haben verschiedenes Vorzeichen ->
20 // x und y haben gleiches Vorzeichen ->
21 // x >=0 -> vergleiche x und y (die rechten 24 Bits)
22 // x <0 -> vergleiche y und x (die rechten 24 Bits)
23 var uint32 x_ = cl_ffloat_value(x);
24 var uint32 y_ = cl_ffloat_value(y);
27 { if ((sint32)x_ >= 0)
29 { if (x_ < y_) return signean_minus; // x<y
30 if (x_ > y_) return signean_plus; // x>y
35 { return signean_minus; } // x<y
38 { if ((sint32)x_ >= 0)
40 { return signean_plus; } // x>y
43 { if (x_ > y_) return signean_minus; // |x|>|y| -> x<y
44 if (x_ < y_) return signean_plus; // |x|<|y| -> x>y