-
Notifications
You must be signed in to change notification settings - Fork 784
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
Faster f64 equality #3060
Faster f64 equality #3060
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I verified that this works for f64::NAN too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't the same apply for is_ne
?
Benchmark runs are scheduled for baseline = 8d75101 and contender = 6b3a0a2. 6b3a0a2 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
Is this correct? I don't think this is valid for |
@mbrobbel This crate follows the totalOrder predicate as defined in the IEEE 754 (2008 revision) floating point standard, which is different from the default PartialOrd and PartialEq implementations provided by Rust for floating point numbers. Instead using https://doc.rust-lang.org/std/primitive.f32.html#method.total_cmp |
Which issue does this PR close?
Closes #.
Rationale for this change
LLVM isn't smart enough to work out that this is just a bitwise equality, so give it a hand - https://rust.godbolt.org/z/347nWGxoW
What changes are included in this PR?
Are there any user-facing changes?