Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1034 → Rev 1035

//uspace/trunk/softfloat/generic/softfloat.c
480,5 → 480,8
float __powisf2(float a, int b)
{
/* TODO: */
float32 fa;
fa.binary = FLOAT32_NAN;
return fa.f;
}
 
//uspace/trunk/softfloat/generic/conversion.c
442,7 → 442,7
{
int counter;
int32_t exp;
int32_t j;
uint32_t j;
float32 result;
result.parts.sign = 0;
//uspace/trunk/softfloat/generic/comparison.c
32,32 → 32,32
inline int isFloat32NaN(float32 f)
{ /* NaN : exp = 0xff and nonzero fraction */
return ((f.parts.exp==0xFF)&&(f.parts.fraction));
};
}
 
inline int isFloat64NaN(float64 d)
{ /* NaN : exp = 0x7ff and nonzero fraction */
return ((d.parts.exp==0x7FF)&&(d.parts.fraction));
};
}
 
inline int isFloat32SigNaN(float32 f)
{ /* SigNaN : exp = 0xff fraction = 0xxxxx..x (binary), where at least one x is nonzero */
return ((f.parts.exp==0xFF)&&(f.parts.fraction<0x400000)&&(f.parts.fraction));
};
}
 
inline int isFloat64SigNaN(float64 d)
{ /* SigNaN : exp = 0x7ff fraction = 0xxxxx..x (binary), where at least one x is nonzero */
return ((d.parts.exp==0x7FF)&&(d.parts.fraction)&&(d.parts.fraction<0x8000000000000ll));
};
}
 
inline int isFloat32Infinity(float32 f)
{
return ((f.parts.exp==0xFF)&&(f.parts.fraction==0x0));
};
}
 
inline int isFloat64Infinity(float64 d)
{
return ((d.parts.exp==0x7FF)&&(d.parts.fraction==0x0));
};
}
 
inline int isFloat32Zero(float32 f)
{