summaryrefslogtreecommitdiff
path: root/src/Witness_complex
diff options
context:
space:
mode:
Diffstat (limited to 'src/Witness_complex')
-rw-r--r--src/Witness_complex/include/gudhi/Witness_complex.h25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/Witness_complex/include/gudhi/Witness_complex.h b/src/Witness_complex/include/gudhi/Witness_complex.h
index e2dcdf79..c633691b 100644
--- a/src/Witness_complex/include/gudhi/Witness_complex.h
+++ b/src/Witness_complex/include/gudhi/Witness_complex.h
@@ -510,22 +510,25 @@ private:
//std::cout << "Push't back\n";
j = current_number_of_landmarks;
//std::cout << "First half complete\n";
- while (j > 0 && wit_land_dist[i][j-1] > wit_land_dist[i][j])
- {
- // sort the closest landmark vector for every witness
- temp_swap_int = WL[i][j];
- WL[i][j] = WL[i][j-1];
- WL[i][j-1] = temp_swap_int;
- temp_swap_double = wit_land_dist[i][j];
- wit_land_dist[i][j] = wit_land_dist[i][j-1];
- wit_land_dist[i][j-1] = temp_swap_double;
- --j;
- }
//std::cout << "result WL="; print_vvector(WL);
//std::cout << "result WLD="; print_vvector(wit_land_dist);
//std::cout << "End loop\n";
}
}
+ for (int i = 0; i < nbP; i++)
+ {
+ // sort the closest landmark vector for every witness
+ sort(WL[i].begin(), WL[i].end(), [&](int j1, int j2){return wit_land_dist[i][j1] < wit_land_dist[i][j2];});
+ /*
+ temp_swap_int = WL[i][j];
+ WL[i][j] = WL[i][j-1];
+ WL[i][j-1] = temp_swap_int;
+ temp_swap_double = wit_land_dist[i][j];
+ wit_land_dist[i][j] = wit_land_dist[i][j-1];
+ wit_land_dist[i][j-1] = temp_swap_double;
+ --j;
+ */
+ }
//std::cout << endl;
}