Commit Graph
29 Commits
Author SHA1 Message Date
Adrià 21a556f567 Merge pull request #12553 from JJenkx/codex/libc-unscaled-hex-parser-20261028
fix(libc): match unscaled hexadecimal Dinkumware conversion
2026-10-30 21:24:48 +01:00
Adrià 280bbad426 Merge pull request #12659 from JJenkx/codex/libc-scaled-nan-subject-20261028
fix(libc): parse scaled NaN subjects without numeric conversion
2026-10-30 13:45:37 +01:00
Adrià cc7e348334 Merge pull request #12524 from JJenkx/codex/libc-unscaled-hex-range-20261028
fix(libc): preserve errno for unscaled hexadecimal range results
2026-10-30 13:05:20 +01:00
JJenkx 58fddd82c6 fix: integrate current main into PR #12659 2026-10-29 23:20:02 -04:00
Adrià 76fd1c09e9 Merge pull request #11270 from AlexFigas/fix/libc-llog-dinkumware
fix(libc): compute _LLog with the bundled libc.prx's Dinkumware code
2026-10-30 01:40:35 +01:00
JJenkx 24d86650b0 fix(libc): retain hexadecimal coefficient expansion and word carries 2026-10-29 08:52:29 -04:00
JJenkx 81a1777ceb fix(libc): preserve hexadecimal coefficient precision boundaries 2026-10-29 08:52:29 -04:00
JJenkx 01eef3d3e6 fix(libc): scale hexadecimal values using the guest x87 mode 2026-10-29 08:52:29 -04:00
JJenkx 04fe64c2f6 fix(libc): decode unscaled hexadecimal Dinkumware fields 2026-10-29 08:52:28 -04:00
AdriàandClaude Sonnet 5.5 31b1ed651b fix(libc): keep debt list contiguous and sort test includes
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-29 08:52:07 -04:00
JJenkx 5571c7c299 fix(libc): preserve errno for unscaled hexadecimal range results 2026-10-29 08:52:07 -04:00
Alexandre Figueiredo 7b6c2e82ec fix(libc): compute _LLog with the bundled libc.prx's Dinkumware code 2026-10-29 10:12:06 +00:00
Adrià 0fd2f5aff1 test(libc): pin whitespace, plus sign and uppercase payload in scaled NaN subjects 2026-10-29 02:30:18 +01:00
JJenkx f7b1759879 fix(libc): parse scaled NaN subjects without numeric conversion 2026-10-28 20:13:03 -04:00
JJenkx 695f3b59ed test(libc): isolate floating-rounding regression from adjacent work 2026-10-28 15:30:25 -04:00
JJenkx 2d46185617 fix(libc): read x87 rounding in _Fltrounds 2026-10-28 15:26:53 -04:00
JJenkxandClaude Opus 5.5 79d65956a1 fix(libc): compute _Exp and _FExp as titles do
The libc.prx that titles ship evaluates the rational step as
((Q(z) + g*P(z)) + 1) / ((Q(z) - g*P(z)) + 1), with its own ln 2 split
and coefficients in the double case, and returns 1 only for arguments
within half an epsilon of zero. main used a different rational form
with a doubling step and an epsilon-wide shortcut, which left about one
result in five one ulp away from titles.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 13:18:32 -04:00
Disaster 35c38ce8d5 fix(libc): match measured _Exp and _FExp special values 2026-10-25 22:38:39 +03:00
Dean Galvin e890f802ed Merge branch 'main' into pr10786 2026-10-26 05:32:41 +13:00
Dean cdcbd55134 Merge pull request #10787 from 00xDisaster/feat/libc-dinkumware-divide
feat(libc): implement _Divide, _FDivide, _Recip and _FRecip
2026-10-26 00:36:31 +13:00
Disaster 72583a0b20 feat(libc): implement _Divide, _FDivide, _Recip and _FRecip 2026-10-25 04:20:44 +03:00
Disaster 878124772c feat(libc): implement _Exp and _FExp 2026-10-25 04:02:47 +03:00
Disaster 10c2a645a3 feat(libc): implement long-double Dinkumware helpers
Implement _LLog, _LDivide and _LRecip for the PS5 libc surface, with guest coverage for base dispatch, division and reciprocal semantics.
2026-10-25 02:41:03 +03:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
hypermistandClaude Opus 5.5 1ba909f580 fix(libc): keep errno for subnormal _Sto*x results
A nonzero subnormal result from _Stodx, _Stofx or _Stoldx sets neither
errno nor the error argument; only underflow to zero and overflow do.
_Stofx used to keep the ERANGE that strtof sets for an inexact
subnormal. Measured by running firmware 13.60's libSceLibcInternal.sprx
in a Linux host process, not on a console.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 05:57:13 +13:00
hypermist 6a23fe146a Merge remote-tracking branch 'origin/feat/libc-dinkumware-dispatchers' into feat/libc-dinkumware-conversions
# Conflicts:
#	core/libs/prx/libc/src/DinkumwareInternals.cpp
2026-10-21 12:10:40 +13:00
hypermistandClaude Opus 5.5 c5415e0845 fix(libc): rescale _Stod text that overflows before scaling
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 11:58:08 +13:00
hypermistandClaude Opus 5.5 f0bdc8d8d8 feat(libc): implement the Dinkumware _Sto*x conversions
_Stodx, _Stofx and _Stoldx scale the decimal exponent before rounding
and report a range error through their error argument; _Stof and _Stold
wrap them. _Stollx, _Stolx, _Stoulx and _Stoullx report strtoll and
strtoull errors through the same argument, and _Stoll now goes through
_Stollx as the firmware does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 00:52:24 +13:00
hypermistandClaude Opus 5.5 e2f37f7289 feat(libc): implement the Dinkumware _Stod, _Stoll, _Sin and _Log helpers
_Stod applies its power-of-ten scale to the decimal exponent before
rounding, _Stoll is strtoll, and _Sin, _FSin, _LSin, _Log and _FLog pick
the public function the firmware dispatches to.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 00:45:29 +13:00