Commit Graph
13 Commits
Author SHA1 Message Date
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