-
-
184 std::vector<Index_> output;
-
-
186 static_cast<Index_
>(neighbors.size()),
-
187 [&](
size_t i) ->
const std::vector<Index_>& { return neighbors[i].first; },
-
188 [](
const std::vector<Index_>& x, Index_ n) -> Index_ { return x[n]; },
-
189 [&](
size_t i) -> Distance_ { return neighbors[i].second.back(); },
-
-
-
-
-
+
+
183template<
typename Index_,
typename Distance_>
+
+
+
185 std::vector<Index_> output;
+
+
187 static_cast<Index_
>(neighbors.size()),
+
188 [&](
size_t i) ->
const auto& { return neighbors[i]; },
+
189 [](
const auto& x, Index_ n) -> Index_ { return x[n].first; },
+
190 [&](
size_t i) -> Distance_ { return neighbors[i].back().second; },
+
+
+
+
+
-
-
208template<
typename Dim_,
typename Index_,
typename Float_>
-
-
-
-
-
212 throw std::runtime_error(
"number of neighbors is less than 'min_remaining'");
-
-
-
-
216 std::vector<std::vector<Index_> > nn_indices(nobs);
-
217 std::vector<Float_> max_distance(nobs);
-
-
219#ifndef KNNCOLLE_CUSTOM_PARALLEL
-
-
221 #pragma omp parallel num_threads(options.num_threads)
-
-
-
224 std::vector<Float_> nn_distances;
-
-
226 for (Index_ i = 0; i < nobs; ++i) {
-
-
-
229 std::vector<Float_> nn_distances;
-
230 for (Index_ i = 0; i < nobs; ++i) {
-
-
-
233 KNNCOLLE_CUSTOM_PARALLEL(nobs, options.
num_threads, [&](Index_ start, Index_ length) ->
void {
-
234 auto sptr = prebuilt.initialize();
-
235 std::vector<Float_> nn_distances;
-
236 for (Index_ i = start, end = start + length; i < end; ++i) {
-
-
-
239 sptr->search(i, k, &(nn_indices[i]), &nn_distances);
-
240 max_distance[i] = (k ? 0 : nn_distances.back());
-
-
242#ifndef KNNCOLLE_CUSTOM_PARALLEL
-
-
-
-
-
-
-
-
-
-
-
-
254 std::vector<Index_> output;
-
-
-
257 [&](
size_t i) ->
const std::vector<Index_>& {
return nn_indices[i]; },
-
258 [](
const std::vector<Index_>& x, Index_ n) -> Index_ {
return x[n]; },
-
259 [&](
size_t i) -> Float_ {
return max_distance[i]; },
-
-
-
-
-
+
+
209template<
typename Dim_,
typename Index_,
typename Float_>
+
+
+
+
+
213 throw std::runtime_error(
"number of neighbors is less than 'min_remaining'");
+
+
+
+
217 std::vector<std::vector<Index_> > nn_indices(nobs);
+
218 std::vector<Float_> max_distance(nobs);
+
+
+
221 auto sptr = prebuilt.initialize();
+
222 std::vector<Float_> nn_distances;
+
223 for (Index_ i = start, end = start + length; i < end; ++i) {
+
224 sptr->search(i, k, &(nn_indices[i]), &nn_distances);
+
225 max_distance[i] = (k ? 0 : nn_distances.back());
+
+
+
+
229 std::vector<Index_> output;
+
+
+
232 [&](
size_t i) ->
const std::vector<Index_>& {
return nn_indices[i]; },
+
233 [](
const std::vector<Index_>& x, Index_ n) -> Index_ {
return x[n]; },
+
234 [&](
size_t i) -> Float_ {
return max_distance[i]; },
+
+
+
+
+
-
-
282template<
typename Dim_,
typename Index_,
typename Value_,
typename Float_>
-
-
-
-
-
-
-
-
-
-
291 return compute(*prebuilt, options);
-
+
+
257template<
typename Dim_,
typename Index_,
typename Value_,
typename Float_>
+
+
+
+
+
+
+
+
+
+
266 return compute(*prebuilt, options);
+
-
-
-
-
+
+
+
+
virtual Index_ num_observations() const=0
-
virtual std::unique_ptr< Searcher< Index_, Float_ > > initialize() const=0
-
std::vector< std::pair< std::vector< Index_ >, std::vector< Float_ > > > NeighborList
+
std::vector< std::vector< std::pair< Index_, Float_ > > > NeighborList
+
void parallelize(int num_workers, Task_ num_tasks, Run_ run_task_range)
Nearest-neighbors subsampling.
-
void compute(Index_ num_obs, GetNeighbors_ get_neighbors, GetIndex_ get_index, GetMaxDistance_ get_max_distance, const Options &options, std::vector< Index_ > &selected)
Definition nenesub.hpp:86
+
void compute(Index_ num_obs, GetNeighbors_ get_neighbors, GetIndex_ get_index, GetMaxDistance_ get_max_distance, const Options &options, std::vector< Index_ > &selected)
Definition nenesub.hpp:87
Options for compute().
Definition nenesub.hpp:24
int num_neighbors
Definition nenesub.hpp:29
-
int num_threads
Definition nenesub.hpp:41
+
int num_threads
Definition nenesub.hpp:42
int min_remaining
Definition nenesub.hpp:35
diff --git a/docs/search/all_0.js b/docs/search/all_0.js
index 0407c48..8249621 100644
--- a/docs/search/all_0.js
+++ b/docs/search/all_0.js
@@ -4,7 +4,7 @@ var searchData=
['bruteforcebuilder_1',['BruteforceBuilder',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceBuilder.html',1,'knncolle']]],
['bruteforceprebuilt_2',['BruteforcePrebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html',1,'knncolle']]],
['bruteforcesearcher_3',['BruteforceSearcher',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html',1,'knncolle']]],
- ['build_5fraw_4',['build_raw',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceBuilder.html#a491f8b75d24452615248da7c236b7759',1,'knncolle::BruteforceBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html#aa1c84ac7bd4120f5539be1320b74f5f4',1,'knncolle::Builder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnBuilder.html#aafe27a514becc203a33ec54584bf6562',1,'knncolle::KmknnBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeBuilder.html#a0c25ca5b2d7a812032d7cf1d42e3ad3a',1,'knncolle::VptreeBuilder::build_raw()']]],
+ ['build_5fraw_4',['build_raw',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceBuilder.html#a491f8b75d24452615248da7c236b7759',1,'knncolle::BruteforceBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html#aa1c84ac7bd4120f5539be1320b74f5f4',1,'knncolle::Builder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnBuilder.html#aafe27a514becc203a33ec54584bf6562',1,'knncolle::KmknnBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedBuilder.html#a9747f9c49d62c8d0c47c017586e0b297',1,'knncolle::L2NormalizedBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeBuilder.html#a0c25ca5b2d7a812032d7cf1d42e3ad3a',1,'knncolle::VptreeBuilder::build_raw()']]],
['build_5fshared_5',['build_shared',['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html#afe899198735bd5f9d1921283fa65ff3a',1,'knncolle::Builder']]],
['build_5funique_6',['build_unique',['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html#afeda432debae999f988f32f147055251',1,'knncolle::Builder']]],
['builder_7',['Builder',['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html',1,'knncolle']]],
diff --git a/docs/search/all_10.js b/docs/search/all_10.js
new file mode 100644
index 0000000..b0ca348
--- /dev/null
+++ b/docs/search/all_10.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['workspace_0',['Workspace',['https://knncolle.github.io/knncolle/structknncolle_1_1MockMatrix_1_1Workspace.html',1,'knncolle::MockMatrix']]]
+];
diff --git a/docs/search/all_6.js b/docs/search/all_6.js
index c37a649..f1523cf 100644
--- a/docs/search/all_6.js
+++ b/docs/search/all_6.js
@@ -1,6 +1,6 @@
var searchData=
[
['index_5ftype_0',['index_type',['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#ade1c40b06e09d623e2b83a9bd6487479',1,'knncolle::MockMatrix']]],
- ['initialize_1',['initialize',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a591b94e2c5f4a0fe404cf89dcc20d0de',1,'knncolle::BruteforcePrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#a361ec0511a7cd79ce3f318560a8349cf',1,'knncolle::KmknnPrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a71b757b154aa2713d732afd2d9444bb9',1,'knncolle::Prebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a583eeead36f94b77d5ceb46c47fd8aa3',1,'knncolle::VptreePrebuilt::initialize()']]],
+ ['initialize_1',['initialize',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a591b94e2c5f4a0fe404cf89dcc20d0de',1,'knncolle::BruteforcePrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#a361ec0511a7cd79ce3f318560a8349cf',1,'knncolle::KmknnPrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedPrebuilt.html#a0879ea8c8512d04a2f73fb7afd7eae56',1,'knncolle::L2NormalizedPrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a71b757b154aa2713d732afd2d9444bb9',1,'knncolle::Prebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a583eeead36f94b77d5ceb46c47fd8aa3',1,'knncolle::VptreePrebuilt::initialize()']]],
['initialize_5falgorithm_2',['initialize_algorithm',['https://knncolle.github.io/knncolle/structknncolle_1_1KmknnOptions.html#a01ab1d6e283fa8945723f33942e310c0',1,'knncolle::KmknnOptions']]]
];
diff --git a/docs/search/all_8.js b/docs/search/all_8.js
index 3668c47..3e04de7 100644
--- a/docs/search/all_8.js
+++ b/docs/search/all_8.js
@@ -1,8 +1,8 @@
var searchData=
[
- ['manhattandistance_0',['ManhattanDistance',['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html',1,'knncolle']]],
- ['min_5fremaining_1',['min_remaining',['../structnenesub_1_1Options.html#aca8e07989de02b7fc173848333a93695',1,'nenesub::Options']]],
- ['mockdistance_2',['MockDistance',['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html',1,'knncolle']]],
- ['mockmatrix_3',['MockMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html',1,'knncolle']]],
- ['mockmatrix_2ehpp_4',['MockMatrix.hpp',['https://knncolle.github.io/knncolle/MockMatrix_8hpp.html',1,'']]]
+ ['l2normalized_2ehpp_0',['L2Normalized.hpp',['https://knncolle.github.io/knncolle/L2Normalized_8hpp.html',1,'']]],
+ ['l2normalizedbuilder_1',['l2normalizedbuilder',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedBuilder.html',1,'knncolle::L2NormalizedBuilder< class Matrix_, typename Float_ >'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedBuilder.html#a7f3702fbbf54bbbaceb925aa2936bd45',1,'knncolle::L2NormalizedBuilder::L2NormalizedBuilder(std::unique_ptr< Builder< L2NormalizedMatrix< Matrix_ >, Float_ > > builder)'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedBuilder.html#a16df727021e97c341b7ef957eb79dd23',1,'knncolle::L2NormalizedBuilder::L2NormalizedBuilder(Builder< L2NormalizedMatrix< Matrix_ >, Float_ > *builder)']]],
+ ['l2normalizedmatrix_2',['L2NormalizedMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedMatrix.html',1,'knncolle']]],
+ ['l2normalizedprebuilt_3',['l2normalizedprebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedPrebuilt.html',1,'knncolle::L2NormalizedPrebuilt< typename Dim_, typename Index_, typename Float_ >'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedPrebuilt.html#a43c889080f754e44c6085cc10a46f32b',1,'knncolle::L2NormalizedPrebuilt::L2NormalizedPrebuilt()']]],
+ ['l2normalizedsearcher_4',['l2normalizedsearcher',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedSearcher.html',1,'knncolle::L2NormalizedSearcher< typename Index_, typename Float_ >'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedSearcher.html#ad97e99e0fd85202cce0357333a78a2a4',1,'knncolle::L2NormalizedSearcher::L2NormalizedSearcher()']]]
];
diff --git a/docs/search/all_9.js b/docs/search/all_9.js
index 08463f5..3668c47 100644
--- a/docs/search/all_9.js
+++ b/docs/search/all_9.js
@@ -1,13 +1,8 @@
var searchData=
[
- ['nearest_20neighbors_20subsampling_0',['Nearest-neighbors subsampling',['../index.html',1,'']]],
- ['neighborlist_1',['NeighborList',['https://knncolle.github.io/knncolle/namespaceknncolle.html#a3faddeb80b10f56cb982a4e83ad3aca9',1,'knncolle']]],
- ['neighbors_20subsampling_2',['Nearest-neighbors subsampling',['../index.html',1,'']]],
- ['nenesub_3',['nenesub',['../namespacenenesub.html',1,'']]],
- ['nenesub_2ehpp_4',['nenesub.hpp',['../nenesub_8hpp.html',1,'']]],
- ['normalize_5',['normalize',['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html#acf139f39a2c07856820442a8e12701cd',1,'knncolle::MockDistance::normalize()'],['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html#a4dea393df5acd96968fa6476ee6d6ad0',1,'knncolle::ManhattanDistance::normalize()'],['https://knncolle.github.io/knncolle/structknncolle_1_1EuclideanDistance.html#a79fdf3c2dde43bd0e9103486b8a4839b',1,'knncolle::EuclideanDistance::normalize()']]],
- ['num_5fdimensions_6',['num_dimensions',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a8623475e148b181f29623cf4b3c7a5f4',1,'knncolle::BruteforcePrebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#adad9d751074e36037ea3e20bd20a50c3',1,'knncolle::KmknnPrebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#accf6389be4fd0d9a9f0c6ed3c73d30d6',1,'knncolle::MockMatrix::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a99412339915bc2ff0a6cd58ef4012d74',1,'knncolle::Prebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#aa3945048112b06bcbf9a4039f55581fe',1,'knncolle::VptreePrebuilt::num_dimensions()']]],
- ['num_5fneighbors_7',['num_neighbors',['../structnenesub_1_1Options.html#a5df6fdc7c00d5560cf24e707c6d2a318',1,'nenesub::Options']]],
- ['num_5fobservations_8',['num_observations',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a532a8a4fbe68d0df15f4618fd5d82983',1,'knncolle::BruteforcePrebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#ac47cf8cff93bcb0c14a7312b9f1bf812',1,'knncolle::KmknnPrebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#ac3af3babb476ddf204a94e77a7b2196a',1,'knncolle::MockMatrix::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a6dd837344267241384206661df28e1ab',1,'knncolle::Prebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a3bee679a176256a7f7247e636c8c26af',1,'knncolle::VptreePrebuilt::num_observations()']]],
- ['num_5fthreads_9',['num_threads',['../structnenesub_1_1Options.html#a97589522562c135c803914e6e4abdecc',1,'nenesub::Options']]]
+ ['manhattandistance_0',['ManhattanDistance',['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html',1,'knncolle']]],
+ ['min_5fremaining_1',['min_remaining',['../structnenesub_1_1Options.html#aca8e07989de02b7fc173848333a93695',1,'nenesub::Options']]],
+ ['mockdistance_2',['MockDistance',['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html',1,'knncolle']]],
+ ['mockmatrix_3',['MockMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html',1,'knncolle']]],
+ ['mockmatrix_2ehpp_4',['MockMatrix.hpp',['https://knncolle.github.io/knncolle/MockMatrix_8hpp.html',1,'']]]
];
diff --git a/docs/search/all_a.js b/docs/search/all_a.js
index b7b6b10..5938dcb 100644
--- a/docs/search/all_a.js
+++ b/docs/search/all_a.js
@@ -1,4 +1,13 @@
var searchData=
[
- ['options_0',['options',['../structnenesub_1_1Options.html',1,'nenesub::Options'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnBuilder.html#ab70f49036aa3f59e67e84eb9bdae5c2c',1,'knncolle::KmknnBuilder::Options']]]
+ ['nearest_20neighbors_20subsampling_0',['Nearest-neighbors subsampling',['../index.html',1,'']]],
+ ['neighborlist_1',['NeighborList',['https://knncolle.github.io/knncolle/namespaceknncolle.html#a25d7a950cf7745b99bc834b79e064c09',1,'knncolle']]],
+ ['neighbors_20subsampling_2',['Nearest-neighbors subsampling',['../index.html',1,'']]],
+ ['nenesub_3',['nenesub',['../namespacenenesub.html',1,'']]],
+ ['nenesub_2ehpp_4',['nenesub.hpp',['../nenesub_8hpp.html',1,'']]],
+ ['normalize_5',['normalize',['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html#acf139f39a2c07856820442a8e12701cd',1,'knncolle::MockDistance::normalize()'],['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html#a4dea393df5acd96968fa6476ee6d6ad0',1,'knncolle::ManhattanDistance::normalize()'],['https://knncolle.github.io/knncolle/structknncolle_1_1EuclideanDistance.html#a79fdf3c2dde43bd0e9103486b8a4839b',1,'knncolle::EuclideanDistance::normalize()']]],
+ ['num_5fdimensions_6',['num_dimensions',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a8623475e148b181f29623cf4b3c7a5f4',1,'knncolle::BruteforcePrebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#adad9d751074e36037ea3e20bd20a50c3',1,'knncolle::KmknnPrebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#accf6389be4fd0d9a9f0c6ed3c73d30d6',1,'knncolle::MockMatrix::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a99412339915bc2ff0a6cd58ef4012d74',1,'knncolle::Prebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#aa3945048112b06bcbf9a4039f55581fe',1,'knncolle::VptreePrebuilt::num_dimensions()']]],
+ ['num_5fneighbors_7',['num_neighbors',['../structnenesub_1_1Options.html#a5df6fdc7c00d5560cf24e707c6d2a318',1,'nenesub::Options']]],
+ ['num_5fobservations_8',['num_observations',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a532a8a4fbe68d0df15f4618fd5d82983',1,'knncolle::BruteforcePrebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#ac47cf8cff93bcb0c14a7312b9f1bf812',1,'knncolle::KmknnPrebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#ac3af3babb476ddf204a94e77a7b2196a',1,'knncolle::MockMatrix::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a6dd837344267241384206661df28e1ab',1,'knncolle::Prebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a3bee679a176256a7f7247e636c8c26af',1,'knncolle::VptreePrebuilt::num_observations()']]],
+ ['num_5fthreads_9',['num_threads',['../structnenesub_1_1Options.html#a97589522562c135c803914e6e4abdecc',1,'nenesub::Options']]]
];
diff --git a/docs/search/all_b.js b/docs/search/all_b.js
index b591615..b7b6b10 100644
--- a/docs/search/all_b.js
+++ b/docs/search/all_b.js
@@ -1,6 +1,4 @@
var searchData=
[
- ['power_0',['power',['https://knncolle.github.io/knncolle/structknncolle_1_1KmknnOptions.html#ad46d8aa236754eb65ea9983d355c3280',1,'knncolle::KmknnOptions']]],
- ['prebuilt_1',['Prebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html',1,'knncolle']]],
- ['prebuilt_2ehpp_2',['Prebuilt.hpp',['https://knncolle.github.io/knncolle/Prebuilt_8hpp.html',1,'']]]
+ ['options_0',['options',['../structnenesub_1_1Options.html',1,'nenesub::Options'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnBuilder.html#ab70f49036aa3f59e67e84eb9bdae5c2c',1,'knncolle::KmknnBuilder::Options']]]
];
diff --git a/docs/search/all_c.js b/docs/search/all_c.js
index a9cde79..15bcd51 100644
--- a/docs/search/all_c.js
+++ b/docs/search/all_c.js
@@ -1,5 +1,7 @@
var searchData=
[
- ['raw_5fdistance_0',['raw_distance',['https://knncolle.github.io/knncolle/structknncolle_1_1EuclideanDistance.html#a0d6936a53ba4ed0e0ca33c9ac2515d06',1,'knncolle::EuclideanDistance::raw_distance()'],['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html#ac782b1cfdb76e144a3d84d674e661456',1,'knncolle::ManhattanDistance::raw_distance()'],['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html#a7cfc77c0fd9806f9030a617404a5f954',1,'knncolle::MockDistance::raw_distance()']]],
- ['refine_5falgorithm_1',['refine_algorithm',['https://knncolle.github.io/knncolle/structknncolle_1_1KmknnOptions.html#adf03e5a3046a1da5cacff93d37975ff8',1,'knncolle::KmknnOptions']]]
+ ['parallelize_0',['parallelize',['https://knncolle.github.io/knncolle/namespaceknncolle.html#a5faf80c12bbfbab853c41f6d001fe073',1,'knncolle']]],
+ ['power_1',['power',['https://knncolle.github.io/knncolle/structknncolle_1_1KmknnOptions.html#ad46d8aa236754eb65ea9983d355c3280',1,'knncolle::KmknnOptions']]],
+ ['prebuilt_2',['Prebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html',1,'knncolle']]],
+ ['prebuilt_2ehpp_3',['Prebuilt.hpp',['https://knncolle.github.io/knncolle/Prebuilt_8hpp.html',1,'']]]
];
diff --git a/docs/search/all_d.js b/docs/search/all_d.js
index b11363a..a9cde79 100644
--- a/docs/search/all_d.js
+++ b/docs/search/all_d.js
@@ -1,9 +1,5 @@
var searchData=
[
- ['search_0',['search',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#a5250b4ce7176fbe1a60783bc4dd324f0',1,'knncolle::BruteforceSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#afef023240ea7ddcc28561c0f71c54601',1,'knncolle::BruteforceSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#a3db2397321aec4f6e89774f22f71c482',1,'knncolle::KmknnSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#aa7c1f3e8224d260adfec2625216e90c6',1,'knncolle::KmknnSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#a6ad140ee93a7af57fdb722c16476aee4',1,'knncolle::Searcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)=0'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#a9f4bac73a3dd958d1f09e1093bd1cf01',1,'knncolle::Searcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)=0'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#a3b2a7c230cfdf88cf1fa42896ca5909a',1,'knncolle::VptreeSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#ac86dd5bf34f233d04502e789224eb44a',1,'knncolle::VptreeSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)']]],
- ['search_5fall_1',['search_all',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#a51594cb79d1ea89aea64359690e5301e',1,'knncolle::VptreeSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#ab1cdb331dcde946b831446f219979d3a',1,'knncolle::VptreeSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#adbe92827aebee347f57257591712d093',1,'knncolle::Searcher::search_all(const Float_ *query, Float_ distance, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#ae7fb8a8e436303c5917f3717393cf056',1,'knncolle::Searcher::search_all(Index_ i, Float_ distance, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#a268f3f69058d2d5a1d0514d37ec5f97c',1,'knncolle::KmknnSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#ac31860ebca446559f97c8b07f4c37efa',1,'knncolle::KmknnSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#aae68bf23ca7d80dbf0a6138cb8cb6d15',1,'knncolle::BruteforceSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#a1164e4e1e627b716f9db91e8931872e9',1,'knncolle::BruteforceSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)']]],
- ['searcher_2',['Searcher',['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html',1,'knncolle']]],
- ['searcher_2ehpp_3',['Searcher.hpp',['https://knncolle.github.io/knncolle/Searcher_8hpp.html',1,'']]],
- ['simplematrix_4',['simplematrix',['https://knncolle.github.io/knncolle/classknncolle_1_1SimpleMatrix.html',1,'knncolle::SimpleMatrix< typename Dim_, typename Index_, typename Data_ >'],['https://knncolle.github.io/knncolle/classknncolle_1_1SimpleMatrix.html#a5ff473e3597354a19a09456f6580121a',1,'knncolle::SimpleMatrix::SimpleMatrix()']]],
- ['subsampling_5',['Nearest-neighbors subsampling',['../index.html',1,'']]]
+ ['raw_5fdistance_0',['raw_distance',['https://knncolle.github.io/knncolle/structknncolle_1_1EuclideanDistance.html#a0d6936a53ba4ed0e0ca33c9ac2515d06',1,'knncolle::EuclideanDistance::raw_distance()'],['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html#ac782b1cfdb76e144a3d84d674e661456',1,'knncolle::ManhattanDistance::raw_distance()'],['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html#a7cfc77c0fd9806f9030a617404a5f954',1,'knncolle::MockDistance::raw_distance()']]],
+ ['refine_5falgorithm_1',['refine_algorithm',['https://knncolle.github.io/knncolle/structknncolle_1_1KmknnOptions.html#adf03e5a3046a1da5cacff93d37975ff8',1,'knncolle::KmknnOptions']]]
];
diff --git a/docs/search/all_e.js b/docs/search/all_e.js
index b86a062..b11363a 100644
--- a/docs/search/all_e.js
+++ b/docs/search/all_e.js
@@ -1,7 +1,9 @@
var searchData=
[
- ['vptree_2ehpp_0',['Vptree.hpp',['https://knncolle.github.io/knncolle/Vptree_8hpp.html',1,'']]],
- ['vptreebuilder_1',['VptreeBuilder',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeBuilder.html',1,'knncolle']]],
- ['vptreeprebuilt_2',['vptreeprebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html',1,'knncolle::VptreePrebuilt< class Distance_, typename Dim_, typename Index_, typename Store_, typename Float_ >'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a5391976fe1e6b957181229a8590a6ca3',1,'knncolle::VptreePrebuilt::VptreePrebuilt()']]],
- ['vptreesearcher_3',['VptreeSearcher',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html',1,'knncolle']]]
+ ['search_0',['search',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#a5250b4ce7176fbe1a60783bc4dd324f0',1,'knncolle::BruteforceSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#afef023240ea7ddcc28561c0f71c54601',1,'knncolle::BruteforceSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#a3db2397321aec4f6e89774f22f71c482',1,'knncolle::KmknnSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#aa7c1f3e8224d260adfec2625216e90c6',1,'knncolle::KmknnSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#a6ad140ee93a7af57fdb722c16476aee4',1,'knncolle::Searcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)=0'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#a9f4bac73a3dd958d1f09e1093bd1cf01',1,'knncolle::Searcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)=0'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#a3b2a7c230cfdf88cf1fa42896ca5909a',1,'knncolle::VptreeSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#ac86dd5bf34f233d04502e789224eb44a',1,'knncolle::VptreeSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)']]],
+ ['search_5fall_1',['search_all',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#a51594cb79d1ea89aea64359690e5301e',1,'knncolle::VptreeSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#ab1cdb331dcde946b831446f219979d3a',1,'knncolle::VptreeSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#adbe92827aebee347f57257591712d093',1,'knncolle::Searcher::search_all(const Float_ *query, Float_ distance, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#ae7fb8a8e436303c5917f3717393cf056',1,'knncolle::Searcher::search_all(Index_ i, Float_ distance, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#a268f3f69058d2d5a1d0514d37ec5f97c',1,'knncolle::KmknnSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#ac31860ebca446559f97c8b07f4c37efa',1,'knncolle::KmknnSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#aae68bf23ca7d80dbf0a6138cb8cb6d15',1,'knncolle::BruteforceSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#a1164e4e1e627b716f9db91e8931872e9',1,'knncolle::BruteforceSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)']]],
+ ['searcher_2',['Searcher',['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html',1,'knncolle']]],
+ ['searcher_2ehpp_3',['Searcher.hpp',['https://knncolle.github.io/knncolle/Searcher_8hpp.html',1,'']]],
+ ['simplematrix_4',['simplematrix',['https://knncolle.github.io/knncolle/classknncolle_1_1SimpleMatrix.html',1,'knncolle::SimpleMatrix< typename Dim_, typename Index_, typename Data_ >'],['https://knncolle.github.io/knncolle/classknncolle_1_1SimpleMatrix.html#a5ff473e3597354a19a09456f6580121a',1,'knncolle::SimpleMatrix::SimpleMatrix()']]],
+ ['subsampling_5',['Nearest-neighbors subsampling',['../index.html',1,'']]]
];
diff --git a/docs/search/all_f.js b/docs/search/all_f.js
index b0ca348..b86a062 100644
--- a/docs/search/all_f.js
+++ b/docs/search/all_f.js
@@ -1,4 +1,7 @@
var searchData=
[
- ['workspace_0',['Workspace',['https://knncolle.github.io/knncolle/structknncolle_1_1MockMatrix_1_1Workspace.html',1,'knncolle::MockMatrix']]]
+ ['vptree_2ehpp_0',['Vptree.hpp',['https://knncolle.github.io/knncolle/Vptree_8hpp.html',1,'']]],
+ ['vptreebuilder_1',['VptreeBuilder',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeBuilder.html',1,'knncolle']]],
+ ['vptreeprebuilt_2',['vptreeprebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html',1,'knncolle::VptreePrebuilt< class Distance_, typename Dim_, typename Index_, typename Store_, typename Float_ >'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a5391976fe1e6b957181229a8590a6ca3',1,'knncolle::VptreePrebuilt::VptreePrebuilt()']]],
+ ['vptreesearcher_3',['VptreeSearcher',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html',1,'knncolle']]]
];
diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js
index db9f742..2c68624 100644
--- a/docs/search/classes_3.js
+++ b/docs/search/classes_3.js
@@ -1,6 +1,7 @@
var searchData=
[
- ['manhattandistance_0',['ManhattanDistance',['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html',1,'knncolle']]],
- ['mockdistance_1',['MockDistance',['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html',1,'knncolle']]],
- ['mockmatrix_2',['MockMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html',1,'knncolle']]]
+ ['l2normalizedbuilder_0',['L2NormalizedBuilder',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedBuilder.html',1,'knncolle']]],
+ ['l2normalizedmatrix_1',['L2NormalizedMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedMatrix.html',1,'knncolle']]],
+ ['l2normalizedprebuilt_2',['L2NormalizedPrebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedPrebuilt.html',1,'knncolle']]],
+ ['l2normalizedsearcher_3',['L2NormalizedSearcher',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedSearcher.html',1,'knncolle']]]
];
diff --git a/docs/search/classes_4.js b/docs/search/classes_4.js
index 3b6fe03..db9f742 100644
--- a/docs/search/classes_4.js
+++ b/docs/search/classes_4.js
@@ -1,4 +1,6 @@
var searchData=
[
- ['options_0',['Options',['../structnenesub_1_1Options.html',1,'nenesub']]]
+ ['manhattandistance_0',['ManhattanDistance',['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html',1,'knncolle']]],
+ ['mockdistance_1',['MockDistance',['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html',1,'knncolle']]],
+ ['mockmatrix_2',['MockMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html',1,'knncolle']]]
];
diff --git a/docs/search/classes_5.js b/docs/search/classes_5.js
index d7b3135..3b6fe03 100644
--- a/docs/search/classes_5.js
+++ b/docs/search/classes_5.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['prebuilt_0',['Prebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html',1,'knncolle']]]
+ ['options_0',['Options',['../structnenesub_1_1Options.html',1,'nenesub']]]
];
diff --git a/docs/search/classes_6.js b/docs/search/classes_6.js
index be4255a..d7b3135 100644
--- a/docs/search/classes_6.js
+++ b/docs/search/classes_6.js
@@ -1,5 +1,4 @@
var searchData=
[
- ['searcher_0',['Searcher',['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html',1,'knncolle']]],
- ['simplematrix_1',['SimpleMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1SimpleMatrix.html',1,'knncolle']]]
+ ['prebuilt_0',['Prebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html',1,'knncolle']]]
];
diff --git a/docs/search/classes_7.js b/docs/search/classes_7.js
index fd05c03..be4255a 100644
--- a/docs/search/classes_7.js
+++ b/docs/search/classes_7.js
@@ -1,6 +1,5 @@
var searchData=
[
- ['vptreebuilder_0',['VptreeBuilder',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeBuilder.html',1,'knncolle']]],
- ['vptreeprebuilt_1',['VptreePrebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html',1,'knncolle']]],
- ['vptreesearcher_2',['VptreeSearcher',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html',1,'knncolle']]]
+ ['searcher_0',['Searcher',['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html',1,'knncolle']]],
+ ['simplematrix_1',['SimpleMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1SimpleMatrix.html',1,'knncolle']]]
];
diff --git a/docs/search/classes_8.js b/docs/search/classes_8.js
index b0ca348..fd05c03 100644
--- a/docs/search/classes_8.js
+++ b/docs/search/classes_8.js
@@ -1,4 +1,6 @@
var searchData=
[
- ['workspace_0',['Workspace',['https://knncolle.github.io/knncolle/structknncolle_1_1MockMatrix_1_1Workspace.html',1,'knncolle::MockMatrix']]]
+ ['vptreebuilder_0',['VptreeBuilder',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeBuilder.html',1,'knncolle']]],
+ ['vptreeprebuilt_1',['VptreePrebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html',1,'knncolle']]],
+ ['vptreesearcher_2',['VptreeSearcher',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html',1,'knncolle']]]
];
diff --git a/docs/search/classes_9.js b/docs/search/classes_9.js
new file mode 100644
index 0000000..b0ca348
--- /dev/null
+++ b/docs/search/classes_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['workspace_0',['Workspace',['https://knncolle.github.io/knncolle/structknncolle_1_1MockMatrix_1_1Workspace.html',1,'knncolle::MockMatrix']]]
+];
diff --git a/docs/search/files_4.js b/docs/search/files_4.js
index 4fffb60..ebb3aef 100644
--- a/docs/search/files_4.js
+++ b/docs/search/files_4.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['mockmatrix_2ehpp_0',['MockMatrix.hpp',['https://knncolle.github.io/knncolle/MockMatrix_8hpp.html',1,'']]]
+ ['l2normalized_2ehpp_0',['L2Normalized.hpp',['https://knncolle.github.io/knncolle/L2Normalized_8hpp.html',1,'']]]
];
diff --git a/docs/search/files_5.js b/docs/search/files_5.js
index 01b84c4..4fffb60 100644
--- a/docs/search/files_5.js
+++ b/docs/search/files_5.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['nenesub_2ehpp_0',['nenesub.hpp',['../nenesub_8hpp.html',1,'']]]
+ ['mockmatrix_2ehpp_0',['MockMatrix.hpp',['https://knncolle.github.io/knncolle/MockMatrix_8hpp.html',1,'']]]
];
diff --git a/docs/search/files_6.js b/docs/search/files_6.js
index 067928c..01b84c4 100644
--- a/docs/search/files_6.js
+++ b/docs/search/files_6.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['prebuilt_2ehpp_0',['Prebuilt.hpp',['https://knncolle.github.io/knncolle/Prebuilt_8hpp.html',1,'']]]
+ ['nenesub_2ehpp_0',['nenesub.hpp',['../nenesub_8hpp.html',1,'']]]
];
diff --git a/docs/search/files_7.js b/docs/search/files_7.js
index 88223c5..067928c 100644
--- a/docs/search/files_7.js
+++ b/docs/search/files_7.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['searcher_2ehpp_0',['Searcher.hpp',['https://knncolle.github.io/knncolle/Searcher_8hpp.html',1,'']]]
+ ['prebuilt_2ehpp_0',['Prebuilt.hpp',['https://knncolle.github.io/knncolle/Prebuilt_8hpp.html',1,'']]]
];
diff --git a/docs/search/files_8.js b/docs/search/files_8.js
index 073f12b..88223c5 100644
--- a/docs/search/files_8.js
+++ b/docs/search/files_8.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['vptree_2ehpp_0',['Vptree.hpp',['https://knncolle.github.io/knncolle/Vptree_8hpp.html',1,'']]]
+ ['searcher_2ehpp_0',['Searcher.hpp',['https://knncolle.github.io/knncolle/Searcher_8hpp.html',1,'']]]
];
diff --git a/docs/search/files_9.js b/docs/search/files_9.js
new file mode 100644
index 0000000..073f12b
--- /dev/null
+++ b/docs/search/files_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['vptree_2ehpp_0',['Vptree.hpp',['https://knncolle.github.io/knncolle/Vptree_8hpp.html',1,'']]]
+];
diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js
index 35d86ef..3106279 100644
--- a/docs/search/functions_0.js
+++ b/docs/search/functions_0.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['build_5fraw_0',['build_raw',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceBuilder.html#a491f8b75d24452615248da7c236b7759',1,'knncolle::BruteforceBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html#aa1c84ac7bd4120f5539be1320b74f5f4',1,'knncolle::Builder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnBuilder.html#aafe27a514becc203a33ec54584bf6562',1,'knncolle::KmknnBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeBuilder.html#a0c25ca5b2d7a812032d7cf1d42e3ad3a',1,'knncolle::VptreeBuilder::build_raw()']]],
+ ['build_5fraw_0',['build_raw',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceBuilder.html#a491f8b75d24452615248da7c236b7759',1,'knncolle::BruteforceBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html#aa1c84ac7bd4120f5539be1320b74f5f4',1,'knncolle::Builder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnBuilder.html#aafe27a514becc203a33ec54584bf6562',1,'knncolle::KmknnBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedBuilder.html#a9747f9c49d62c8d0c47c017586e0b297',1,'knncolle::L2NormalizedBuilder::build_raw()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeBuilder.html#a0c25ca5b2d7a812032d7cf1d42e3ad3a',1,'knncolle::VptreeBuilder::build_raw()']]],
['build_5fshared_1',['build_shared',['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html#afe899198735bd5f9d1921283fa65ff3a',1,'knncolle::Builder']]],
['build_5funique_2',['build_unique',['https://knncolle.github.io/knncolle/classknncolle_1_1Builder.html#afeda432debae999f988f32f147055251',1,'knncolle::Builder']]]
];
diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js
index 5fa6479..9f08fcd 100644
--- a/docs/search/functions_5.js
+++ b/docs/search/functions_5.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['initialize_0',['initialize',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a591b94e2c5f4a0fe404cf89dcc20d0de',1,'knncolle::BruteforcePrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#a361ec0511a7cd79ce3f318560a8349cf',1,'knncolle::KmknnPrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a71b757b154aa2713d732afd2d9444bb9',1,'knncolle::Prebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a583eeead36f94b77d5ceb46c47fd8aa3',1,'knncolle::VptreePrebuilt::initialize()']]]
+ ['initialize_0',['initialize',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a591b94e2c5f4a0fe404cf89dcc20d0de',1,'knncolle::BruteforcePrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#a361ec0511a7cd79ce3f318560a8349cf',1,'knncolle::KmknnPrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedPrebuilt.html#a0879ea8c8512d04a2f73fb7afd7eae56',1,'knncolle::L2NormalizedPrebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a71b757b154aa2713d732afd2d9444bb9',1,'knncolle::Prebuilt::initialize()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a583eeead36f94b77d5ceb46c47fd8aa3',1,'knncolle::VptreePrebuilt::initialize()']]]
];
diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js
index 07ed02a..72eb194 100644
--- a/docs/search/functions_7.js
+++ b/docs/search/functions_7.js
@@ -1,6 +1,6 @@
var searchData=
[
- ['normalize_0',['normalize',['https://knncolle.github.io/knncolle/structknncolle_1_1EuclideanDistance.html#a79fdf3c2dde43bd0e9103486b8a4839b',1,'knncolle::EuclideanDistance::normalize()'],['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html#a4dea393df5acd96968fa6476ee6d6ad0',1,'knncolle::ManhattanDistance::normalize()'],['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html#acf139f39a2c07856820442a8e12701cd',1,'knncolle::MockDistance::normalize()']]],
- ['num_5fdimensions_1',['num_dimensions',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a8623475e148b181f29623cf4b3c7a5f4',1,'knncolle::BruteforcePrebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#adad9d751074e36037ea3e20bd20a50c3',1,'knncolle::KmknnPrebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#accf6389be4fd0d9a9f0c6ed3c73d30d6',1,'knncolle::MockMatrix::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a99412339915bc2ff0a6cd58ef4012d74',1,'knncolle::Prebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#aa3945048112b06bcbf9a4039f55581fe',1,'knncolle::VptreePrebuilt::num_dimensions()']]],
- ['num_5fobservations_2',['num_observations',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a532a8a4fbe68d0df15f4618fd5d82983',1,'knncolle::BruteforcePrebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#ac47cf8cff93bcb0c14a7312b9f1bf812',1,'knncolle::KmknnPrebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#ac3af3babb476ddf204a94e77a7b2196a',1,'knncolle::MockMatrix::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a6dd837344267241384206661df28e1ab',1,'knncolle::Prebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a3bee679a176256a7f7247e636c8c26af',1,'knncolle::VptreePrebuilt::num_observations()']]]
+ ['l2normalizedbuilder_0',['l2normalizedbuilder',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedBuilder.html#a7f3702fbbf54bbbaceb925aa2936bd45',1,'knncolle::L2NormalizedBuilder::L2NormalizedBuilder(std::unique_ptr< Builder< L2NormalizedMatrix< Matrix_ >, Float_ > > builder)'],['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedBuilder.html#a16df727021e97c341b7ef957eb79dd23',1,'knncolle::L2NormalizedBuilder::L2NormalizedBuilder(Builder< L2NormalizedMatrix< Matrix_ >, Float_ > *builder)']]],
+ ['l2normalizedprebuilt_1',['L2NormalizedPrebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedPrebuilt.html#a43c889080f754e44c6085cc10a46f32b',1,'knncolle::L2NormalizedPrebuilt']]],
+ ['l2normalizedsearcher_2',['L2NormalizedSearcher',['https://knncolle.github.io/knncolle/classknncolle_1_1L2NormalizedSearcher.html#ad97e99e0fd85202cce0357333a78a2a4',1,'knncolle::L2NormalizedSearcher']]]
];
diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js
index 0664e3e..07ed02a 100644
--- a/docs/search/functions_8.js
+++ b/docs/search/functions_8.js
@@ -1,4 +1,6 @@
var searchData=
[
- ['raw_5fdistance_0',['raw_distance',['https://knncolle.github.io/knncolle/structknncolle_1_1EuclideanDistance.html#a0d6936a53ba4ed0e0ca33c9ac2515d06',1,'knncolle::EuclideanDistance::raw_distance()'],['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html#ac782b1cfdb76e144a3d84d674e661456',1,'knncolle::ManhattanDistance::raw_distance()'],['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html#a7cfc77c0fd9806f9030a617404a5f954',1,'knncolle::MockDistance::raw_distance()']]]
+ ['normalize_0',['normalize',['https://knncolle.github.io/knncolle/structknncolle_1_1EuclideanDistance.html#a79fdf3c2dde43bd0e9103486b8a4839b',1,'knncolle::EuclideanDistance::normalize()'],['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html#a4dea393df5acd96968fa6476ee6d6ad0',1,'knncolle::ManhattanDistance::normalize()'],['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html#acf139f39a2c07856820442a8e12701cd',1,'knncolle::MockDistance::normalize()']]],
+ ['num_5fdimensions_1',['num_dimensions',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a8623475e148b181f29623cf4b3c7a5f4',1,'knncolle::BruteforcePrebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#adad9d751074e36037ea3e20bd20a50c3',1,'knncolle::KmknnPrebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#accf6389be4fd0d9a9f0c6ed3c73d30d6',1,'knncolle::MockMatrix::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a99412339915bc2ff0a6cd58ef4012d74',1,'knncolle::Prebuilt::num_dimensions()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#aa3945048112b06bcbf9a4039f55581fe',1,'knncolle::VptreePrebuilt::num_dimensions()']]],
+ ['num_5fobservations_2',['num_observations',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforcePrebuilt.html#a532a8a4fbe68d0df15f4618fd5d82983',1,'knncolle::BruteforcePrebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnPrebuilt.html#ac47cf8cff93bcb0c14a7312b9f1bf812',1,'knncolle::KmknnPrebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1MockMatrix.html#ac3af3babb476ddf204a94e77a7b2196a',1,'knncolle::MockMatrix::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1Prebuilt.html#a6dd837344267241384206661df28e1ab',1,'knncolle::Prebuilt::num_observations()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a3bee679a176256a7f7247e636c8c26af',1,'knncolle::VptreePrebuilt::num_observations()']]]
];
diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js
index 23a74b7..37b1c73 100644
--- a/docs/search/functions_9.js
+++ b/docs/search/functions_9.js
@@ -1,6 +1,4 @@
var searchData=
[
- ['search_0',['search',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#afef023240ea7ddcc28561c0f71c54601',1,'knncolle::BruteforceSearcher::search()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#a3db2397321aec4f6e89774f22f71c482',1,'knncolle::KmknnSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#aa7c1f3e8224d260adfec2625216e90c6',1,'knncolle::KmknnSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#a6ad140ee93a7af57fdb722c16476aee4',1,'knncolle::Searcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)=0'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#a9f4bac73a3dd958d1f09e1093bd1cf01',1,'knncolle::Searcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)=0'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#a3b2a7c230cfdf88cf1fa42896ca5909a',1,'knncolle::VptreeSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#ac86dd5bf34f233d04502e789224eb44a',1,'knncolle::VptreeSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#a5250b4ce7176fbe1a60783bc4dd324f0',1,'knncolle::BruteforceSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)']]],
- ['search_5fall_1',['search_all',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#a1164e4e1e627b716f9db91e8931872e9',1,'knncolle::BruteforceSearcher::search_all()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#a51594cb79d1ea89aea64359690e5301e',1,'knncolle::VptreeSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#ab1cdb331dcde946b831446f219979d3a',1,'knncolle::VptreeSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#adbe92827aebee347f57257591712d093',1,'knncolle::Searcher::search_all(const Float_ *query, Float_ distance, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#ae7fb8a8e436303c5917f3717393cf056',1,'knncolle::Searcher::search_all(Index_ i, Float_ distance, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#a268f3f69058d2d5a1d0514d37ec5f97c',1,'knncolle::KmknnSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#ac31860ebca446559f97c8b07f4c37efa',1,'knncolle::KmknnSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#aae68bf23ca7d80dbf0a6138cb8cb6d15',1,'knncolle::BruteforceSearcher::search_all()']]],
- ['simplematrix_2',['SimpleMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1SimpleMatrix.html#a5ff473e3597354a19a09456f6580121a',1,'knncolle::SimpleMatrix']]]
+ ['parallelize_0',['parallelize',['https://knncolle.github.io/knncolle/namespaceknncolle.html#a5faf80c12bbfbab853c41f6d001fe073',1,'knncolle']]]
];
diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js
index 4e393da..0664e3e 100644
--- a/docs/search/functions_a.js
+++ b/docs/search/functions_a.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['vptreeprebuilt_0',['VptreePrebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a5391976fe1e6b957181229a8590a6ca3',1,'knncolle::VptreePrebuilt']]]
+ ['raw_5fdistance_0',['raw_distance',['https://knncolle.github.io/knncolle/structknncolle_1_1EuclideanDistance.html#a0d6936a53ba4ed0e0ca33c9ac2515d06',1,'knncolle::EuclideanDistance::raw_distance()'],['https://knncolle.github.io/knncolle/structknncolle_1_1ManhattanDistance.html#ac782b1cfdb76e144a3d84d674e661456',1,'knncolle::ManhattanDistance::raw_distance()'],['https://knncolle.github.io/knncolle/structknncolle_1_1MockDistance.html#a7cfc77c0fd9806f9030a617404a5f954',1,'knncolle::MockDistance::raw_distance()']]]
];
diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js
new file mode 100644
index 0000000..23a74b7
--- /dev/null
+++ b/docs/search/functions_b.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['search_0',['search',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#afef023240ea7ddcc28561c0f71c54601',1,'knncolle::BruteforceSearcher::search()'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#a3db2397321aec4f6e89774f22f71c482',1,'knncolle::KmknnSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#aa7c1f3e8224d260adfec2625216e90c6',1,'knncolle::KmknnSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#a6ad140ee93a7af57fdb722c16476aee4',1,'knncolle::Searcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)=0'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#a9f4bac73a3dd958d1f09e1093bd1cf01',1,'knncolle::Searcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)=0'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#a3b2a7c230cfdf88cf1fa42896ca5909a',1,'knncolle::VptreeSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#ac86dd5bf34f233d04502e789224eb44a',1,'knncolle::VptreeSearcher::search(const Float_ *query, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#a5250b4ce7176fbe1a60783bc4dd324f0',1,'knncolle::BruteforceSearcher::search(Index_ i, Index_ k, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)']]],
+ ['search_5fall_1',['search_all',['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#a1164e4e1e627b716f9db91e8931872e9',1,'knncolle::BruteforceSearcher::search_all()'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#a51594cb79d1ea89aea64359690e5301e',1,'knncolle::VptreeSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1VptreeSearcher.html#ab1cdb331dcde946b831446f219979d3a',1,'knncolle::VptreeSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#adbe92827aebee347f57257591712d093',1,'knncolle::Searcher::search_all(const Float_ *query, Float_ distance, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1Searcher.html#ae7fb8a8e436303c5917f3717393cf056',1,'knncolle::Searcher::search_all(Index_ i, Float_ distance, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#a268f3f69058d2d5a1d0514d37ec5f97c',1,'knncolle::KmknnSearcher::search_all(const Float_ *query, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1KmknnSearcher.html#ac31860ebca446559f97c8b07f4c37efa',1,'knncolle::KmknnSearcher::search_all(Index_ i, Float_ d, std::vector< Index_ > *output_indices, std::vector< Float_ > *output_distances)'],['https://knncolle.github.io/knncolle/classknncolle_1_1BruteforceSearcher.html#aae68bf23ca7d80dbf0a6138cb8cb6d15',1,'knncolle::BruteforceSearcher::search_all()']]],
+ ['simplematrix_2',['SimpleMatrix',['https://knncolle.github.io/knncolle/classknncolle_1_1SimpleMatrix.html#a5ff473e3597354a19a09456f6580121a',1,'knncolle::SimpleMatrix']]]
+];
diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js
new file mode 100644
index 0000000..4e393da
--- /dev/null
+++ b/docs/search/functions_c.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['vptreeprebuilt_0',['VptreePrebuilt',['https://knncolle.github.io/knncolle/classknncolle_1_1VptreePrebuilt.html#a5391976fe1e6b957181229a8590a6ca3',1,'knncolle::VptreePrebuilt']]]
+];
diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js
index 799e39d..17bc1d9 100644
--- a/docs/search/searchdata.js
+++ b/docs/search/searchdata.js
@@ -1,10 +1,10 @@
var indexSectionsWithContent =
{
- 0: "bcdefgikmnoprsvw",
- 1: "bekmopsvw",
+ 0: "bcdefgiklmnoprsvw",
+ 1: "beklmopsvw",
2: "kn",
- 3: "bdfkmnpsv",
- 4: "bcdfgiknrsv",
+ 3: "bdfklmnpsv",
+ 4: "bcdfgiklnprsv",
5: "imnpr",
6: "dino",
7: "ns"
diff --git a/docs/search/typedefs_2.js b/docs/search/typedefs_2.js
index d0800fd..2755f39 100644
--- a/docs/search/typedefs_2.js
+++ b/docs/search/typedefs_2.js
@@ -1,4 +1,4 @@
var searchData=
[
- ['neighborlist_0',['NeighborList',['https://knncolle.github.io/knncolle/namespaceknncolle.html#a3faddeb80b10f56cb982a4e83ad3aca9',1,'knncolle']]]
+ ['neighborlist_0',['NeighborList',['https://knncolle.github.io/knncolle/namespaceknncolle.html#a25d7a950cf7745b99bc834b79e064c09',1,'knncolle']]]
];
diff --git a/docs/structnenesub_1_1Options.html b/docs/structnenesub_1_1Options.html
index 3f93ce4..38a0d38 100644
--- a/docs/structnenesub_1_1Options.html
+++ b/docs/structnenesub_1_1Options.html
@@ -147,7 +147,7 @@