diff options
Diffstat (limited to 'hilbert.h')
-rw-r--r-- | hilbert.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/hilbert.h b/hilbert.h new file mode 100644 index 0000000..4628ad6 --- /dev/null +++ b/hilbert.h @@ -0,0 +1,31 @@ +/********************************************************************* + * kd-forest * + * Copyright (C) 2015 Tavian Barnes <tavianator@tavianator.com> * + * * + * This program is free software. It comes without any warranty, to * + * the extent permitted by applicable law. You can redistribute it * + * and/or modify it under the terms of the Do What The Fuck You Want * + * To Public License, Version 2, as published by Sam Hocevar. See * + * the COPYING file or http://www.wtfpl.net/ for more details. * + *********************************************************************/ + +#ifndef HILBERT_H +#define HILBERT_H + +#include <stdint.h> + +/** + * Compute the point corresponding to the given (compact) Hilbert index. + * + * @param dimensions + * The number of spatial dimensions. + * @param extents + * The bit depth of each dimension. + * @param index + * The (compact) Hilbert index of the desired point. + * @param[out] point + * Will hold the point on the Hilbert curve at index. + */ +void hilbert_point(unsigned int dimensions, const unsigned int extents[], uint32_t index, uint32_t point[]); + +#endif // HILBERT_H |