-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for IEEE 754 NaN / infinity #53
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CandyGumdrop
force-pushed
the
unpack-ieee754
branch
2 times, most recently
from
August 15, 2019 16:43
af74d5f
to
96a994f
Compare
This enables unpacking of 32-bit and 64-bit floating-point NaN, +infinity and -infinity, to the values `:NaN`, `:inf` and `:"-inf"`, but does not support packing those atoms back into Messagepack floats.
CandyGumdrop
force-pushed
the
unpack-ieee754
branch
from
August 16, 2019 08:37
96a994f
to
c4ce70e
Compare
I just got bitten by this. Can we get this merged?
First byte 203 is definitely a valid format ;) |
qcam
reviewed
Dec 28, 2020
Co-authored-by: Cẩm Huỳnh <huynhquancam@gmail.com>
Co-authored-by: Cẩm Huỳnh <huynhquancam@gmail.com>
lexmag
approved these changes
Dec 28, 2020
qcam
approved these changes
Dec 28, 2020
@CandyGumdrop thank you! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This enables unpacking of 32-bit and 64-bit floating-point NaN, +infinity and -infinity, to the values
:NaN
,:inf
and:"-inf"
, but does not support packing those atoms back into Messagepack floats (as these atoms would otherwise be packed into strings and this could be considered a breaking change).I chose these atom values as there is a precedent in the mongodb library, but these could perhaps be changed to other values, such as
:nan
rather than:NaN
.None of this is really ideal since Erlang doesn't support NaN or infinity in floats, but this at least provides some handling of these values which are supported by Messagepack.