Repository navigation
feat(libc): implement erf, erfc, and erfcf - #6157
Conversation
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
A title that needs this: Media Player Classic PS5 1.1 (PPSA99015), new in the homebrew catalog. On
The branch now conflicts with Linux (Ubuntu 24.04, GCC 13.3, Release), RTX 4070 Ti, NVIDIA 595.99. Not checked on Windows. AI-assisted: yes |
|
Media Player Classic PS5 (PPSA99015, v1.1) imports
Note: the branch now conflicts with AI-assisted: yes (Claude Code); results above were run on this machine. |
c20228e to
5509b6c
Compare
What
Statistical, probability, and physics shaders/guest runtimes utilize the Gauss error function and its complementary variant. While
erffwas previously available,erf,erfc, anderfcfwere missing fromlibc, resulting in unresolved dynamic symbol link failures during guest initialization.This PR implements:
erf(erf_nid_postfix)erfc(erfc_nid_postfix)erfcf(erfcf_nid_postfix)Implementation Details
std::erfandstd::erfcaccording to C99 and IEEE 754 specifications.core/libs/tests/GuestMath.cppvalidating zero signs (+0.0vs-0.0), asymptotic limits (x -> +/-inf), standard values (x = 0.5), and quiet NaN propagation for both single and double precision variants.Tested
core/libs/tests/GuestMath.cpp(guest_math).upstream/mainwith 0 conflicts (tree:d0201eff0530cb008cea33aad4de87110dc9fa58).python tools/check_conventions.py --base 584cc4c57:All conventions checks passed.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)Co-authored-by: Nawasfadili nawasfadili@users.noreply.github.com