Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 697 → Rev 698

/uspace/trunk/softfloat/generic/softfloat.c
49,7 → 49,7
return subFloat32(fa,fb).f;
}
return addFloat32(fa,fb).f;
};
}
 
float __subsf3(float a, float b)
{
61,7 → 61,7
return addFloat32(fa,fb).f;
}
return subFloat32(fa,fb).f;
};
}
 
float __mulsf3(float a, float b)
{
77,7 → 77,7
fa.f=a;
fb.f=b;
// return divFloat32(fa, fb).f;
};
}
 
float __negsf2(float a)
{
85,7 → 85,7
fa.f=a;
fa.parts.sign=!fa.parts.sign;
return fa.f;
};
}
 
double __negdf2(double a)
{
93,7 → 93,7
fa.d=a;
fa.parts.sign=!fa.parts.sign;
return fa.d;
};
}
 
/* Conversion functions */
 
102,7 → 102,7
float32 fa;
fa.f = a;
return convertFloat32ToFloat64(fa).d;
};
}
 
float __truncdfsf2(double a)
{
110,6 → 110,7
da.d = a;
return convertFloat64ToFloat32(da).f;
}
 
/* Comparison functions */
 
/* a<b .. -1
143,7 → 144,7
fa.f=a;
fb.f=b;
return ((isFloat32NaN(fa))||(isFloat32NaN(fb)));
};
}
 
/**
* @return zero, if neither argument is a NaN and are equal
158,13 → 159,13
return 1;
};
return isFloat32eq(fa,fb)-1;
};
}
 
/* strange behavior, but it was in gcc documentation */
int __nesf2(float a, float b)
{
return __eqsf2(a,b);
};
}
 
/* return value >= 0 if a>=b and neither is NaN */
int __gesf2(float a, float b)
244,3 → 245,18
 
/* Other functions */
 
float __powisf2(float a, int b)
{
//TODO:
}
 
float __mulsc3(float a, float b, float c, float d)
{
//TODO:
}
 
float __divsc3(float a, float b, float c, float d)
{
//TODO:
}