f1f9e2712881b035d65a6703cd46b2a53d9a3d57
If the magnitude of the expected result is small, then we can safely assume that the actual calculated result matches it to 10 decimal places. However, if the magnitude is very large, as it is for some of our exp() tests, then 10 decimal places represents an unrealistically high level of precision, for example 24 decimal digits for the test that is expected to return approximately 6.6e14. IEEE 754 floating point only has a precision of about 16 decimal digits, causing test failure on x86 compilers that use an i387 80-bit extended-precision register for the result and therefore get a slightly different answer. To avoid this, scale the required precision with the magnitude of the expected result, so that we accept a maximum error of either 10 decimal places or 1 part in 1e10, whichever is greater. [smcv: Added longer commit message explaining why we need this] (cherry picked from commit 880c69392ae10c726fc97f17b6e5e2173f70b62f)
Simple DirectMedia Layer (SDL) Version 3.0
Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve's award winning catalog and many Humble Bundle games.
More extensive documentation is available in the docs directory, starting with README.md. If you are migrating to SDL 3.0 from SDL 2.0, the changes are extensively documented in README-migration.md.
Enjoy!
Sam Lantinga (slouken@libsdl.org)
Description
Languages
C
86.3%
C++
6%
Objective-C
3.4%
CMake
1.6%
Perl
0.7%
Other
1.7%