Skip to content

Conversation

spendres
Copy link
Contributor

See issue #53.

This version relies on the bazel central repository for abseil-cpp, googletest, and boringssl and points to HEAD of s2geometry.

Copy link

google-cla bot commented Apr 28, 2024

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.

src/README.md Outdated
@@ -0,0 +1,42 @@

# S2 Geometry Library
Copy link
Member

Choose a reason for hiding this comment

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

This seems like a shortened version of https://github.com/google/s2geometry/blob/master/README.md
better to combine with that

Copy link
Contributor Author

Choose a reason for hiding this comment

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

7.0.0 for bzlmod

@spendres
Copy link
Contributor Author

spendres commented May 1, 2024

...logging.h was removed in most recent commit/push.

@spendres
Copy link
Contributor Author

spendres commented May 8, 2024

I tested build times for a hierarchical library definition as compared to a single flat library definition for s2. The flat definition builds twice as fast (12 sec vs 25 sec) about 25% of the time – using a mac M1. This is counter to expectations, so I reverted to the flat definition.

@spendres spendres requested a review from jmr May 8, 2024 17:15
@spendres
Copy link
Contributor Author

spendres commented Jun 1, 2024

Thanks for the requested changes by mmorel-35 … made and pushed.

@spendres spendres closed this Jun 1, 2024
@spendres spendres reopened this Jun 1, 2024
MBkkt and others added 3 commits June 21, 2024 15:35
* Replace S2Testing::Random, which was based on random(3), with
  new s2random:: namespace, based on abseil-cpp's random library.
  This removes the use of global state.
* Use int64_t instead of int64, etc.
* constexpr fixes
* Reworked S2ClosestEdgeQuery
* Replace S2Testing::Random, which was based on random(3), with
  new s2random:: namespace, based on abseil-cpp's random library.
  This removes the use of global state.
* Use int64_t instead of int64, etc.
* constexpr fixes
* Reworked S2ClosestEdgeQuery
* Remove some old SWIG workarounds.

Merge branch 'google3-update-2024-06-21' into update-2024-06-21
jmr and others added 5 commits June 24, 2024 08:18
This SWIG macro controls whether `int64_t` is `long long` or `long`.
Previously, this was defined for all 64-bit platforms.

MacOS and Windows use `long long` for `int64_t`, while Linux and most other
Unices use `long`.

This has only been tested with Linux, but conditional definitions like
this are what I'm finding in web searches.
* Replace S2Testing::Random, which was based on random(3), with
   new s2random:: namespace, based on abseil-cpp's random library.
   This removes the use of global state.
* Use int64_t instead of int64, etc.
* constexpr fixes
* Reworked S2ClosestEdgeQuery
* Remove some old SWIG workarounds.
PR #367 forgot to adjust a few types which are under the IS_BIG_ENDIAN define.
The code is structured like this:

```
class S2Polyline {

  class OwningShape {
      std::unique_ptr<S2Polyline> owned_polyline_;
  };
};
```

libcxx 16 complains that S2Polyline is not defined at the point where
the dtor of the unique_ptr is called (which is OwningShape's implicitly
declared default destructor in the same header file) (also see [0]).

As a remedy, declare OwningShape's destructor in the source file where
the full declaration of S2Polyline is visible.

[0] https://stackoverflow.com/a/34073093/22422288
@jmr jmr merged commit ca1f341 into google:master Sep 5, 2024
1 check passed
@jmr
Copy link
Member

jmr commented Sep 5, 2024

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants