Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 698 → Rev 697

/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,7 → 110,6
da.d = a;
return convertFloat64ToFloat32(da).f;
}
 
/* Comparison functions */
 
/* a<b .. -1
144,7 → 143,7
fa.f=a;
fb.f=b;
return ((isFloat32NaN(fa))||(isFloat32NaN(fb)));
}
};
 
/**
* @return zero, if neither argument is a NaN and are equal
159,13 → 158,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)
245,18 → 244,3
 
/* 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:
}