Skip to content

<compare>: Improve floating-point spaceship CPO codegen - #1475

Merged
Stephan T. Lavavej (StephanTLavavej) merged 4 commits into
microsoft:masterfrom
statementreply:float_spaceship_cpo
Dec 1, 2020
Merged

Stephan T. Lavavej (StephanTLavavej) merged 4 commits into
microsoft:masterfrom
statementreply:float_spaceship_cpo

Conversation

@statementreply

Copy link
Copy Markdown
Contributor

Implements floating-point strong_order and weak_order without branching on the sign bit.

Also adds signaling NaN test cases, enabled on clang only (MSVC "quiets" signaling NaNs when constant evaluated).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this is a great improvement - I will push fixes for a couple of comment typos but everything else looks like crystalline perfection to me. 💎

Comment thread stl/inc/compare Outdated
Comment thread stl/inc/compare Outdated
@statementreply

Copy link
Copy Markdown
Contributor Author

Stephan T. Lavavej (@StephanTLavavej) I pushed fixes for comment typos after your approval.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a pretty cool change. I got to learn a couple of ones' complement tricks today.

@StephanTLavavej

Copy link
Copy Markdown
Member

Thanks for increasing the spaceship's speed - onward to Alpha Centauri! 🚀 🛸 🪐

@statementreply
statementreply deleted the float_spaceship_cpo branch April 17, 2021 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance Must go faster

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants