Date: Wed, 26 Nov 2025 12:46:36 +0000
On Tue, 25 Nov 2025 at 18:12, Paul Caprioli via Std-Proposals <
std-proposals_at_[hidden]> wrote:
> > https://isocpp.org/files/papers/D3935R0.html
>
> In section 2.1.1 above, there is "we don't consider std::float32_t to be
> C23's _Float32"
> Is this correct?
>
> https://eel.is/c++draft/basic.extended.fp#7 recommends _Float32 as an
> additional name for float32_t
>
If the implementation does define _Float32 as the underlying type of
std::float32_t, it needs to make that type follow the C++ rules. For
example, converting std::float64_t to _Float32 is a narrowing conversion,
which is not the case in C. So the underlying type of std::float32_t (by
any name) is never a type with exactly the same semantics as _Float32 in C.
> It's not the same as float, even if float is IEEE binary32.
>
>
std-proposals_at_[hidden]> wrote:
> > https://isocpp.org/files/papers/D3935R0.html
>
> In section 2.1.1 above, there is "we don't consider std::float32_t to be
> C23's _Float32"
> Is this correct?
>
> https://eel.is/c++draft/basic.extended.fp#7 recommends _Float32 as an
> additional name for float32_t
>
If the implementation does define _Float32 as the underlying type of
std::float32_t, it needs to make that type follow the C++ rules. For
example, converting std::float64_t to _Float32 is a narrowing conversion,
which is not the case in C. So the underlying type of std::float32_t (by
any name) is never a type with exactly the same semantics as _Float32 in C.
> It's not the same as float, even if float is IEEE binary32.
>
>
Received on 2025-11-26 12:46:57
