Repository navigation
Conversation
72a4c94 to
2941f45
Compare
2941f45 to
c5107d5
Compare
|
No title reaches |
Harvested from upstream (closed unmerged); library completion 2823/3225 -> 2827/3229. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011krDVCnnMQPaEFEqCDnKmA
Additional fminf startup target, implementation not yet tested (2026-10-11, e22af77)Controlled Windows loader evidence for this PR's All10 runs Found existing unmerged implementations #1770 (c5107d5, host std::fmin/std::fmax wrappers) and #2280 (bdf94e0, explicit bit/NaN/signed-zero numeric helpers). Neither has been built or behavior-tested by us yet. Next validation should compare finite/NaN/signed-zero and FP exception behavior against the declared primary source, then replay before/after. This comment establishes a reproducible missing-import target, not approval of either implementation. No new PR; AI-assisted validation: Codex. Independent min/max tests and host differences (2026-10-11, maina73)Follow-up: the original #1770 production patch applies to newer main
Examples: Linux Oracle: pinned FreeBSD11.4 Existing #2280's explicit NaN/zero logic is a useful alternative: its original production file and complete original fixture (Git blobs verified) pass five native Linux runs; its four min/max functions pass the extended probe5/5. A focused adaptation of those four functions into existing Math/GuestMath files now passes Windows guest_math/native probes5/5 and Linux native production probes5/5; all six deliberately broken variants are caught (NaN selection,zero ordering,infinity classification,new invalid,cleared existing flags,constant result). Linux guest errno/full system runtime not tested; Windows actual guest errno is checked. These observations explain gaps in #1770's current coverage; they do not demonstrate a PS5/title behavior failure. Full Windows build/runtime suite and controlled title replay are pending. Credit: #1770 original topic, #2280 exact bit-selection helper logic; AI-assisted adaptation/tests/report: Codex. No new PR. Fork fix, full Windows builds and controlled startup limitation (2026-10-11, a73)The focused four-export adaptation is now available on our fork: 59c6d5e, based on main Windows/WinLibs GCC15.2 r7/Release, bundled dependencies, SPIRV-Tools disabled, RTX5080 explicitly selected, Vulkan/MSAA required, no shader cache: full build and all122 configured system libraries succeed. Full ctest Control: replacing only Math.cpp with exact unmodified a73 source and rebuilding native libc, with the same test executables/other libraries, still fails windows_exceptions ( PPSA99902 title validation on the newer whole runtime is inconclusive for math progress: one no-minmax control and five minmax runs all fail at missing Completed controlled title comparison: guest entry reached (2026-10-11, 5cd5ea)The earlier prerequisite limitation is resolved on fork integration5cd5ea, current-main basea73 + focused math59c6d5e + locale + previously validated throwing temperatures/link/symlink/pathconf/truncate and #1912 pthread-attribute proposal/query-scope correction. No older pending graphics or signal changes carried; no new PR. The focused standalone math commit remains 59c6d5e. Controlled PPSA99902 comparison: two frozen122-library sets differ only in libc.prx; same other121 libraries, same f609 production-relinker executable (SHA256920f13ce...) and freshly converted guest libc (994a5ab8...), default filtering. Control Math.cpp is exact unmodifieda73 source while retaining the locale overlay and all integration prerequisites.
Final integration full build/all122 libraries pass; ctest824 tests: 812 passed,5 skipped,7 failed (windows_exceptions,depth_fast_clear_submit,flat_apertures0/2/3/4/5). Eight relevant groups pass5repeats each. Existing failures remain reported on #3411/#3291; Ampr passes this run. This is a conditional integration result, not startup on unmodified main, proof that each math function executes, or PS5 NaN-payload equivalence. No presented frames/gameplay verified. The earlier filtered-stack progress depended on a subsequently removed guest-libc zero-return fallback; this new comparison uses the guarded production f609 conversion and no such bypass. Original ELF c34f5b08... and guest module cbcf7024... unchanged; exact123-file runtime baseline and saved guest libc restored/hash-verified after all runs. Experimental and focused branches pushed only to our fork; remote commit/changed Git blobs verified. AI-assisted validation/report: Codex. |
What
Add the missing
fmin,fmax,fminf, andfmaxfexports with C floating-point NaN-selection semantics. Cover finite ordering, one and two NaN operands, and infinities.Tested
Linux: built
libcandguest_math_tests;ctest --test-dir build -R ^guest_math$ --output-on-failurepassed.python3 tools/check_conventions.py --base upstream/mainpassed. Windows and PS5 hardware not tested.Checklist
main; no other open PR implements these functions