A C++11 header-only library for Nearest Neighbor (NN) search with KD-trees
Usage
Make sure to add the stable section of the cppget.org
repository to your project's repositories.manifest
to be able to fetch the package.
:
role: prerequisite
location: https://pkg.cppget.org/1/stable
# trust: ...
If the stable section of cppget.org
is not an option then add this Git repository itself instead as a prerequisite.
:
role: prerequisite
location: https://github.com/build2-packaging/nanoflann.git
Add the respective dependency in your project's manifest
file to make the package available for import.
version | 1.3.2 |
---|---|
license | BSD-2-Clause |
repository | https://pkg.cppget.org/1/stable |
download | nanoflann-1.3.2.tar.gz |
sha256 | cc1c55bf77a93ea6c09ef443d78a0fe373928f523ff50f96aaf26b8d9f049f32 |
project | nanoflann |
---|---|
url | github.com/jlblancoc/nanoflann |
doc-url | jlblancoc.github.io/nanoflann/ |
package-url | github.com/build2-packaging/nanoflann/ |
joseluisblancoc@gmail.com | |
package-email | packaging@build2.org |
Tests
nanoflann-tests == 1.3.2 |
Examples
nanoflann-examples == 1.3.2 |
Builds
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-clang_14.0-static_O3 |
timestamp | 2024-05-08 17:01:23 UTC (08:39:02 hours ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-clang_14.0-O3 |
timestamp | 2024-05-08 17:00:47 UTC (08:39:39 hours ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-clang_14.0 |
timestamp | 2024-05-08 16:59:07 UTC (08:41:19 hours ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_fedora_37-gcc_12.2-bindist |
timestamp | 2024-05-07 11:59:24 UTC (01 13:41:02 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-clang_15.0-static_O3 |
timestamp | 2024-05-07 07:00:40 UTC (01 18:39:46 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-clang_15.0-O3 |
timestamp | 2024-05-07 06:58:03 UTC (01 18:42:23 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-clang_15.0 |
timestamp | 2024-05-07 06:54:44 UTC (01 18:45:42 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-clang_16_libc++ |
timestamp | 2024-05-06 15:59:35 UTC (02 09:40:51 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-clang_16_libc++-static_O3 |
timestamp | 2024-05-06 15:58:10 UTC (02 09:42:16 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-clang_16_libc++-O3 |
timestamp | 2024-05-06 15:53:53 UTC (02 09:46:33 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-clang_16 |
timestamp | 2024-05-06 15:42:51 UTC (02 09:57:34 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-clang_16-static_O3 |
timestamp | 2024-05-06 15:42:34 UTC (02 09:57:52 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-clang_16-O3 |
timestamp | 2024-05-06 15:41:20 UTC (02 09:59:06 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-gcc_13.1 |
timestamp | 2024-05-06 14:54:49 UTC (02 10:45:37 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-clang_16.0_libc++-static_O3 |
timestamp | 2024-05-06 14:43:54 UTC (02 10:56:31 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-clang_16.0_libc++-O3 |
timestamp | 2024-05-06 14:43:24 UTC (02 10:57:02 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-clang_16.0-O3 |
timestamp | 2024-05-06 14:42:37 UTC (02 10:57:49 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-clang_16.0 |
timestamp | 2024-05-06 14:42:20 UTC (02 10:58:06 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-clang_16.0-static_O3 |
timestamp | 2024-05-06 14:41:58 UTC (02 10:58:28 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-freebsd13.2 |
tgt config | freebsd_13-clang_14.0 |
timestamp | 2024-05-06 14:33:33 UTC (02 11:06:53 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-clang_15.0_libc++ |
timestamp | 2024-05-06 14:32:50 UTC (02 11:07:36 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-freebsd13.2 |
tgt config | freebsd_13-clang_14.0-O3 |
timestamp | 2024-05-06 14:32:29 UTC (02 11:07:57 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-freebsd13.2 |
tgt config | freebsd_13-clang_14.0-static_O3 |
timestamp | 2024-05-06 14:31:18 UTC (02 11:09:08 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-clang_15.0 |
timestamp | 2024-05-06 14:31:04 UTC (02 11:09:22 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-freebsd12.4 |
tgt config | freebsd_12-clang_13.0 |
timestamp | 2024-05-06 14:27:09 UTC (02 11:13:17 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_11-gcc_12.1 |
timestamp | 2024-05-06 14:24:54 UTC (02 11:15:32 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-clang_16.0_libc++ |
timestamp | 2024-05-06 14:19:27 UTC (02 11:20:58 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-clang_15 |
timestamp | 2024-05-06 13:38:31 UTC (02 12:01:55 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-clang_15_libc++ |
timestamp | 2024-05-06 13:37:58 UTC (02 12:02:28 days ago) |
result | success | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-gcc_13_homebrew-static_O3 |
timestamp | 2024-05-06 13:10:28 UTC (02 12:29:58 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-gcc_13_homebrew-O3 |
timestamp | 2024-05-06 13:09:44 UTC (02 12:30:42 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-microsoft-win32-msvc14.3 |
tgt config | windows_10-clang_16.0_llvm_msvc_17.6-static_O2 |
timestamp | 2024-05-06 13:08:25 UTC (02 12:32:01 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-microsoft-win32-msvc14.3 |
tgt config | windows_10-clang_16.0_llvm_msvc_17.6 |
timestamp | 2024-05-06 13:08:11 UTC (02 12:32:15 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-microsoft-win32-msvc14.3 |
tgt config | windows_10-clang_16.0_llvm_msvc_17.6-O2 |
timestamp | 2024-05-06 13:07:51 UTC (02 12:32:35 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-w64-mingw32 |
tgt config | windows_10-gcc_12.2_mingw_w64 |
timestamp | 2024-05-06 12:12:38 UTC (02 13:27:47 days ago) |
result | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-w64-mingw32 |
tgt config | windows_10-gcc_12.2_mingw_w64-static_O2 |
timestamp | 2024-05-06 12:11:21 UTC (02 13:29:05 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_fedora_38-gcc_13-bindist |
timestamp | 2024-05-06 12:09:51 UTC (02 13:30:34 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-gcc_13.1-O3 |
timestamp | 2024-05-06 12:05:01 UTC (02 13:35:25 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-gcc_13.1-static_O3 |
timestamp | 2024-05-06 12:04:43 UTC (02 13:35:43 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-gcc_13.1-ndebug_O3 |
timestamp | 2024-05-06 12:04:18 UTC (02 13:36:08 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-microsoft-win32-msvc14.3 |
tgt config | windows_10-msvc_17.6-O2 |
timestamp | 2024-05-06 11:59:50 UTC (02 13:40:36 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-linux-gnu |
tgt config | linux_debian_12-gcc_12-bindist |
timestamp | 2024-05-06 11:59:15 UTC (02 13:41:10 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-microsoft-win32-msvc14.3 |
tgt config | windows_10-msvc_17.6-static_O2 |
timestamp | 2024-05-06 11:59:10 UTC (02 13:41:16 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-microsoft-win32-msvc14.3 |
tgt config | windows_10-msvc_17.6 |
timestamp | 2024-05-06 11:58:07 UTC (02 13:42:19 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-microsoft-win32-msvc14.3 |
tgt config | windows_10-clang_15.0_msvc_msvc_17.6 |
timestamp | 2024-05-06 11:58:06 UTC (02 13:42:20 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-apple-darwin22.5.0 |
tgt config | macos_13-gcc_13_homebrew |
timestamp | 2024-05-06 11:58:04 UTC (02 13:42:22 days ago) |
result | error (test) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-microsoft-win32-msvc14.3 |
tgt config | windows_10-msvc_17.5 |
timestamp | 2024-05-06 11:57:11 UTC (02 13:43:15 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-gcc_13-static_O3 |
timestamp | 2024-05-06 11:19:31 UTC (02 14:20:54 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-gcc_13 |
timestamp | 2024-05-06 11:19:00 UTC (02 14:21:26 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-gcc_13-ndebug_O3 |
timestamp | 2024-05-06 11:18:27 UTC (02 14:21:58 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_12-gcc_13-O3 |
timestamp | 2024-05-06 11:17:46 UTC (02 14:22:40 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | aarch64-linux-gnu |
tgt config | linux_debian_11-gcc_12 |
timestamp | 2024-05-06 10:56:49 UTC (02 14:43:37 days ago) |
result | warning (test) | warning (test-installed) | log | rebuild |
toolchain | public-0.16.0 |
---|---|
target | x86_64-w64-mingw32 |
tgt config | windows_10-gcc_12.2_mingw_w64-O2 |
timestamp | 2024-05-06 10:49:24 UTC (02 14:51:02 days ago) |
result | warning (test) | error (test-installed) | log | rebuild |
Changes
nanoflann 1.3.2: Released Nov 5, 2020
- Add optional argument for Eigen matrix layout commit.
- Throw exception on malloc failure PR #126.
- Respect GNUInstallDirs in CMake install rules PR #131.
nanoflann 1.3.1: Released Oct 11, 2019
- Fixed bug in KDTreeSingleIndexDynamicAdaptor. See: https://github.com/jlblancoc/nanoflann/commit/a066148517d16c173954dcde13c1527481b9fad3
- Fix build in XCode.
- Simplify CMakeLists for Eigen example (requires Eigen3Config.cmake now)
- Avoid setting cmake global executable build path
nanoflann 1.3.0: Released Aug 28, 2018
- Instructions for
make install
for Linux and Windows (Closes #87). - Fix all (?) MSVC conversion warnings (Closes: #95).
- Avoid need for _USE_MATH_DEFINES in MSVC (Closes: #96)
- Eigen::Matrix datasets: now uses std::cref() to store a reference to matrix.
- GSOC2017 contributions by Pranjal Kumar Rai:
- Support for dynamic datasets.
- Support for non-Euclidean spaces: SO(2), SO(3)
nanoflann 1.2.3: Released Dec 20, 2016
- Fixed: split plane now correctly chooses the dimensions with the largest span. Should lead to more optimal trees.
nanoflann 1.2.2: Released Nov 10, 2016
- knnSearch() now also returns the number of valid points found.
nanoflann 1.2.1: Released Jun 1, 2016
- Fix potential compiler warnings if
IndexType
is signed. - New unit tests comparing the results to those of brute force search.
nanoflann 1.2.0: Released May 5, 2016
- Fixed: many classes constructors get const ref arguments but stored const values.
nanoflann 1.1.9: Released Oct 2, 2015
- Added KDTreeSingleIndexAdaptor::radiusSearchCustomCallback() (Based on a suggestion by Yannick Morin-Rivest)
- Better documentation in class headers.
- Cleanup of unused code.
- Parameter KDTreeSingleIndexAdaptorParams::dim has been removed since it was redundant.
nanoflann 1.1.8: Released May 2, 2014
- Created hidden constructors in nanoflann class, to disallow unintentional copies which will corrupt the internal pointers.
- Fixed crash if trying to build an index of an empty dataset.
nanoflann 1.1.7: Released Aug 24, 2013
- Two internal containers are now automatically defined as fixed-size arrays if the problem dimension is known at compile time, improving efficiency. The new/modified datatypes are: KDTreeSingleIndexAdaptor::BoundingBox, KDTreeSingleIndexAdaptor::distance_vector_t
- Fixed compilation with GCC 4.8 and C++11 enabled (Thanks to Simon Praetorius).
nanoflann 1.1.6: Released May 14, 2013
- Fixed warnings about unused parameters.
- Fixed L1_adaptor.accum_dist(), which implemented L2 instead (Closes #1)
- Fixed wrong typedef in KDTreeEigenMatrixAdaptor<> for IndexType!=size_t (Closes: #2)
nanoflann 1.1.5: Released Mar 25, 2013
- Fixed: Memory pool wasn't freed after each call to buildIndex()
- GCC: Added -isystem flag to gtest headers to avoid pedantic warnings.
nanoflann 1.1.4: Released Jan 11, 2013
- Fixed compilation with Visual Studio 11 (MSVC 2012).
- Fixed compilation of gtest with VS11 and its _VARIADIC_MAX "bug".
- Added a security check to launch an exception if searches are attempted before buildIndex().
- New example to demonstrate save/load the index to files.
- save/load methods exposed as public.
nanoflann 1.1.3: Released Jun 6, 2012
- GTest sources are now embedded, due to the changes in newer Ubuntu packages which don't carry the precompiled libs.
- Added asserts to detect whether the user passes NULL as query points.
- New method RadiusResultSet::worst_item()
- New method RadiusResultSet::set_radius_and_clear()
- Avoid potential collision of min/max macros with <windows.h>
- Removed unneeded #include's of std headers.
- New sample code for vectors of vectors.
- Fixed building of tests for MSVC in Windows.
- Allow manually setting the path to Eigen3 (mainly for building examples under Windows).
nanoflann 1.1.2: Released May 2, 2012
- Better documentation and added graphs of a benchmarking for helping choosing "leaf_max_size".
- Now KDTreeSingleIndexAdaptor::buildIndex() can be called several times even when the dataset size changes (Thanks to Rob McDonald for reporting!)
nanoflann 1.1.1: Released Feb 1, 2012
- Some fixes to kd_tree index and L1/L2 metrics to allow distinct types in data elements and in the distances. This is mainly to permit elements being vectors of integers (e.g. uint8_t) but distances being real numbers.
- Examples and unit tests have been corrected to use template arguments instead of being hard-wired to "float" data types (Thanks Thomas Vincent for noticing!).
nanoflann 1.1.0: Released Dec 15, 2011
- Fixed warnings for MSVC and for GCC with "-Wall -pedantic"
- Updated performance tests to work with the final nanoflann code (they were written for a very early version).
- All main classes now have new template arguments for the type of indice, which now defaults to "size_t" instead of "int". In case this breaks backward compatibility in user code, especify "int" to override the default template arguments, although "size_t" it's recommended.
nanoflann 1.0.0: Released Aug 30, 2011
- Initial version