-
-
Notifications
You must be signed in to change notification settings - Fork 234
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix rounding of some x87 instructions #951
Conversation
Why are setting the round mode for each float operation? what software requires that? For example, I don't expact any software to relly on the rounding mode for an Addition between 2 float numbers. |
Touhou 12.3 Hisoutensoku requires it. Its netplay dependents of the accuracy of computing (mainly the four basic math operations) and converting of float. Even the tiny difference caused by a different rounding mode can lead to desynchronization in netplay. |
I see. Well, all those set/unset of the rounding will slow down stuff for many games that don't need it. Can you put this new code behind |
yes of course |
They should work in Android build
done |
Oops messages of all these commits were included in the 35ea6fd. Is this ok? |
Yeah, I that's fine |
The rounding is not very precise, because of the implement of math functions of gibc. It should be better than nothing though.
Trigonometric instructions (
FSIN
,FCOS
,FSINCOS
andFPTAN
) still use the default rounding mode, forsin
,cos
andtan
of glibc don't follow the current rounding mode.