Commit Graph

26 Commits

Author SHA1 Message Date
Tim Kientzle
1d23852f2c Float16 support only on Swift 5.3+ 2025-10-10 17:22:04 -07:00
Tim Kientzle
7b55ac3094 Remove availability restrictions from these internal functions
This is possible because this replaces
* `InlineArray` with `internal _InlineArray`
* `UInt128` with `internal _UInt128`

And the replacements are not availability-restricted.

We don't need to do the same thing with `MutableSpan`
because that back-deploys to Swift 5.0, which is as
far back as the stdlib builds anyway.
2025-10-10 14:07:44 -07:00
Tim Kientzle
f0679b363e Re-apply PR #82750: Reimplement floating-point description implementation in Swift.
This reverts PR #84576, which was a revert of PR #82750
It reverts commit 4ac18aa32e, reversing
changes made to b46eddbabd.
2025-10-07 07:11:57 -07:00
Tim Kientzle
7d85d75f78 Revert "Merge pull request #82750 from tbkka/tbkka-swift-floatingpointtostring"
This reverts commit 54627fb49b, reversing
changes made to dda4608a84.
2025-09-29 15:13:19 -07:00
Tim Kientzle
b761d8f743 Another try at fixing the ABI change 2025-09-24 09:37:50 -07:00
Tim Kientzle
9635ef51c5 Try to fix up availability of legacy shim functions 2025-09-24 07:29:56 -07:00
Tim Kientzle
f8d9b52e7d another attempt at fixing the float16 ABI break 2025-09-23 15:11:38 -07:00
Tim Kientzle
7a4bd46d4c Adjust availability checks for float16 2025-09-23 08:07:04 -07:00
Tim Kientzle
a337e727ab Try to fix up the availability of the Swift and C projections of the legacy ABI 2025-09-22 12:40:12 -07:00
Tim Kientzle
e943878f9a Prefill the work buffer with '0' characters
For example, this avoids the need to do any explicit byte-by-byte
writes when expanding "123" out to "123000000.0".

This also required reworking the "back out extra digits" process
for Float64 to ensure the unused digits get written as '0' characters
instead of null bytes.
2025-09-22 12:40:12 -07:00
Tim Kientzle
1a3a40003c Minor safety and performance tweaks 2025-09-22 12:40:11 -07:00
Tim Kientzle
ae75afbb88 Try to fix a crash only seen so far on WASI32 2025-09-22 12:40:11 -07:00
Tim Kientzle
31930123e5 Remove extra semicolons 2025-09-22 12:40:11 -07:00
Tim Kientzle
acd43ad355 Fix Float32 formatting on 32-bit architectures 2025-09-22 12:40:11 -07:00
Tim Kientzle
a6fd1aa955 Fix build when Int is 16 bits 2025-09-22 12:40:11 -07:00
Tim Kientzle
2bf38bf578 Remove a layer of indirection 2025-09-22 12:40:11 -07:00
Tim Kientzle
de7c280e9c Try to match stdlib coding conventions 2025-09-22 12:40:10 -07:00
Tim Kientzle
cf552ea9ce Match up conditional for Float80 support 2025-09-22 12:40:10 -07:00
Tim Kientzle
8e40ac8568 Fix availability 2025-09-22 12:40:10 -07:00
Tim Kientzle
d9907324a1 Comment updates 2025-09-22 12:40:09 -07:00
Tim Kientzle
e3990c6085 Float80 performance 2025-09-22 12:40:09 -07:00
Tim Kientzle
7be098f839 Initial Float80 support + some general reorganization and commenting 2025-09-22 12:40:09 -07:00
Tim Kientzle
175e1d78b3 Float32/64 safety improvements 2025-09-22 12:40:09 -07:00
Tim Kientzle
b50a2e6ead Float16 tweaks: balancing safety and performance 2025-09-22 12:40:09 -07:00
Tim Kientzle
070fd6006e Add Float16 support to the Swift implementation 2025-09-22 12:40:08 -07:00
Tim Kientzle
4cf03a47bc Reimplement floating-point description implementation in Swift.
Note:  This is still incomplete.  I need to finish porting the Float16
and Float80 support before it can fully replace the existing
C implementation.
2025-09-22 12:40:08 -07:00