* installing *source* package 'fastkmedoids' ...
** this is package 'fastkmedoids' version '1.2'
** package 'fastkmedoids' successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: 'g++.exe (GCC) 14.3.0'
using C++11
make[1]: Entering directory '/d/temp/2025_11_08_01_50_00_24415/RtmpKwWYQG/R.INSTALLc88862835e71/fastkmedoids/src'
g++ -std=gnu++11 -I"D:/RCompile/recent/R-4.5.2/include" -DNDEBUG -I'D:/RCompile/CRANpkg/lib/4.5/Rcpp/include' -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++11 -I"D:/RCompile/recent/R-4.5.2/include" -DNDEBUG -I'D:/RCompile/CRANpkg/lib/4.5/Rcpp/include' -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c pam.cpp -o pam.o
In file included from pam.cpp:21:
pam.h: In member function 'int Xoroshiro128Random::nextInt(int)':
pam.h:57:55: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
57 | int r = (int)((n & -n) == n ? nextLong() & n - 1 // power of two
| ~~^~~
pam.h: In member function 'std::vector<int> Xoroshiro128Random::randomSample(int, int)':
pam.h:82:35: warning: comparison of integer expressions of different signedness: 'std::unordered_map<int, bool>::size_type' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
82 | while (sample_dict.size() < samplesize) {
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
pam.h: At global scope:
pam.h:465:25: warning: 'virtual Assignment& Assignment::operator=(const Assignment&)' was hidden [-Woverloaded-virtual=]
465 | virtual Assignment& operator=(const Assignment& other);
| ^~~~~~~~
pam.h:533:7: note: by 'FastAssignment& FastAssignment::operator=(const FastAssignment&)'
533 | class FastAssignment : public Assignment
| ^~~~~~~~~~~~~~
pam.cpp: In member function 'double LAB::getMinDist(int, std::vector<int>&, std::vector<double>&)':
pam.cpp:132:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
132 | for (int i=0; i<medids.size(); ++i) {
| ~^~~~~~~~~~~~~~
pam.cpp: In member function 'virtual std::vector<int> LAB::run(const std::vector<int>&, int)':
pam.cpp:166:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
166 | for (int j=0; j<tempd.size(); ++j) tempd[j] = DBL_MIN;
| ~^~~~~~~~~~~~~
pam.cpp:191:25: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
191 | while(medids.size() < k) {
| ~~~~~~~~~~~~~~^~~
pam.cpp:203:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
203 | for (int j=0; j<tempd.size(); ++j) tempd[j] = DBL_MIN;
| ~^~~~~~~~~~~~~
pam.cpp: In member function 'virtual double PAM::assignToNearestCluster(std::vector<int>&)':
pam.cpp:374:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
374 | for (int j=0; j<means.size(); ++j) {
| ~^~~~~~~~~~~~~
pam.cpp: In member function 'void FastPAM::findBestSwaps(std::vector<int>&, std::vector<int>&, std::vector<double>&, std::vector<double>&)':
pam.cpp:522:24: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'long long unsigned int'} [-Wsign-compare]
522 | for (int j=0; j<n_medoids; ++j) cost[j] = -nearest[h];
| ~^~~~~~~~~~
pam.cpp:527:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
527 | for(int i = 0; i < cost.size(); i++) {
| ~~^~~~~~~~~~~~~
pam.cpp: In member function 'virtual void FastPAM::computeReassignmentCost(int, std::vector<double>&)':
pam.cpp:566:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
566 | for(int pi = pj + 1; pi < cost.size(); pi++) {
| ~~~^~~~~~~~~~~~~
pam.cpp: In member function 'virtual double FastPAM::assignToNearestCluster(std::vector<int>&)':
pam.cpp:608:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
608 | for (int h=0; h< means.size(); ++h) {
| ~^~~~~~~~~~~~~~
pam.cpp: In member function 'int FastPAM::argmin(const std::vector<double>&)':
pam.cpp:639:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
639 | for(int i = 0; i < best.size(); i++) {
| ~~^~~~~~~~~~~~~
pam.cpp: In member function 'int FastPAM::updateSecondNearest(int, std::vector<int>&, int, double, int)':
pam.cpp:716:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
716 | for (int i=0; i<medoids.size(); ++i) {
| ~^~~~~~~~~~~~~~~
pam.cpp: In static member function 'static std::vector<int> PAMUtils::randomSample(Xoroshiro128Random&, int, int, const std::vector<int>&)':
pam.cpp:740:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
740 | for (int i=0; i<previous.size(); ++i) {
| ~^~~~~~~~~~~~~~~~
pam.cpp:748:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
748 | for (int i=0; i<rest_rnds.size(); ++i) {
| ~^~~~~~~~~~~~~~~~~
pam.cpp:756:28: warning: comparison of integer expressions of different signedness: 'std::unordered_map<int, bool>::size_type' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
756 | if (sample_dict.size() < samplesize) {
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
pam.cpp:761:58: warning: comparison of integer expressions of different signedness: 'std::unordered_map<int, bool>::size_type' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
761 | for (int i=0; i<samplesize && sample_dict.size() < samplesize; ++i) {
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
pam.cpp: In member function 'virtual double CLARA::run()':
pam.cpp:822:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
822 | for (int k=0; k<bestmedoids.size(); ++k ) {
| ~^~~~~~~~~~~~~~~~~~~
pam.cpp: In member function 'double CLARA::assignRemainingToNearestCluster(std::vector<int>&, std::vector<int>&, std::vector<int>&, std::vector<int>&)':
pam.cpp:844:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
844 | for (int j=0; j<r_assignment.size(); ++j) {
| ~^~~~~~~~~~~~~~~~~~~~
pam.cpp:856:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
856 | for (int i=0; i<means.size(); ++i) {
| ~^~~~~~~~~~~~~
pam.cpp: In member function 'virtual double FastCLARA::run()':
pam.cpp:916:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
916 | for (int k=0; k<bestmedoids.size(); ++k ) {
| ~^~~~~~~~~~~~~~~~~~~
pam.cpp: In member function 'virtual double Assignment::recompute(int, int, double, int, double)':
pam.cpp:1119:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
1119 | for(int i = 0; i < medoids.size(); i++) {
| ~~^~~~~~~~~~~~~~~~
pam.cpp: In member function 'virtual bool Assignment::hasMedoid(int)':
pam.cpp:1157:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
1157 | for (int i=0; i<medoids.size(); ++i) {
| ~^~~~~~~~~~~~~~~
pam.cpp: In member function 'virtual double PAM::run(std::vector<int>&, int)':
pam.cpp:344:30: warning: 'bestid' may be used uninitialized [-Wmaybe-uninitialized]
344 | medoids[bestcluster] = bestid;
pam.cpp:313:9: note: 'bestid' was declared here
313 | int bestid;
| ^~~~~~
g++ -std=gnu++11 -I"D:/RCompile/recent/R-4.5.2/include" -DNDEBUG -I'D:/RCompile/CRANpkg/lib/4.5/Rcpp/include' -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include" -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c rcpp_fastkmedoids.cpp -o rcpp_fastkmedoids.o
In file included from rcpp_fastkmedoids.cpp:19:
pam.h: In member function 'int Xoroshiro128Random::nextInt(int)':
pam.h:57:55: warning: suggest parentheses around '-' in operand of '&' [-Wparentheses]
57 | int r = (int)((n & -n) == n ? nextLong() & n - 1 // power of two
| ~~^~~
pam.h: In member function 'std::vector<int> Xoroshiro128Random::randomSample(int, int)':
pam.h:82:35: warning: comparison of integer expressions of different signedness: 'std::unordered_map<int, bool>::size_type' {aka 'long long unsigned int'} and 'int' [-Wsign-compare]
82 | while (sample_dict.size() < samplesize) {
| ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
pam.h: At global scope:
pam.h:465:25: warning: 'virtual Assignment& Assignment::operator=(const Assignment&)' was hidden [-Woverloaded-virtual=]
465 | virtual Assignment& operator=(const Assignment& other);
| ^~~~~~~~
pam.h:533:7: note: by 'FastAssignment& FastAssignment::operator=(const FastAssignment&)'
533 | class FastAssignment : public Assignment
| ^~~~~~~~~~~~~~
g++ -shared -s -static-libgcc -o fastkmedoids.dll tmp.def RcppExports.o pam.o rcpp_fastkmedoids.o -Ld:/rtools45/x86_64-w64-mingw32.static.posix/lib/x64 -Ld:/rtools45/x86_64-w64-mingw32.static.posix/lib -LD:/RCompile/recent/R-4.5.2/bin/x64 -lR
make[1]: Leaving directory '/d/temp/2025_11_08_01_50_00_24415/RtmpKwWYQG/R.INSTALLc88862835e71/fastkmedoids/src'
make[1]: Entering directory '/d/temp/2025_11_08_01_50_00_24415/RtmpKwWYQG/R.INSTALLc88862835e71/fastkmedoids/src'
make[1]: Leaving directory '/d/temp/2025_11_08_01_50_00_24415/RtmpKwWYQG/R.INSTALLc88862835e71/fastkmedoids/src'
installing to d:/Rcompile/CRANpkg/lib/4.5/00LOCK-fastkmedoids/00new/fastkmedoids/libs/x64
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* MD5 sums
packaged installation of 'fastkmedoids' as fastkmedoids_1.2.zip
* DONE (fastkmedoids)