Implement a simple NaN propagation scheme that still supports NaN boxing.#716
Merged
Implement a simple NaN propagation scheme that still supports NaN boxing.#716
Conversation
…ing. This achieves simplicity by dropping the goal of minimizing nondeterminism in the resulting NaN bits. In this proposal, NaN bits are as nondeterministic as they can be, while still supporting IEEE 754 and the basic NaN boxing use case.
Contributor
|
I like this PR better than #713. |
Member
|
looks good |
gahaas
added a commit
to gahaas/design
that referenced
this pull request
Aug 19, 2016
This PR makes the handling of NaNs in the promotion/demotion of floats more consistent to the handling of NaNs in arithmetic operations. Similar to WebAssembly#716, this PR requires that canonical NaNs have to be preserved by promotion/demotion. whereas the promotion/demotion of non-canonical NaNs can result in an arbitrary quiet NaN.
gahaas
added a commit
that referenced
this pull request
Aug 23, 2016
This PR makes the handling of NaNs in the promotion/demotion of floats more consistent to the handling of NaNs in arithmetic operations. Similar to #716, this PR requires that canonical NaNs have to be preserved by promotion/demotion, whereas the promotion/demotion of non-canonical NaNs can result in an arbitrary quiet NaN.
gahaas
added a commit
to gahaas/spec
that referenced
this pull request
Nov 10, 2016
gahaas
added a commit
to WebAssembly/spec
that referenced
this pull request
Nov 22, 2016
Exact nan-pattern tests got obsolete with WebAssembly/design#716 (#381)
raoxiaojia
pushed a commit
to WasmCert/spec
that referenced
this pull request
Apr 29, 2025
Exact nan-pattern tests got obsolete with WebAssembly/design#716 (WebAssembly#381)
This file contains hidden or 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
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 is an alternative to #713 which is simpler and should support the widest possible range of theoretical hardware while still following IEEE 754 rules and supporting the basic NaN boxing use case, at the cost of having more nondeterminism in the NaN bits.
At most one of these two PRs should be merged.