mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-05 09:14:03 +00:00
Fix a missing mask in a hi+lo decomposition. Thus bug made the extra
precision in software useless, so hypotf() had some errors in the 1-2 ulp range unless there is extra precision in hardware (as happens on i386).
This commit is contained in:
parent
4f49091fda
commit
f94997c8d7
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=177746
@ -72,7 +72,7 @@ __ieee754_hypotf(float x, float y)
|
||||
a = a+a;
|
||||
SET_FLOAT_WORD(y1,hb&0xfffff000);
|
||||
y2 = b - y1;
|
||||
SET_FLOAT_WORD(t1,ha+0x00800000);
|
||||
SET_FLOAT_WORD(t1,(ha+0x00800000)&0xfffff000);
|
||||
t2 = a - t1;
|
||||
w = __ieee754_sqrtf(t1*y1-(w*(-w)-(t1*y2+t2*b)));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user