-
Notifications
You must be signed in to change notification settings - Fork 190
cell_index: Add IntersectingLabels and VisitIntersectingCells #98
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
base: master
Are you sure you want to change the base?
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
|
@jmr what else is necessary to make this mergeable? Do you want me to review? |
| rangeIter.Begin() | ||
|
|
||
| for ok := true; ok; ok = pos != len(target) { | ||
| if rangeIter.LimitID() <= target[pos].RangeMin() { |
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.
In C++ this was if rangeIter.LimitID() <= rangeIter.RangeMin() { is there a reason it's not like that here?
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.
In C++ it was range.limit_id() <= it->range_min() where it is an iterator derived from target. Because there's no iterator I manually iterate over the cell ids.
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.
| id = id.ChildBegin() | ||
| } | ||
| } | ||
| target.Normalize() |
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.
The call to Normalize wasn't in the C++. Does removing this change the test outcomes?
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.
Removing target.Normalize() fails the test. I can't remember why anymore (my bad, left this open for too long).
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 think this is because S2CellUnion is a class in C++ and its constructor calls Normalize().
a9a4c91 to
a9cb858
Compare
| sort.Slice(b, func(i, j int) bool { | ||
| return b[i].less(b[j]) | ||
| }) | ||
| return reflect.DeepEqual(a, b) |
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.
parent doesn't need to be equal and checked. (See LabelledCell in C++)
Adds the methods
IntersectingLabelsandVisitIntersectingCellsas well as the testing.