Skip to content

Commit 2ab8735

Browse files
perf: reduce number of scans for lower connectivities in bidirectional
1 parent 334e100 commit 2ab8735

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

dijkstra3d.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -769,14 +769,14 @@ template <typename T, typename OUT>
769769
inline void bidirectional_core(
770770
const size_t loc,
771771
T* field, float *dist, OUT* parents,
772-
int *neighborhood,
772+
int *neighborhood, int connectivity,
773773
std::priority_queue<HeapNode<OUT>, std::vector<HeapNode<OUT>>, HeapNodeCompare<OUT>> &queue
774774
) {
775775

776776
float delta;
777777
size_t neighboridx;
778778

779-
for (int i = 0; i < NHOOD_SIZE; i++) {
779+
for (int i = 0; i < connectivity; i++) {
780780
if (neighborhood[i] == 0) {
781781
continue;
782782
}
@@ -915,13 +915,13 @@ std::vector<OUT> bidirectional_dijkstra3d(
915915
if (forward) {
916916
bidirectional_core<T,OUT>(
917917
loc, field, dist_fwd, parents_fwd,
918-
neighborhood, queue_fwd
918+
neighborhood, connectivity, queue_fwd
919919
);
920920
}
921921
else {
922922
bidirectional_core<T,OUT>(
923923
loc, field, dist_rev, parents_rev,
924-
neighborhood, queue_rev
924+
neighborhood, connectivity, queue_rev
925925
);
926926
}
927927
}

0 commit comments

Comments
 (0)