dolphin/Source/Core
Geotale 2f45391ca5 Improve Integer Rounding Accuracy
Changes integer rounding to more closely meet the documentation
The documentation explains to round before doing any bounds checks
All this really does is make sure some exception bits won't be set wrong
This depends on the rounding mode, fixing cases such as:
- Round to even, (0x7fffffff, 0x7fffffff.8)
- Round to down, (0x7fffffff, 0x80000000)

This change also uses some standard functions for rounding
Previously using them was casting to an s32 directly, now keeps the f64
RoundToIntegerMode introduced due to roundeven not being part of C++17

Finally, it can change a >0x7fffffff to >=0x80000000, done because:
- It looks nicer now with integers (I liked 0s)
- It gives ever so slightly better codegen on Aarch64

Co-Authored-By: JosJuice <josjuice@gmail.com>
2024-09-03 11:17:24 -05:00
..
AudioCommon Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
Common Merge pull request #12957 from Dentomologist/adjust_include_order_and_spacing 2024-08-07 03:27:23 +01:00
Core Improve Integer Rounding Accuracy 2024-09-03 11:17:24 -05:00
DiscIO Use C++20 erase_if() instead of erase(remove_if()) (NFC) 2024-07-21 16:36:06 +01:00
DolphinNoGUI Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
DolphinQt Merge pull request #12947 from Dentomologist/qtutils_clearlayoutrecursively_fix_potential_crash 2024-08-07 03:29:52 +01:00
DolphinTool DolphinTool: list filesystem recursively 2024-07-21 19:16:00 +01:00
InputCommon Merge pull request #12961 from JosJuice/expression-parser-translation 2024-08-07 03:28:48 +01:00
MacUpdater MacUpdater: Don't set bundle name via a CMake variable 2024-07-29 12:17:08 -04:00
UICommon AchievementManager: Cache Badges on Disk 2024-07-04 22:12:28 +02:00
UpdaterCommon CMake: Use targets for all optionally-external dependencies 2023-06-15 01:41:41 -05:00
VideoBackends Properly link against xxhash 2024-07-06 16:56:44 -05:00
VideoCommon Adjust order and spacing of various #includes 2024-07-26 14:28:34 -07:00
WinUpdater StringUtil: Move CommandLineToUtf8Argv() into Common namespace 2023-05-16 14:23:21 -04:00
CMakeLists.txt CMakeLists: Add option to disable automatic update support 2022-03-18 03:04:51 -04:00
DolphinLib.ARM64.props msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
DolphinLib.props Cached Interpreter 2.0 2024-07-23 14:06:21 -07:00
DolphinLib.vcxproj Externals: Convert minizip-ng To Submodule 2024-05-03 12:43:33 -07:00
DolphinLib.vcxproj.user msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
DolphinLib.x64.props Move x64 DSP JIT into DolphinLib.x64.props 2023-01-06 22:42:21 -08:00