mirror of https://github.com/xemu-project/xemu.git
avoid using char when it is not necessary
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2204 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
00a67ba19a
commit
750afe93fd
|
@ -149,7 +149,7 @@ float32 float32_sqrt( float32 a STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return sqrtf(a);
|
return sqrtf(a);
|
||||||
}
|
}
|
||||||
char float32_compare( float32 a, float32 b STATUS_PARAM )
|
int float32_compare( float32 a, float32 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
if (a < b) {
|
if (a < b) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -161,7 +161,7 @@ char float32_compare( float32 a, float32 b STATUS_PARAM )
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
char float32_compare_quiet( float32 a, float32 b STATUS_PARAM )
|
int float32_compare_quiet( float32 a, float32 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
if (isless(a, b)) {
|
if (isless(a, b)) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -173,7 +173,7 @@ char float32_compare_quiet( float32 a, float32 b STATUS_PARAM )
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
char float32_is_signaling_nan( float32 a1)
|
int float32_is_signaling_nan( float32 a1)
|
||||||
{
|
{
|
||||||
float32u u;
|
float32u u;
|
||||||
uint32_t a;
|
uint32_t a;
|
||||||
|
@ -258,7 +258,7 @@ float64 float64_sqrt( float64 a STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return sqrt(a);
|
return sqrt(a);
|
||||||
}
|
}
|
||||||
char float64_compare( float64 a, float64 b STATUS_PARAM )
|
int float64_compare( float64 a, float64 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
if (a < b) {
|
if (a < b) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -270,7 +270,7 @@ char float64_compare( float64 a, float64 b STATUS_PARAM )
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
char float64_compare_quiet( float64 a, float64 b STATUS_PARAM )
|
int float64_compare_quiet( float64 a, float64 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
if (isless(a, b)) {
|
if (isless(a, b)) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -282,7 +282,7 @@ char float64_compare_quiet( float64 a, float64 b STATUS_PARAM )
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
char float64_is_signaling_nan( float64 a1)
|
int float64_is_signaling_nan( float64 a1)
|
||||||
{
|
{
|
||||||
float64u u;
|
float64u u;
|
||||||
uint64_t a;
|
uint64_t a;
|
||||||
|
@ -294,7 +294,7 @@ char float64_is_signaling_nan( float64 a1)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
char float64_is_nan( float64 a1 )
|
int float64_is_nan( float64 a1 )
|
||||||
{
|
{
|
||||||
float64u u;
|
float64u u;
|
||||||
uint64_t a;
|
uint64_t a;
|
||||||
|
@ -350,7 +350,7 @@ floatx80 floatx80_sqrt( floatx80 a STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return sqrtl(a);
|
return sqrtl(a);
|
||||||
}
|
}
|
||||||
char floatx80_compare( floatx80 a, floatx80 b STATUS_PARAM )
|
int floatx80_compare( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
if (a < b) {
|
if (a < b) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -362,7 +362,7 @@ char floatx80_compare( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
char floatx80_compare_quiet( floatx80 a, floatx80 b STATUS_PARAM )
|
int floatx80_compare_quiet( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
if (isless(a, b)) {
|
if (isless(a, b)) {
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -374,7 +374,7 @@ char floatx80_compare_quiet( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
char floatx80_is_signaling_nan( floatx80 a1)
|
int floatx80_is_signaling_nan( floatx80 a1)
|
||||||
{
|
{
|
||||||
floatx80u u;
|
floatx80u u;
|
||||||
u.f = a1;
|
u.f = a1;
|
||||||
|
|
|
@ -152,38 +152,38 @@ INLINE float32 float32_div( float32 a, float32 b STATUS_PARAM)
|
||||||
}
|
}
|
||||||
float32 float32_rem( float32, float32 STATUS_PARAM);
|
float32 float32_rem( float32, float32 STATUS_PARAM);
|
||||||
float32 float32_sqrt( float32 STATUS_PARAM);
|
float32 float32_sqrt( float32 STATUS_PARAM);
|
||||||
INLINE char float32_eq( float32 a, float32 b STATUS_PARAM)
|
INLINE int float32_eq( float32 a, float32 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a == b;
|
return a == b;
|
||||||
}
|
}
|
||||||
INLINE char float32_le( float32 a, float32 b STATUS_PARAM)
|
INLINE int float32_le( float32 a, float32 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a <= b;
|
return a <= b;
|
||||||
}
|
}
|
||||||
INLINE char float32_lt( float32 a, float32 b STATUS_PARAM)
|
INLINE int float32_lt( float32 a, float32 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a < b;
|
return a < b;
|
||||||
}
|
}
|
||||||
INLINE char float32_eq_signaling( float32 a, float32 b STATUS_PARAM)
|
INLINE int float32_eq_signaling( float32 a, float32 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a <= b && a >= b;
|
return a <= b && a >= b;
|
||||||
}
|
}
|
||||||
INLINE char float32_le_quiet( float32 a, float32 b STATUS_PARAM)
|
INLINE int float32_le_quiet( float32 a, float32 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return islessequal(a, b);
|
return islessequal(a, b);
|
||||||
}
|
}
|
||||||
INLINE char float32_lt_quiet( float32 a, float32 b STATUS_PARAM)
|
INLINE int float32_lt_quiet( float32 a, float32 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return isless(a, b);
|
return isless(a, b);
|
||||||
}
|
}
|
||||||
INLINE char float32_unordered( float32 a, float32 b STATUS_PARAM)
|
INLINE int float32_unordered( float32 a, float32 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return isunordered(a, b);
|
return isunordered(a, b);
|
||||||
|
|
||||||
}
|
}
|
||||||
char float32_compare( float32, float32 STATUS_PARAM );
|
int float32_compare( float32, float32 STATUS_PARAM );
|
||||||
char float32_compare_quiet( float32, float32 STATUS_PARAM );
|
int float32_compare_quiet( float32, float32 STATUS_PARAM );
|
||||||
char float32_is_signaling_nan( float32 );
|
int float32_is_signaling_nan( float32 );
|
||||||
|
|
||||||
INLINE float32 float32_abs(float32 a)
|
INLINE float32 float32_abs(float32 a)
|
||||||
{
|
{
|
||||||
|
@ -233,40 +233,40 @@ INLINE float64 float64_div( float64 a, float64 b STATUS_PARAM)
|
||||||
}
|
}
|
||||||
float64 float64_rem( float64, float64 STATUS_PARAM );
|
float64 float64_rem( float64, float64 STATUS_PARAM );
|
||||||
float64 float64_sqrt( float64 STATUS_PARAM );
|
float64 float64_sqrt( float64 STATUS_PARAM );
|
||||||
INLINE char float64_eq( float64 a, float64 b STATUS_PARAM)
|
INLINE int float64_eq( float64 a, float64 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a == b;
|
return a == b;
|
||||||
}
|
}
|
||||||
INLINE char float64_le( float64 a, float64 b STATUS_PARAM)
|
INLINE int float64_le( float64 a, float64 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a <= b;
|
return a <= b;
|
||||||
}
|
}
|
||||||
INLINE char float64_lt( float64 a, float64 b STATUS_PARAM)
|
INLINE int float64_lt( float64 a, float64 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a < b;
|
return a < b;
|
||||||
}
|
}
|
||||||
INLINE char float64_eq_signaling( float64 a, float64 b STATUS_PARAM)
|
INLINE int float64_eq_signaling( float64 a, float64 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a <= b && a >= b;
|
return a <= b && a >= b;
|
||||||
}
|
}
|
||||||
INLINE char float64_le_quiet( float64 a, float64 b STATUS_PARAM)
|
INLINE int float64_le_quiet( float64 a, float64 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return islessequal(a, b);
|
return islessequal(a, b);
|
||||||
}
|
}
|
||||||
INLINE char float64_lt_quiet( float64 a, float64 b STATUS_PARAM)
|
INLINE int float64_lt_quiet( float64 a, float64 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return isless(a, b);
|
return isless(a, b);
|
||||||
|
|
||||||
}
|
}
|
||||||
INLINE char float64_unordered( float64 a, float64 b STATUS_PARAM)
|
INLINE int float64_unordered( float64 a, float64 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return isunordered(a, b);
|
return isunordered(a, b);
|
||||||
|
|
||||||
}
|
}
|
||||||
char float64_compare( float64, float64 STATUS_PARAM );
|
int float64_compare( float64, float64 STATUS_PARAM );
|
||||||
char float64_compare_quiet( float64, float64 STATUS_PARAM );
|
int float64_compare_quiet( float64, float64 STATUS_PARAM );
|
||||||
char float64_is_signaling_nan( float64 );
|
int float64_is_signaling_nan( float64 );
|
||||||
flag float64_is_nan( float64 );
|
int float64_is_nan( float64 );
|
||||||
|
|
||||||
INLINE float64 float64_abs(float64 a)
|
INLINE float64 float64_abs(float64 a)
|
||||||
{
|
{
|
||||||
|
@ -315,39 +315,39 @@ INLINE floatx80 floatx80_div( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
}
|
}
|
||||||
floatx80 floatx80_rem( floatx80, floatx80 STATUS_PARAM );
|
floatx80 floatx80_rem( floatx80, floatx80 STATUS_PARAM );
|
||||||
floatx80 floatx80_sqrt( floatx80 STATUS_PARAM );
|
floatx80 floatx80_sqrt( floatx80 STATUS_PARAM );
|
||||||
INLINE char floatx80_eq( floatx80 a, floatx80 b STATUS_PARAM)
|
INLINE int floatx80_eq( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a == b;
|
return a == b;
|
||||||
}
|
}
|
||||||
INLINE char floatx80_le( floatx80 a, floatx80 b STATUS_PARAM)
|
INLINE int floatx80_le( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a <= b;
|
return a <= b;
|
||||||
}
|
}
|
||||||
INLINE char floatx80_lt( floatx80 a, floatx80 b STATUS_PARAM)
|
INLINE int floatx80_lt( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a < b;
|
return a < b;
|
||||||
}
|
}
|
||||||
INLINE char floatx80_eq_signaling( floatx80 a, floatx80 b STATUS_PARAM)
|
INLINE int floatx80_eq_signaling( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return a <= b && a >= b;
|
return a <= b && a >= b;
|
||||||
}
|
}
|
||||||
INLINE char floatx80_le_quiet( floatx80 a, floatx80 b STATUS_PARAM)
|
INLINE int floatx80_le_quiet( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return islessequal(a, b);
|
return islessequal(a, b);
|
||||||
}
|
}
|
||||||
INLINE char floatx80_lt_quiet( floatx80 a, floatx80 b STATUS_PARAM)
|
INLINE int floatx80_lt_quiet( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return isless(a, b);
|
return isless(a, b);
|
||||||
|
|
||||||
}
|
}
|
||||||
INLINE char floatx80_unordered( floatx80 a, floatx80 b STATUS_PARAM)
|
INLINE int floatx80_unordered( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
{
|
{
|
||||||
return isunordered(a, b);
|
return isunordered(a, b);
|
||||||
|
|
||||||
}
|
}
|
||||||
char floatx80_compare( floatx80, floatx80 STATUS_PARAM );
|
int floatx80_compare( floatx80, floatx80 STATUS_PARAM );
|
||||||
char floatx80_compare_quiet( floatx80, floatx80 STATUS_PARAM );
|
int floatx80_compare_quiet( floatx80, floatx80 STATUS_PARAM );
|
||||||
char floatx80_is_signaling_nan( floatx80 );
|
int floatx80_is_signaling_nan( floatx80 );
|
||||||
|
|
||||||
INLINE floatx80 floatx80_abs(floatx80 a)
|
INLINE floatx80 floatx80_abs(floatx80 a)
|
||||||
{
|
{
|
||||||
|
|
|
@ -68,7 +68,7 @@ typedef struct {
|
||||||
| otherwise returns 0.
|
| otherwise returns 0.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float32_is_nan( float32 a )
|
int float32_is_nan( float32 a )
|
||||||
{
|
{
|
||||||
|
|
||||||
return ( 0xFF000000 < (bits32) ( a<<1 ) );
|
return ( 0xFF000000 < (bits32) ( a<<1 ) );
|
||||||
|
@ -80,7 +80,7 @@ flag float32_is_nan( float32 a )
|
||||||
| NaN; otherwise returns 0.
|
| NaN; otherwise returns 0.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float32_is_signaling_nan( float32 a )
|
int float32_is_signaling_nan( float32 a )
|
||||||
{
|
{
|
||||||
|
|
||||||
return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF );
|
return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF );
|
||||||
|
@ -161,7 +161,7 @@ static float32 propagateFloat32NaN( float32 a, float32 b STATUS_PARAM)
|
||||||
| otherwise returns 0.
|
| otherwise returns 0.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float64_is_nan( float64 a )
|
int float64_is_nan( float64 a )
|
||||||
{
|
{
|
||||||
|
|
||||||
return ( LIT64( 0xFFE0000000000000 ) < (bits64) ( a<<1 ) );
|
return ( LIT64( 0xFFE0000000000000 ) < (bits64) ( a<<1 ) );
|
||||||
|
@ -173,7 +173,7 @@ flag float64_is_nan( float64 a )
|
||||||
| NaN; otherwise returns 0.
|
| NaN; otherwise returns 0.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float64_is_signaling_nan( float64 a )
|
int float64_is_signaling_nan( float64 a )
|
||||||
{
|
{
|
||||||
|
|
||||||
return
|
return
|
||||||
|
@ -264,7 +264,7 @@ static float64 propagateFloat64NaN( float64 a, float64 b STATUS_PARAM)
|
||||||
| NaN; otherwise returns 0.
|
| NaN; otherwise returns 0.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag floatx80_is_nan( floatx80 a )
|
int floatx80_is_nan( floatx80 a )
|
||||||
{
|
{
|
||||||
|
|
||||||
return ( ( a.high & 0x7FFF ) == 0x7FFF ) && (bits64) ( a.low<<1 );
|
return ( ( a.high & 0x7FFF ) == 0x7FFF ) && (bits64) ( a.low<<1 );
|
||||||
|
@ -276,7 +276,7 @@ flag floatx80_is_nan( floatx80 a )
|
||||||
| signaling NaN; otherwise returns 0.
|
| signaling NaN; otherwise returns 0.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag floatx80_is_signaling_nan( floatx80 a )
|
int floatx80_is_signaling_nan( floatx80 a )
|
||||||
{
|
{
|
||||||
bits64 aLow;
|
bits64 aLow;
|
||||||
|
|
||||||
|
@ -371,7 +371,7 @@ static floatx80 propagateFloatx80NaN( floatx80 a, floatx80 b STATUS_PARAM)
|
||||||
| otherwise returns 0.
|
| otherwise returns 0.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float128_is_nan( float128 a )
|
int float128_is_nan( float128 a )
|
||||||
{
|
{
|
||||||
|
|
||||||
return
|
return
|
||||||
|
@ -385,7 +385,7 @@ flag float128_is_nan( float128 a )
|
||||||
| signaling NaN; otherwise returns 0.
|
| signaling NaN; otherwise returns 0.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float128_is_signaling_nan( float128 a )
|
int float128_is_signaling_nan( float128 a )
|
||||||
{
|
{
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
|
@ -2023,7 +2023,7 @@ float32 float32_sqrt( float32 a STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float32_eq( float32 a, float32 b STATUS_PARAM )
|
int float32_eq( float32 a, float32 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( ( ( extractFloat32Exp( a ) == 0xFF ) && extractFloat32Frac( a ) )
|
if ( ( ( extractFloat32Exp( a ) == 0xFF ) && extractFloat32Frac( a ) )
|
||||||
|
@ -2045,7 +2045,7 @@ flag float32_eq( float32 a, float32 b STATUS_PARAM )
|
||||||
| Arithmetic.
|
| Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float32_le( float32 a, float32 b STATUS_PARAM )
|
int float32_le( float32 a, float32 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -2068,7 +2068,7 @@ flag float32_le( float32 a, float32 b STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float32_lt( float32 a, float32 b STATUS_PARAM )
|
int float32_lt( float32 a, float32 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -2092,7 +2092,7 @@ flag float32_lt( float32 a, float32 b STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float32_eq_signaling( float32 a, float32 b STATUS_PARAM )
|
int float32_eq_signaling( float32 a, float32 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( ( ( extractFloat32Exp( a ) == 0xFF ) && extractFloat32Frac( a ) )
|
if ( ( ( extractFloat32Exp( a ) == 0xFF ) && extractFloat32Frac( a ) )
|
||||||
|
@ -2112,7 +2112,7 @@ flag float32_eq_signaling( float32 a, float32 b STATUS_PARAM )
|
||||||
| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float32_le_quiet( float32 a, float32 b STATUS_PARAM )
|
int float32_le_quiet( float32 a, float32 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -2138,7 +2138,7 @@ flag float32_le_quiet( float32 a, float32 b STATUS_PARAM )
|
||||||
| Standard for Binary Floating-Point Arithmetic.
|
| Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float32_lt_quiet( float32 a, float32 b STATUS_PARAM )
|
int float32_lt_quiet( float32 a, float32 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -2952,7 +2952,7 @@ float64 float64_sqrt( float64 a STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float64_eq( float64 a, float64 b STATUS_PARAM )
|
int float64_eq( float64 a, float64 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( ( ( extractFloat64Exp( a ) == 0x7FF ) && extractFloat64Frac( a ) )
|
if ( ( ( extractFloat64Exp( a ) == 0x7FF ) && extractFloat64Frac( a ) )
|
||||||
|
@ -2974,7 +2974,7 @@ flag float64_eq( float64 a, float64 b STATUS_PARAM )
|
||||||
| Arithmetic.
|
| Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float64_le( float64 a, float64 b STATUS_PARAM )
|
int float64_le( float64 a, float64 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -2997,7 +2997,7 @@ flag float64_le( float64 a, float64 b STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float64_lt( float64 a, float64 b STATUS_PARAM )
|
int float64_lt( float64 a, float64 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -3021,7 +3021,7 @@ flag float64_lt( float64 a, float64 b STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float64_eq_signaling( float64 a, float64 b STATUS_PARAM )
|
int float64_eq_signaling( float64 a, float64 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( ( ( extractFloat64Exp( a ) == 0x7FF ) && extractFloat64Frac( a ) )
|
if ( ( ( extractFloat64Exp( a ) == 0x7FF ) && extractFloat64Frac( a ) )
|
||||||
|
@ -3041,7 +3041,7 @@ flag float64_eq_signaling( float64 a, float64 b STATUS_PARAM )
|
||||||
| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float64_le_quiet( float64 a, float64 b STATUS_PARAM )
|
int float64_le_quiet( float64 a, float64 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -3067,7 +3067,7 @@ flag float64_le_quiet( float64 a, float64 b STATUS_PARAM )
|
||||||
| Standard for Binary Floating-Point Arithmetic.
|
| Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float64_lt_quiet( float64 a, float64 b STATUS_PARAM )
|
int float64_lt_quiet( float64 a, float64 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -3890,7 +3890,7 @@ floatx80 floatx80_sqrt( floatx80 a STATUS_PARAM )
|
||||||
| Arithmetic.
|
| Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag floatx80_eq( floatx80 a, floatx80 b STATUS_PARAM )
|
int floatx80_eq( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( ( ( extractFloatx80Exp( a ) == 0x7FFF )
|
if ( ( ( extractFloatx80Exp( a ) == 0x7FFF )
|
||||||
|
@ -3920,7 +3920,7 @@ flag floatx80_eq( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
| Floating-Point Arithmetic.
|
| Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag floatx80_le( floatx80 a, floatx80 b STATUS_PARAM )
|
int floatx80_le( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -3953,7 +3953,7 @@ flag floatx80_le( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
| Arithmetic.
|
| Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag floatx80_lt( floatx80 a, floatx80 b STATUS_PARAM )
|
int floatx80_lt( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -3986,7 +3986,7 @@ flag floatx80_lt( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag floatx80_eq_signaling( floatx80 a, floatx80 b STATUS_PARAM )
|
int floatx80_eq_signaling( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( ( ( extractFloatx80Exp( a ) == 0x7FFF )
|
if ( ( ( extractFloatx80Exp( a ) == 0x7FFF )
|
||||||
|
@ -4013,7 +4013,7 @@ flag floatx80_eq_signaling( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
| to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag floatx80_le_quiet( floatx80 a, floatx80 b STATUS_PARAM )
|
int floatx80_le_quiet( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -4049,7 +4049,7 @@ flag floatx80_le_quiet( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag floatx80_lt_quiet( floatx80 a, floatx80 b STATUS_PARAM )
|
int floatx80_lt_quiet( floatx80 a, floatx80 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -5010,7 +5010,7 @@ float128 float128_sqrt( float128 a STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float128_eq( float128 a, float128 b STATUS_PARAM )
|
int float128_eq( float128 a, float128 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( ( ( extractFloat128Exp( a ) == 0x7FFF )
|
if ( ( ( extractFloat128Exp( a ) == 0x7FFF )
|
||||||
|
@ -5040,7 +5040,7 @@ flag float128_eq( float128 a, float128 b STATUS_PARAM )
|
||||||
| Arithmetic.
|
| Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float128_le( float128 a, float128 b STATUS_PARAM )
|
int float128_le( float128 a, float128 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -5072,7 +5072,7 @@ flag float128_le( float128 a, float128 b STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float128_lt( float128 a, float128 b STATUS_PARAM )
|
int float128_lt( float128 a, float128 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -5105,7 +5105,7 @@ flag float128_lt( float128 a, float128 b STATUS_PARAM )
|
||||||
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| according to the IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float128_eq_signaling( float128 a, float128 b STATUS_PARAM )
|
int float128_eq_signaling( float128 a, float128 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
|
|
||||||
if ( ( ( extractFloat128Exp( a ) == 0x7FFF )
|
if ( ( ( extractFloat128Exp( a ) == 0x7FFF )
|
||||||
|
@ -5132,7 +5132,7 @@ flag float128_eq_signaling( float128 a, float128 b STATUS_PARAM )
|
||||||
| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
| IEC/IEEE Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float128_le_quiet( float128 a, float128 b STATUS_PARAM )
|
int float128_le_quiet( float128 a, float128 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -5168,7 +5168,7 @@ flag float128_le_quiet( float128 a, float128 b STATUS_PARAM )
|
||||||
| Standard for Binary Floating-Point Arithmetic.
|
| Standard for Binary Floating-Point Arithmetic.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
|
|
||||||
flag float128_lt_quiet( float128 a, float128 b STATUS_PARAM )
|
int float128_lt_quiet( float128 a, float128 b STATUS_PARAM )
|
||||||
{
|
{
|
||||||
flag aSign, bSign;
|
flag aSign, bSign;
|
||||||
|
|
||||||
|
@ -5283,7 +5283,7 @@ unsigned int float64_to_uint32_round_to_zero( float64 a STATUS_PARAM )
|
||||||
}
|
}
|
||||||
|
|
||||||
#define COMPARE(s, nan_exp) \
|
#define COMPARE(s, nan_exp) \
|
||||||
INLINE char float ## s ## _compare_internal( float ## s a, float ## s b, \
|
INLINE int float ## s ## _compare_internal( float ## s a, float ## s b, \
|
||||||
int is_quiet STATUS_PARAM ) \
|
int is_quiet STATUS_PARAM ) \
|
||||||
{ \
|
{ \
|
||||||
flag aSign, bSign; \
|
flag aSign, bSign; \
|
||||||
|
@ -5317,12 +5317,12 @@ INLINE char float ## s ## _compare_internal( float ## s a, float ## s b, \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
char float ## s ## _compare( float ## s a, float ## s b STATUS_PARAM ) \
|
int float ## s ## _compare( float ## s a, float ## s b STATUS_PARAM ) \
|
||||||
{ \
|
{ \
|
||||||
return float ## s ## _compare_internal(a, b, 0 STATUS_VAR); \
|
return float ## s ## _compare_internal(a, b, 0 STATUS_VAR); \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
char float ## s ## _compare_quiet( float ## s a, float ## s b STATUS_PARAM ) \
|
int float ## s ## _compare_quiet( float ## s a, float ## s b STATUS_PARAM ) \
|
||||||
{ \
|
{ \
|
||||||
return float ## s ## _compare_internal(a, b, 1 STATUS_VAR); \
|
return float ## s ## _compare_internal(a, b, 1 STATUS_VAR); \
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ these four paragraphs for those parts of this code that are retained.
|
||||||
| implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
|
| implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
|
||||||
| to the same as `int'.
|
| to the same as `int'.
|
||||||
*----------------------------------------------------------------------------*/
|
*----------------------------------------------------------------------------*/
|
||||||
typedef char flag;
|
typedef uint8_t flag;
|
||||||
typedef uint8_t uint8;
|
typedef uint8_t uint8;
|
||||||
typedef int8_t int8;
|
typedef int8_t int8;
|
||||||
typedef int uint16;
|
typedef int uint16;
|
||||||
|
@ -228,16 +228,16 @@ float32 float32_mul( float32, float32 STATUS_PARAM );
|
||||||
float32 float32_div( float32, float32 STATUS_PARAM );
|
float32 float32_div( float32, float32 STATUS_PARAM );
|
||||||
float32 float32_rem( float32, float32 STATUS_PARAM );
|
float32 float32_rem( float32, float32 STATUS_PARAM );
|
||||||
float32 float32_sqrt( float32 STATUS_PARAM );
|
float32 float32_sqrt( float32 STATUS_PARAM );
|
||||||
char float32_eq( float32, float32 STATUS_PARAM );
|
int float32_eq( float32, float32 STATUS_PARAM );
|
||||||
char float32_le( float32, float32 STATUS_PARAM );
|
int float32_le( float32, float32 STATUS_PARAM );
|
||||||
char float32_lt( float32, float32 STATUS_PARAM );
|
int float32_lt( float32, float32 STATUS_PARAM );
|
||||||
char float32_eq_signaling( float32, float32 STATUS_PARAM );
|
int float32_eq_signaling( float32, float32 STATUS_PARAM );
|
||||||
char float32_le_quiet( float32, float32 STATUS_PARAM );
|
int float32_le_quiet( float32, float32 STATUS_PARAM );
|
||||||
char float32_lt_quiet( float32, float32 STATUS_PARAM );
|
int float32_lt_quiet( float32, float32 STATUS_PARAM );
|
||||||
char float32_compare( float32, float32 STATUS_PARAM );
|
int float32_compare( float32, float32 STATUS_PARAM );
|
||||||
char float32_compare_quiet( float32, float32 STATUS_PARAM );
|
int float32_compare_quiet( float32, float32 STATUS_PARAM );
|
||||||
char float32_is_signaling_nan( float32 );
|
int float32_is_signaling_nan( float32 );
|
||||||
flag float64_is_nan( float64 a );
|
int float64_is_nan( float64 a );
|
||||||
|
|
||||||
INLINE float32 float32_abs(float32 a)
|
INLINE float32 float32_abs(float32 a)
|
||||||
{
|
{
|
||||||
|
@ -277,15 +277,15 @@ float64 float64_mul( float64, float64 STATUS_PARAM );
|
||||||
float64 float64_div( float64, float64 STATUS_PARAM );
|
float64 float64_div( float64, float64 STATUS_PARAM );
|
||||||
float64 float64_rem( float64, float64 STATUS_PARAM );
|
float64 float64_rem( float64, float64 STATUS_PARAM );
|
||||||
float64 float64_sqrt( float64 STATUS_PARAM );
|
float64 float64_sqrt( float64 STATUS_PARAM );
|
||||||
char float64_eq( float64, float64 STATUS_PARAM );
|
int float64_eq( float64, float64 STATUS_PARAM );
|
||||||
char float64_le( float64, float64 STATUS_PARAM );
|
int float64_le( float64, float64 STATUS_PARAM );
|
||||||
char float64_lt( float64, float64 STATUS_PARAM );
|
int float64_lt( float64, float64 STATUS_PARAM );
|
||||||
char float64_eq_signaling( float64, float64 STATUS_PARAM );
|
int float64_eq_signaling( float64, float64 STATUS_PARAM );
|
||||||
char float64_le_quiet( float64, float64 STATUS_PARAM );
|
int float64_le_quiet( float64, float64 STATUS_PARAM );
|
||||||
char float64_lt_quiet( float64, float64 STATUS_PARAM );
|
int float64_lt_quiet( float64, float64 STATUS_PARAM );
|
||||||
char float64_compare( float64, float64 STATUS_PARAM );
|
int float64_compare( float64, float64 STATUS_PARAM );
|
||||||
char float64_compare_quiet( float64, float64 STATUS_PARAM );
|
int float64_compare_quiet( float64, float64 STATUS_PARAM );
|
||||||
char float64_is_signaling_nan( float64 );
|
int float64_is_signaling_nan( float64 );
|
||||||
|
|
||||||
INLINE float64 float64_abs(float64 a)
|
INLINE float64 float64_abs(float64 a)
|
||||||
{
|
{
|
||||||
|
@ -322,13 +322,13 @@ floatx80 floatx80_mul( floatx80, floatx80 STATUS_PARAM );
|
||||||
floatx80 floatx80_div( floatx80, floatx80 STATUS_PARAM );
|
floatx80 floatx80_div( floatx80, floatx80 STATUS_PARAM );
|
||||||
floatx80 floatx80_rem( floatx80, floatx80 STATUS_PARAM );
|
floatx80 floatx80_rem( floatx80, floatx80 STATUS_PARAM );
|
||||||
floatx80 floatx80_sqrt( floatx80 STATUS_PARAM );
|
floatx80 floatx80_sqrt( floatx80 STATUS_PARAM );
|
||||||
char floatx80_eq( floatx80, floatx80 STATUS_PARAM );
|
int floatx80_eq( floatx80, floatx80 STATUS_PARAM );
|
||||||
char floatx80_le( floatx80, floatx80 STATUS_PARAM );
|
int floatx80_le( floatx80, floatx80 STATUS_PARAM );
|
||||||
char floatx80_lt( floatx80, floatx80 STATUS_PARAM );
|
int floatx80_lt( floatx80, floatx80 STATUS_PARAM );
|
||||||
char floatx80_eq_signaling( floatx80, floatx80 STATUS_PARAM );
|
int floatx80_eq_signaling( floatx80, floatx80 STATUS_PARAM );
|
||||||
char floatx80_le_quiet( floatx80, floatx80 STATUS_PARAM );
|
int floatx80_le_quiet( floatx80, floatx80 STATUS_PARAM );
|
||||||
char floatx80_lt_quiet( floatx80, floatx80 STATUS_PARAM );
|
int floatx80_lt_quiet( floatx80, floatx80 STATUS_PARAM );
|
||||||
char floatx80_is_signaling_nan( floatx80 );
|
int floatx80_is_signaling_nan( floatx80 );
|
||||||
|
|
||||||
INLINE floatx80 floatx80_abs(floatx80 a)
|
INLINE floatx80 floatx80_abs(floatx80 a)
|
||||||
{
|
{
|
||||||
|
@ -369,13 +369,13 @@ float128 float128_mul( float128, float128 STATUS_PARAM );
|
||||||
float128 float128_div( float128, float128 STATUS_PARAM );
|
float128 float128_div( float128, float128 STATUS_PARAM );
|
||||||
float128 float128_rem( float128, float128 STATUS_PARAM );
|
float128 float128_rem( float128, float128 STATUS_PARAM );
|
||||||
float128 float128_sqrt( float128 STATUS_PARAM );
|
float128 float128_sqrt( float128 STATUS_PARAM );
|
||||||
char float128_eq( float128, float128 STATUS_PARAM );
|
int float128_eq( float128, float128 STATUS_PARAM );
|
||||||
char float128_le( float128, float128 STATUS_PARAM );
|
int float128_le( float128, float128 STATUS_PARAM );
|
||||||
char float128_lt( float128, float128 STATUS_PARAM );
|
int float128_lt( float128, float128 STATUS_PARAM );
|
||||||
char float128_eq_signaling( float128, float128 STATUS_PARAM );
|
int float128_eq_signaling( float128, float128 STATUS_PARAM );
|
||||||
char float128_le_quiet( float128, float128 STATUS_PARAM );
|
int float128_le_quiet( float128, float128 STATUS_PARAM );
|
||||||
char float128_lt_quiet( float128, float128 STATUS_PARAM );
|
int float128_lt_quiet( float128, float128 STATUS_PARAM );
|
||||||
char float128_is_signaling_nan( float128 );
|
int float128_is_signaling_nan( float128 );
|
||||||
|
|
||||||
INLINE float128 float128_abs(float128 a)
|
INLINE float128 float128_abs(float128 a)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue