Takatoshi Kondo
Takatoshi Kondo
Thank you for reporting the issue. I got confused. The code seems that C not C++. But your link to Root cause is C++ code. Now C and C++ are...
I study about signaling/quiet NaN. Now I understand the issue. It is common in C and C++. I consider fixing the issue with minimal code change. This code demonstrates the...
I ran my poc code on windows/msvc2019. Here is the result: ``` has check float has_quiet_NaN :1 float has_signaling_NaN :1 double has_quiet_NaN :1 double has_signaling_NaN :1 float quiet/signaling check is_quiet_nan(fqn)...
Perhaps msgpack-c could have a database of double/float signaling/quiet NaN bit representation on common operating systems, like Linux, macosx, Windows. If they doesn't have conflicts, then unpack function could treat...
I testes on msvc2022 too. Then got the same result as msvc2019. I found a document: https://learn.microsoft.com/en-us/cpp/build/ieee-floating-point-representation?view=msvc-170#nan---not-a-number > **Quiet NaNs have a leading one in the significand**, and get propagated...
I wrote a PR to fix this issue on C++. Then some of CI doesn't pass. They are 32bit built using `-m32` option. So I've checked the behavior using godbolt....
https://en.wikipedia.org/wiki/IEEE_754#2019 > ### Binary > ... > For NaNs, quiet NaNs and signaling NaNs are distinguished by using the most significant bit of the trailing significand field exclusively,[[d]](https://en.wikipedia.org/wiki/IEEE_754#cite_note-21) and the...
I checked signal using fetestexcept. signaling NaN with floating operation results: Compiler | arch | float | double | godbolt ---|---|---|---|--- clang++|64|raised|raised|https://godbolt.org/z/nP697jvTG clang++|32|not raised|not raised|https://godbolt.org/z/hhs56dnnz g++|64|raised|raised|https://godbolt.org/z/x18svh5Yr g++|32|not raised|not raised|https://godbolt.org/z/384YddYqn arch...
Thank you for your response. I'm currently using indexmap. - https://docs.rs/indexmap/latest/indexmap/ - https://github.com/indexmap-rs/indexmap However, having **multiple** indexes along with insertion order would clearly be much more powerful and useful.
Thank you for the quick response. I can use `std::recursive_mutex` for multi-threading sml code. It satisfies my purpose, so far. Anyway I will wait update :)