* installing *source* package ‘geokmeans’ ... ** this is package ‘geokmeans’ version ‘0.1.0’ ** package ‘geokmeans’ successfully unpacked and MD5 sums checked ** using staged installation ** libs specified C++17 using C++ compiler: ‘g++ (GCC) 16.2.1 20260819 (Red Hat 16.2.1-2)’ using C++17 make[1]: Entering directory '/data/localhost/ripley/R/packages/tests-devel/geokmeans/src' g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DGEOKM_R_BUILD -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I/usr/local/include -fpic -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -c RcppExports.cpp -o RcppExports.o g++ -std=gnu++17 -I"/data/localhost/ripley/R/R-devel/include" -DNDEBUG -DGEOKM_R_BUILD -I'/data/localhost/ripley/R/test-dev/Rcpp/include' -I'/data/localhost/ripley/R/test-dev/RcppEigen/include' -I/usr/local/include -fpic -g -O2 -Wall -pedantic -mtune=native -Wno-ignored-attributes -Wno-parentheses -Wp,-D_FORTIFY_SOURCE=3 -fexceptions -fstack-protector-strong -fstack-clash-protection -fcf-protection -c kmeans_rcpp.cpp -o kmeans_rcpp.o In file included from kmeans_rcpp.cpp:44: IOutils.h: In function ‘std::pair<_ForwardIterator, _ForwardIterator> readSimulatedData(std::string, std::vector >&, std::vector&, bool, bool)’: IOutils.h:179:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 179 | if (head_present) | ^~ IOutils.h:181:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 181 | numRows-=1; | ^~~~~~~ In file included from kmeans_rcpp.cpp:45: algo_utils.h: In member function ‘bool algorithm_utils::check_convergence(std::vector >&, std::vector >&, T1, float&, float&, int&, int&)’: algo_utils.h:652:13: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 652 | for (j=0; j< new_centroids[i].size(); j++) | ^~~ algo_utils.h:654:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 654 | diff += (temp_diff * temp_diff); | ^~~~ In file included from kmeans_rcpp.cpp:53: ball_kmeans_xf.h: At global scope: ball_kmeans_xf.h:31:1: warning: ‘typedef’ was ignored in this declaration 31 | typedef struct Neighbor | ^~~~~~~ ball_kmeans_xf.h: In function ‘bool check_convergence(MatrixOur&, MatrixOur&, float)’: ball_kmeans_xf.h:97:13: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 97 | for (j=0; j::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 254 | for(int j = 0; j < cluster_point_index[i].size(); j++){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ball_kmeans_xf.h: In function ‘output_data ball_k_means_Ring(MatrixOur&, bool, int, double, int, std::string, int)’: ball_kmeans_xf.h:335:30: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare] 335 | while (iteration_counter < iters) { | ~~~~~~~~~~~~~~~~~~^~~~~~~ ball_kmeans_xf.h:399:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 399 | for (int i = 0; i < clusters_neighbors_index[now_ball].size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ball_kmeans_xf.h:454:62: warning: comparison of integer expressions of different signedness: ‘Eigen::DenseCoeffsBase, 1>::Scalar’ {aka ‘int’} and ‘unsigned int’ [-Wsign-compare] 454 | if (labels[now_data_index[j - 1][i]] != new_label) { ball_kmeans_xf.h:434:21: warning: unused variable ‘lenth’ [-Wunused-variable] 434 | int lenth = old_now_index.size(); | ^~~~~ ball_kmeans_xf.h: In function ‘MatrixOur ball_k_means_noRing(MatrixOur&, MatrixOur&, bool, double, int)’: ball_kmeans_xf.h:581:30: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare] 581 | while (iteration_counter < iters) { | ~~~~~~~~~~~~~~~~~~^~~~~~~ ball_kmeans_xf.h:646:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 646 | for (int i = 0; i < clusters_neighbors_index[now_ball].size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ball_kmeans_xf.h:692:51: warning: comparison of integer expressions of different signedness: ‘Eigen::DenseCoeffsBase, 1>::Scalar’ {aka ‘int’} and ‘unsigned int’ [-Wsign-compare] 692 | if (labels[now_data_index[i]] != new_label) { ball_kmeans_xf.h:553:18: warning: variable ‘now_centers_rows’ set but not used [-Wunused-but-set-variable=] 553 | unsigned int now_centers_rows; | ^~~~~~~~~~~~~~~~ ball_kmeans_xf.h:570:10: warning: variable ‘start’ set but not used [-Wunused-but-set-variable=] 570 | auto start = std::chrono::high_resolution_clock::now(); | ^~~~~ ball_kmeans_xf.h: In function ‘MatrixOur cal_ring_dist_Ring(unsigned int, unsigned int, unsigned int, MatrixOur&, MatrixOur&, ClusterIndexVector&)’: ball_kmeans_xf.h:1102:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 1102 | for(int k=0; k&) [with Tfloat = float]’: annulus.h:38:51: required from here 38 | float temp = ann.point_point_inner_product(centroids[c1]); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ annulus_utils.h:28:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 28 | for(int i=0; i< point.size(); i++){ | ~^~~~~~~~~~~~~~ In file included from kmeans_rcpp.cpp:47: lloyd_kmeans.h: In instantiation of ‘output_data lloyd_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’: kmeans_rcpp.cpp:134:31: required from here 134 | output_data r = lloyd_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lloyd_kmeans.h:36:17: warning: unused variable ‘pu’ [-Wunused-variable] 36 | print_utils pu; | ^~ lloyd_kmeans.h:44:9: warning: unused variable ‘tt’ [-Wunused-variable] 44 | int tt = 1; | ^~ In file included from kmeans_rcpp.cpp:49: elkan.h: In instantiation of ‘output_data elkan_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’: kmeans_rcpp.cpp:145:31: required from here 145 | output_data r = elkan_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ elkan.h:92:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 92 | for(i=0; i >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 97 | for(i=0; i >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 110 | for(j=0 ; j< centroids.size(); j++){ | ~^~~~~~~~~~~~~~~~~~ elkan.h:182:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 182 | for(int i=0; i >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’: kmeans_rcpp.cpp:156:33: required from here 156 | output_data r = hamerly_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ hamerly.h:66:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 66 | for(i=0; i< cluster_count.size(); i++) | ~^~~~~~~~~~~~~~~~~~~~~~ hamerly.h:70:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 70 | for(i=0; i >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 87 | for(j=0 ; j< centroids.size(); j++){ | ~^~~~~~~~~~~~~~~~~~ hamerly.h:109:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 109 | for(int i=0; i >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’: kmeans_rcpp.cpp:167:26: required from here 167 | output_data r = annulus(X, num_clusters, static_cast(threshold), | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 168 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ annulus.h:110:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 110 | for (int i = 0; i < dataset.size(); ++i) { | ~~^~~~~~~~~~~~~~~~ annulus.h:135:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 135 | for(i=0; i< cluster_count.size(); i++) | ~^~~~~~~~~~~~~~~~~~~~~~ annulus.h:143:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 143 | for (int i = 0; i < dataset.size(); ++i) { | ~~^~~~~~~~~~~~~~~~ annulus.h:199:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 199 | for(int i=0; i >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’: kmeans_rcpp.cpp:178:27: required from here 178 | output_data r = exponion(X, num_clusters, static_cast(threshold), | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 179 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ exponion.h:107:19: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 107 | for(i=0; i< cluster_count.size(); i++) | ~^~~~~~~~~~~~~~~~~~~~~~ exponion.h:123:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 123 | for (int i = 0; i < dataset.size(); ++i) { | ~~^~~~~~~~~~~~~~~~ exponion.h:170:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 170 | for(int i=0; i >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’: kmeans_rcpp.cpp:189:28: required from here 189 | output_data r = geokmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokmeans.h:97:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 97 | for(int i=0; i >&, std::vector >&, T2, T2, std::string) [with T1 = float; T2 = int; std::string = std::__cxx11::basic_string]’: lloyd_kmeans.h:47:29: required from ‘output_data lloyd_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 47 | alg_utils.init_centroids(centroids, dataset, num_clusters, seed, init_type); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:134:31: required from here 134 | output_data r = lloyd_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:207:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 207 | for(j=0; j ::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 214 | for(j=0; j >&, std::vector >&, T2, std::vector&, std::vector >&, long long unsigned int&) [with T1 = float; T2 = int]’: lloyd_kmeans.h:49:34: required from ‘output_data lloyd_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 49 | alg_utils.calculate_distances(dataset, centroids, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 50 | num_clusters, assigned_clusters, cluster_size, dist_counter); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:134:31: required from here 134 | output_data r = lloyd_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:354:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 354 | for (i=0; i < dataset.size(); i++){ | ~~^~~~~~~~~~~~~~~~ algo_utils.h:358:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 358 | for (j=0; j < centroids.size(); j++){ | ~~^~~~~~~~~~~~~~~~~~ algo_utils.h: In instantiation of ‘void algorithm_utils::update_centroids(std::vector >&, std::vector >&, std::vector&, std::vector >&, T2) [with T1 = float; T2 = int]’: lloyd_kmeans.h:58:35: required from ‘output_data lloyd_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 58 | alg_utils.update_centroids(dataset, new_centroids, assigned_clusters, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 59 | cluster_size, numCols); | ~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:134:31: required from here 134 | output_data r = lloyd_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:561:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 561 | for (index=0; index >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 569 | for(int i=0; i::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 572 | for (j = 0; j < new_centroids[i].size(); j++){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h: In instantiation of ‘bool algorithm_utils::check_convergence(std::vector >&, std::vector >&, T1, float&, float&, int&, int&) [with T1 = float]’: lloyd_kmeans.h:63:40: required from ‘output_data lloyd_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 63 | if (alg_utils.check_convergence(new_centroids, centroids, threshold, diff, temp_diff, i, j)){ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:134:31: required from here 134 | output_data r = lloyd_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:651:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 651 | for (i=0; i::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 652 | for (j=0; j< new_centroids[i].size(); j++) | ~^~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h: In instantiation of ‘void algorithm_utils::reinit(std::vector >&) [with T1 = float]’: lloyd_kmeans.h:76:25: required from ‘output_data lloyd_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 76 | alg_utils.reinit(new_centroids); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ kmeans_rcpp.cpp:134:31: required from here 134 | output_data r = lloyd_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 135 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:115:18: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 115 | for(int i=0;i >&, std::vector >&, T2, std::vector&, long long unsigned int&) [with T1 = float; T2 = int]’: elkan.h:72:39: required from ‘output_data elkan_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 72 | alg_utils.calculate_distances_test(dataset, centroids, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 73 | num_clusters, assigned_clusters, dist_counter); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:145:31: required from here 145 | output_data r = elkan_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:486:17: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 486 | for (i=0; i < dataset.size(); i++){ | ~~^~~~~~~~~~~~~~~~ algo_utils.h:491:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 491 | for (j=0; j < centroids.size(); j++){ | ~~^~~~~~~~~~~~~~~~~~ In file included from elkan.h:8: elkan_utils.h: In instantiation of ‘void find_centroid_distances(const std::vector >&, std::vector >&, std::vector&, long long unsigned int&) [with Tfloat = float]’: elkan.h:86:32: required from ‘output_data elkan_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 86 | find_centroid_distances(centroids, centroid_dists, closest_center_dist, dist_counter); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:145:31: required from here 145 | output_data r = elkan_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ elkan_utils.h:33:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 33 | for (int i=0; i >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 37 | for (int j=i+1; j < centroids.size(); j++){ | ~~^~~~~~~~~~~~~~~~~~ algo_utils.h: In instantiation of ‘float algorithm_utils::calc_euclidean(const std::vector&, const std::vector&, long long unsigned int&) [with T1 = float]’: elkan.h:132:52: required from ‘output_data elkan_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 132 | dist = alg_utils.calc_euclidean(dataset[i], centroids[my_cluster], dist_counter); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:145:31: required from here 145 | output_data r = elkan_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:288:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 288 | for (int i=0; i < point.size(); i++){ | ~~^~~~~~~~~~~~~~ algo_utils.h: In instantiation of ‘void algorithm_utils::update_centroids_ham(std::vector >&, std::vector >&, std::vector >&, std::vector&, std::vector&, std::vector&, T2, long long unsigned int&) [with T1 = float; T2 = int]’: elkan.h:193:39: required from ‘output_data elkan_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 193 | alg_utils.update_centroids_ham(dataset, new_centroids, centroids, centroid_motion, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 194 | assigned_clusters, cluster_count, numCols, dist_counter); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:145:31: required from here 145 | output_data r = elkan_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:621:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 621 | for (index=0; index >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 629 | for(int i=0; i::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 633 | for (j = 0; j < new_centroids[i].size(); j++){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h: In instantiation of ‘bool algorithm_utils::check_convergence_ub_lb(std::vector&, T1, float&, float&, int&, int&) [with T1 = float]’: elkan.h:197:46: required from ‘output_data elkan_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 197 | if (alg_utils.check_convergence_ub_lb(centroid_motion, threshold, diff, temp_diff, i, j)){ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:145:31: required from here 145 | output_data r = elkan_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:673:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 673 | for (i=0; i&, std::vector >&, std::vector&, std::vector&) [with Tfloat = float; Tint = int]’: elkan.h:206:26: required from ‘output_data elkan_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 206 | update_elk_bounds(upper_bounds, lower_bounds, centroid_motion, assigned_clusters); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:145:31: required from here 145 | output_data r = elkan_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 146 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ elkan_utils.h:59:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 59 | for (int i = 0; i < assigned_clusters.size(); i++){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ elkan_utils.h:62:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 62 | for (int j = 0; j >&, std::vector&, long long unsigned int&) [with Tfloat = float]’: hamerly.h:61:28: required from ‘output_data hamerly_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 61 | find_closest_center(centroids, closest_center_dist, dist_counter); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:156:33: required from here 156 | output_data r = hamerly_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:161:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 161 | for (int i=0; i >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 164 | for (int i=0; i >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 165 | for (int j=i+1; j&, std::vector&, std::vector&, std::vector&) [with Tfloat = float; Tint = int]’: hamerly.h:127:22: required from ‘output_data hamerly_kmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 127 | update_bounds(upper_bound, lower_bound, centroid_motion, assigned_clusters); | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:156:33: required from here 156 | output_data r = hamerly_kmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 157 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:642:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 642 | for (int i = 0; i < centroid_motion.size(); i++){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:655:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 655 | for (int i = 0; i < assigned_clusters.size(); i++){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h: In instantiation of ‘float calc_squared_dist(const std::vector&, const std::vector&) [with T1 = float]’: annulus.h:154:41: required from ‘output_data annulus(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 154 | float u2 = calc_squared_dist(dataset[i], centroids[my_cluster]); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:167:26: required from here 167 | output_data r = annulus(X, num_clusters, static_cast(threshold), | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 168 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ algo_utils.h:308:21: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 308 | for (int i=0; i < point.size(); i++){ | ~~^~~~~~~~~~~~~~ geokm_utils.h: In instantiation of ‘void find_exp_neighbors(std::vector >&, std::vector >&, std::vector&, std::vector > >&, long long unsigned int&) [with TD = float; Tint = int]’: exponion.h:101:27: required from ‘output_data exponion(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 101 | find_exp_neighbors(centroids, center_dist_mat, closest_center_dist, center_center_dist, dist_counter); | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:178:27: required from here 178 | output_data r = exponion(X, num_clusters, static_cast(threshold), | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 179 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:443:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 443 | for (int i=0; i >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 448 | for(curr_center=0; curr_center >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 454 | for (ot_center=curr_center+1; ot_center >&, std::vector >&, std::vector&, std::vector >&, std::vector >&, std::vector > >&, std::vector > >&, long long unsigned int&) [with TD = float; TI = int]’: geokmeans.h:92:23: required from ‘output_data geokmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 92 | find_neighbors(new_centroids, center_dist_mat, closest_center, cluster_size, neighbors, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 93 | mid_points, affine_vectors, dist_counter); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:189:28: required from here 189 | output_data r = geokmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:193:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 193 | for (int i=0; i >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 198 | for(curr_center=0; curr_center >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 202 | for (ot_center=curr_center+1; ot_center >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 221 | for(curr_center=0; curr_center >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 226 | for (ot_center=0; ot_center >&, std::vector >&, std::vector >&, std::vector >&, std::vector&, std::vector&, std::vector >&, std::vector > >&, std::vector > >&, long long unsigned int&, std::vector&) [with Tfloat = float; Tint = int]’: geokmeans.h:100:34: required from ‘output_data geokmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 100 | determine_data_expression(dataset, new_centroids, cluster_size, center_dist_mat, closest_center, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | assigned_clusters, neighbors, affine_vectors, mid_points, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 102 | dist_counter, temp1); | ~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:189:28: required from here 189 | output_data r = geokmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:501:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 501 | for (i = 0; i < assigned_clusters.size(); i++){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:522:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 522 | for (j=0; j&, const std::vector&, std::vector > >&, std::vector > >&, int&, int&) [with Tfloat = float]’: geokm_utils.h:236:31: required from ‘void find_neighbors(std::vector >&, std::vector >&, std::vector&, std::vector >&, std::vector >&, std::vector > >&, std::vector > >&, long long unsigned int&) [with TD = float; TI = int]’ 236 | find_midpoints(centroids[curr_center], centroids[ot_center], mid_points, affine_vectors, curr_center, ot_center); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokmeans.h:92:23: required from ‘output_data geokmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 92 | find_neighbors(new_centroids, center_dist_mat, closest_center, cluster_size, neighbors, | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 93 | mid_points, affine_vectors, dist_counter); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:189:28: required from here 189 | output_data r = geokmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:102:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 102 | for (int i=0; i&, const std::vector&, const std::vector&, float&) [with Tfloat = float]’: geokm_utils.h:526:39: required from ‘void determine_data_expression(std::vector >&, std::vector >&, std::vector >&, std::vector >&, std::vector&, std::vector&, std::vector >&, std::vector > >&, std::vector > >&, long long unsigned int&, std::vector&) [with Tfloat = float; Tint = int]’ 526 | if (find_context_direction(dataset[i], affine_vectors[my_cluster][neighbors[my_cluster][j]], | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 527 | mid_points[my_cluster][neighbors[my_cluster][j]], temp_result)){ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokmeans.h:100:34: required from ‘output_data geokmeans(std::vector >&, Tint, Tfloat, Tint, Tint, std::string, Tint) [with Tfloat = float; Tint = int; std::string = std::__cxx11::basic_string]’ 100 | determine_data_expression(dataset, new_centroids, cluster_size, center_dist_mat, closest_center, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101 | assigned_clusters, neighbors, affine_vectors, mid_points, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 102 | dist_counter, temp1); | ~~~~~~~~~~~~~~~~~~~~ kmeans_rcpp.cpp:189:28: required from here 189 | output_data r = geokmeans(X, num_clusters, static_cast(threshold), | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 190 | num_iterations, data.ncol(), init_type, seed); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ geokm_utils.h:119:20: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 119 | for (int i=0; i