Skip to content
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

IEEE 754-2008 or IEEE 754-1985? #74

Closed
est31 opened this issue Jul 3, 2017 · 4 comments
Closed

IEEE 754-2008 or IEEE 754-1985? #74

est31 opened this issue Jul 3, 2017 · 4 comments
Labels
Question Request for comments about the direction of the reference

Comments

@est31
Copy link
Member

est31 commented Jul 3, 2017

Currently the reference says:

The IEEE 754-2008 binary32 and binary64 floating-point types: f32 and f64, respectively.

Now is it legal per the reference to port Rust to to platforms that don't implement IEEE 754-2008 but only IEEE 754-1985, and which can deviate in their floating implementation from IEEE 754-2008? Some MIPS platforms come to my mind that implement signaling NaNs differently.

@est31
Copy link
Member Author

est31 commented Jul 3, 2017

For context:

Maybe I should have filed on rust-lang/rust instead. But I'd prefer if the documentation was adjusted to IEEE 754-1985 than if Rust declared to be non portable to MIPS (and similar CPUs that don't implement IEEE 754-2008 either but implement IEEE 754-1985).

@est31
Copy link
Member Author

est31 commented Jul 3, 2017

Another interesting link (also about MIPS, not talking about the other CPUs): https://dmz-portal.imgtec.com/wiki/MIPS_ABI_-_NaN_Interlinking

@sunfishcode
Copy link
Member

IEEE 754-2008's sNaN encoding is a "should", not a "shall", so there's no hard requirement. I encourage Rust to reference the 2008 spec (and the 2018 spec once it's finalized).

@Havvy Havvy added the Question Request for comments about the direction of the reference label Sep 24, 2017
@Havvy
Copy link
Contributor

Havvy commented Sep 25, 2017

As I see no definitive proof that Rust is not a priori portable to MIPs nor that MIPs cannot impl the 2008 spec, and that the constexpr float libraries impl the 2008 spec, I don't think there's anything to actually change here?

I think the best place for these kinds of questions would be IRC, or on the internals forum should you want it on a linkable record or nobody is answering.

@Havvy Havvy closed this as completed Sep 25, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Question Request for comments about the direction of the reference
Projects
None yet
Development

No branches or pull requests

3 participants