return rintf(a);
}
+float32 float32_rem( float32 a, float32 b STATUS_PARAM)
+{
+ return remainderf(a, b);
+}
+
float32 float32_sqrt( float32 a STATUS_PARAM)
{
return sqrtf(a);
}
+char float32_compare( float32 a, float32 b STATUS_PARAM )
+{
+ if (a < b) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+ } else if (a > b) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
+char float32_compare_quiet( float32 a, float32 b STATUS_PARAM )
+{
+ if (isless(a, b)) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+ } else if (isgreater(a, b)) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
char float32_is_signaling_nan( float32 a1)
{
float32u u;
#endif
}
+float64 float64_rem( float64 a, float64 b STATUS_PARAM)
+{
+ return remainder(a, b);
+}
+
float64 float64_sqrt( float64 a STATUS_PARAM)
{
return sqrt(a);
}
+char float64_compare( float64 a, float64 b STATUS_PARAM )
+{
+ if (a < b) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+ } else if (a > b) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
+char float64_compare_quiet( float64 a, float64 b STATUS_PARAM )
+{
+ if (isless(a, b)) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+ } else if (isgreater(a, b)) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
char float64_is_signaling_nan( float64 a1)
{
float64u u;
{
return rintl(a);
}
+floatx80 floatx80_rem( floatx80 a, floatx80 b STATUS_PARAM)
+{
+ return remainderl(a, b);
+}
floatx80 floatx80_sqrt( floatx80 a STATUS_PARAM)
{
return sqrtl(a);
}
+char floatx80_compare( floatx80 a, floatx80 b STATUS_PARAM )
+{
+ if (a < b) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+ } else if (a > b) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
+char floatx80_compare_quiet( floatx80 a, floatx80 b STATUS_PARAM )
+{
+ if (isless(a, b)) {
+ return -1;
+ } else if (a == b) {
+ return 0;
+ } else if (isgreater(a, b)) {
+ return 1;
+ } else {
+ return 2;
+ }
+}
char floatx80_is_signaling_nan( floatx80 a1)
{
floatx80u u;
float32 float32_sqrt( float32 STATUS_PARAM);
INLINE char float32_eq( float32 a, float32 b STATUS_PARAM)
{
- /* XXX: incorrect because it can raise an exception */
return a == b;
}
INLINE char float32_le( float32 a, float32 b STATUS_PARAM)
}
INLINE char float32_eq_signaling( float32 a, float32 b STATUS_PARAM)
{
- return a == b;
+ return a <= b && a >= b;
}
INLINE char float32_le_quiet( float32 a, float32 b STATUS_PARAM)
{
{
return isless(a, b);
}
+INLINE char float32_unordered( float32 a, float32 b STATUS_PARAM)
+{
+ return isunordered(a, b);
+
+}
+char float32_compare( float32, float32 STATUS_PARAM );
+char float32_compare_quiet( float32, float32 STATUS_PARAM );
char float32_is_signaling_nan( float32 );
INLINE float32 float32_abs(float32 a)
}
INLINE char float64_eq_signaling( float64 a, float64 b STATUS_PARAM)
{
- return a == b;
+ return a <= b && a >= b;
}
INLINE char float64_le_quiet( float64 a, float64 b STATUS_PARAM)
{
return isless(a, b);
}
+INLINE char float64_unordered( float64 a, float64 b STATUS_PARAM)
+{
+ return isunordered(a, b);
+
+}
+char float64_compare( float64, float64 STATUS_PARAM );
+char float64_compare_quiet( float64, float64 STATUS_PARAM );
char float64_is_signaling_nan( float64 );
INLINE float64 float64_abs(float64 a)
}
INLINE char floatx80_eq_signaling( floatx80 a, floatx80 b STATUS_PARAM)
{
- return a == b;
+ return a <= b && a >= b;
}
INLINE char floatx80_le_quiet( floatx80 a, floatx80 b STATUS_PARAM)
{
return isless(a, b);
}
+INLINE char floatx80_unordered( floatx80 a, floatx80 b STATUS_PARAM)
+{
+ return isunordered(a, b);
+
+}
+char floatx80_compare( floatx80, floatx80 STATUS_PARAM );
+char floatx80_compare_quiet( floatx80, floatx80 STATUS_PARAM );
char floatx80_is_signaling_nan( floatx80 );
INLINE floatx80 floatx80_abs(floatx80 a)