S2Geometry Library Release v0.2
Vijay Nayar
madric at gmail.com
Sat May 25 11:48:12 UTC 2019
Greetings everyone.
I wanted to announce here the v0.2 release of the S2 Geometry
Library in the D language. The DUB page should be updated to show
v0.2 shortly.
https://code.dlang.org/packages/s2geometry-d
What is it?
=============
The S2 Geometry library is an extremely high precision and
performant library for geometry on the surface of the Earth. It
is useful for dealing with areas, boundaries, lines, polygons,
etc. As a practical example, it can answer very quickly if
thousands of driving paths would pass through the arbitrary
boundaries of an airport and thus need to pay a toll.
It was originally created by Eric Veach and the library is used
in Google. I have converted this library in the D programming
language.
What's New?
=============
This release is now nearly feature complete with the C++ library.
Only encoding/decoding of geometric objects is missing.
What's in Store Next?
================
* More work is needed to improve performance further. The full D
test suite runs in 139 seconds while the C++ full test suite only
needs 112 seconds.
* Encoding/Decoding support for transmitting geometric objects in
binary form.
* Work on this library will slow down, as I plan to start using
it instead of writing it.
Why does this matter?
====================
Currently only C++ and D have this level of feature support,
which cannot be found in Java, Python, Go, Rust, or any other
languages today.
Part of the reason for this is that it's a very very very large
and complex project that makes use of a large set of C++ features.
---------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------
C++ 177 6082 12820 37378
C/C++ Header 164 6385 18691 21935
Python 1 35 24 188
CMake 1 0 0 16
---------------------------------------------------------------
SUM: 343 12502 31535 59517
---------------------------------------------------------------
D's philosophy of having a large tool-box makes this work doable
by a single person while other languages have spent many years
with many contributors.
More information about the Digitalmars-d-announce
mailing list