diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..3997b26 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +CHilbert +======== + +This is an implementation of [Compact Hilbert +Indices](https://doi.org/10.1109/CISIS.2007.16), based on the original by Chris +Hamilton, but largely rewritten to improve and modernize the code: + + * Header-only C++ 14 library. + + * New bit vector types for avoiding dynamic allocation and/or using statically + known sizes, with more generic and standard interfaces. + + * Support for using simple integer types where possible. + + * Comprehensive unit test suite. + + * Cleaned up and refactored code for more clarity and maintainability. + +For simple applications that do not require very large or compacted indices, +the implementation of classic (non-compact) Hilbert Indices is also exposed. +Simple integer types are supported, so this library can also be used for basic +Hilbert Curve mapping with up to 64 dimensions without using the more +sophisticated data types. Two simple example programs are included to +demonstrate this: one that outputs an SVG file of a 2D Hilbert Curve, and +another that outputs an OBJ file of a 3D Hilbert Curve. + +This implementation derives from the one used in +[VOLAP](https://doi.org/10.1109/TPDS.2017.2743072) and [The Hilbert +PDC-tree](https://doi.org/10.1145/2938503.2938549). To avoid confusion with +the original implementation, this one is uniformly called `chilbert`. + + -- David Robillard <d@drobilla.net> + |