-
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
Enable alternate projection onto space filling curve #646
Enable alternate projection onto space filling curve #646
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 am mostly OK with things in ArborX_DetailsTreeConstruction.hpp
. But in the BVH
interface, I'd rather use enum
s, unless you want to allow users to provide their own curves (and in that case, I'm not sure what the right operator()
interface is).
Have some issues with names, but that can be ironed out later.
0ce69da
to
abc0646
Compare
|
||
return LLONG_MIN + (i ^ (i + 1)); | ||
return x + (!x) * (min_value + (i ^ (i + 1))) - 1; |
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.
You accidentally introduced a subtlety here that one need to remember about. It is still correct, but now also depends on the fact that i ^ (i+1) > 0
. Otherwise, you would have subtracted -1 from min_value
.
Actually, I'm starting to dislike the whole x + !x
thing. I am not sure it benefits the performance anymore, and it looks complex. We could try to
auto const x = _sorted_morton_codes(i) ^ _sorted_morton_codes(i + 1);
if (x)
return x - 1;
return min_value + i ^ (i + 1);
Does not have to be a part of this PR, though.
85caef5
to
68c0b28
Compare
68c0b28
to
97692e6
Compare
I did a quick performance check on HACC using both DBSCAN and MST. The timings are identical to master, no performance regression. |
Per discussion on #637 enable using 32-bit Morton codes