* installing *source* package 'recometrics' ...
** this is package 'recometrics' version '0.1.6-3'
** package 'recometrics' successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: 'g++.exe (GCC) 14.3.0'
make[1]: Entering directory '/d/temp/2025_11_13_01_50_00_26121/Rtmp6N3dvi/R.INSTALLeac0341c68a0/recometrics/src'
g++ -std=gnu++17 -I"D:/RCompile/recent/R/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -I'D:/RCompile/CRANpkg/lib/4.6/Rcpp/include' -I'D:/RCompile/CRANpkg/lib/4.6/float/include' -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include" -fopenmp -fno-trapping-math -fno-math-errno -pedantic -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++17 -I"D:/RCompile/recent/R/include" -DNDEBUG -DRCPP_USE_UNWIND_PROTECT -D_FOR_R -I'D:/RCompile/CRANpkg/lib/4.6/Rcpp/include' -I'D:/RCompile/CRANpkg/lib/4.6/float/include' -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include" -fopenmp -fno-trapping-math -fno-math-errno -pedantic -O2 -Wall -mfpmath=sse -msse2 -mstackrealign -c Rwrapper.cpp -o Rwrapper.o
In file included from D:/RCompile/recent/R/include/R.h:73,
from recometrics.hpp:78,
from Rwrapper.cpp:28:
D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/exceptions.h: In function 'void Rcpp::Rf_warning(const char*, Args&& ...) [with Args = {const char*}]':
D:/RCompile/recent/R/include/R_ext/Error.h:85:17: warning: infinite recursion detected [-Winfinite-recursion]
85 | #define warning Rf_warning
| ^~~~~~~~~~
D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/exceptions.h:190:17: note: in expansion of macro 'warning'
190 | inline void warning(const char* fmt, Args&&... args ) {
| ^~~~~~~
In file included from D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/RcppCommon.h:133,
from D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp.h:27,
from Rwrapper.cpp:30:
D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/exceptions.h:191:19: note: recursive call
191 | Rf_warning("%s", tfm::format(fmt, std::forward<Args>(args)... ).c_str());
| ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function '_Z12calc_metricsIdEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0':
recometrics.hpp:661:56: warning: 'test_bool_thread' may be used uninitialized [-Wmaybe-uninitialized]
661 | if (test_bool_thread[ind_thread[ix]])
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
recometrics.hpp:401:20: note: 'test_bool_thread' was declared here
401 | bool *restrict test_bool_thread = nullptr;
| ^~~~~~~~~~~~~~~~
recometrics.hpp:742:34: warning: 'ndcg_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
742 | std::fill(ndcg_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
743 | ndcg_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
744 | ndcg_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:413:22: note: 'ndcg_at_k_user' was declared here
413 | real_t *restrict ndcg_at_k_user = nullptr;
| ^~~~~~~~~~~~~~
recometrics.hpp:735:34: warning: 'rr_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
735 | std::fill(rr_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
736 | rr_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
737 | rr_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:415:22: note: 'rr_at_k_user' was declared here
415 | real_t *restrict rr_at_k_user = nullptr;
| ^~~~~~~~~~~~
In file included from D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/algorithm:60,
from recometrics.hpp:27:
In function '_OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = double*; _Size = int; _Tp = double]',
inlined from '_OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = double*; _Size = int; _Tp = double]' at D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_algobase.h:1183:29,
inlined from '_Z12calc_metricsIdEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0' at recometrics.hpp:763:42:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_algobase.h:1154:20: warning: 'hit_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
1154 | std::__fill_a(__first, __first + __n, __value);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function '_Z12calc_metricsIdEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0':
recometrics.hpp:414:22: note: 'hit_at_k_user' was declared here
414 | real_t *restrict hit_at_k_user = nullptr;
| ^~~~~~~~~~~~~
recometrics.hpp:728:34: warning: 'tap_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
728 | std::fill(tap_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
729 | tap_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
730 | tap_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:412:22: note: 'tap_at_k_user' was declared here
412 | real_t *restrict tap_at_k_user = nullptr;
| ^~~~~~~~~~~~~
recometrics.hpp:721:34: warning: 'ap_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
721 | std::fill(ap_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
722 | ap_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
723 | ap_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:411:22: note: 'ap_at_k_user' was declared here
411 | real_t *restrict ap_at_k_user = nullptr;
| ^~~~~~~~~~~~
In function '_OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = double*; _Size = int; _Tp = double]',
inlined from '_OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = double*; _Size = int; _Tp = double]' at D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_algobase.h:1183:29,
inlined from '_Z12calc_metricsIdEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0' at recometrics.hpp:762:40:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_algobase.h:1154:20: warning: 'r_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
1154 | std::__fill_a(__first, __first + __n, __value);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function '_Z12calc_metricsIdEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0':
recometrics.hpp:410:22: note: 'r_at_k_user' was declared here
410 | real_t *restrict r_at_k_user = nullptr;
| ^~~~~~~~~~~
recometrics.hpp:715:43: warning: 'tp_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
715 | if (tp_at_k) std::fill(tp_at_k_user + move_to, tp_at_k_user + k_metrics, NAN_);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:409:22: note: 'tp_at_k_user' was declared here
409 | real_t *restrict tp_at_k_user = nullptr;
| ^~~~~~~~~~~~
recometrics.hpp:714:42: warning: 'p_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
714 | if (p_at_k) std::fill(p_at_k_user + move_to, p_at_k_user + k_metrics, NAN_);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:408:22: note: 'p_at_k_user' was declared here
408 | real_t *restrict p_at_k_user = nullptr;
| ^~~~~~~~~~~
recometrics.hpp: In function '_Z12calc_metricsIfEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0':
recometrics.hpp:661:56: warning: 'test_bool_thread' may be used uninitialized [-Wmaybe-uninitialized]
661 | if (test_bool_thread[ind_thread[ix]])
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
recometrics.hpp:401:20: note: 'test_bool_thread' was declared here
401 | bool *restrict test_bool_thread = nullptr;
| ^~~~~~~~~~~~~~~~
recometrics.hpp:742:34: warning: 'ndcg_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
742 | std::fill(ndcg_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
743 | ndcg_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
744 | ndcg_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:413:22: note: 'ndcg_at_k_user' was declared here
413 | real_t *restrict ndcg_at_k_user = nullptr;
| ^~~~~~~~~~~~~~
recometrics.hpp:735:34: warning: 'rr_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
735 | std::fill(rr_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
736 | rr_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
737 | rr_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:415:22: note: 'rr_at_k_user' was declared here
415 | real_t *restrict rr_at_k_user = nullptr;
| ^~~~~~~~~~~~
In function '_OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = float*; _Size = int; _Tp = double]',
inlined from '_OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = float*; _Size = int; _Tp = double]' at D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_algobase.h:1183:29,
inlined from '_Z12calc_metricsIfEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0' at recometrics.hpp:763:42:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_algobase.h:1154:20: warning: 'hit_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
1154 | std::__fill_a(__first, __first + __n, __value);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function '_Z12calc_metricsIfEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0':
recometrics.hpp:414:22: note: 'hit_at_k_user' was declared here
414 | real_t *restrict hit_at_k_user = nullptr;
| ^~~~~~~~~~~~~
recometrics.hpp:728:34: warning: 'tap_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
728 | std::fill(tap_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
729 | tap_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
730 | tap_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:412:22: note: 'tap_at_k_user' was declared here
412 | real_t *restrict tap_at_k_user = nullptr;
| ^~~~~~~~~~~~~
recometrics.hpp:721:34: warning: 'ap_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
721 | std::fill(ap_at_k_user + move_to,
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
722 | ap_at_k_user + k_metrics,
| ~~~~~~~~~~~~~~~~~~~~~~~~~
723 | ap_at_k_user[move_to-1]);
| ~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:411:22: note: 'ap_at_k_user' was declared here
411 | real_t *restrict ap_at_k_user = nullptr;
| ^~~~~~~~~~~~
In function '_OutputIterator std::__fill_n_a(_OutputIterator, _Size, const _Tp&, random_access_iterator_tag) [with _OutputIterator = float*; _Size = int; _Tp = double]',
inlined from '_OI std::fill_n(_OI, _Size, const _Tp&) [with _OI = float*; _Size = int; _Tp = double]' at D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_algobase.h:1183:29,
inlined from '_Z12calc_metricsIfEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0' at recometrics.hpp:762:40:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/stl_algobase.h:1154:20: warning: 'r_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
1154 | std::__fill_a(__first, __first + __n, __value);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp: In function '_Z12calc_metricsIfEvPKT_yS2_yiiiPKiS4_S4_PiS2_ibbPS0_S6_S6_S6_S6_S6_S6_S6_S6_S6_biiiy._omp_fn.0':
recometrics.hpp:410:22: note: 'r_at_k_user' was declared here
410 | real_t *restrict r_at_k_user = nullptr;
| ^~~~~~~~~~~
recometrics.hpp:715:43: warning: 'tp_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
715 | if (tp_at_k) std::fill(tp_at_k_user + move_to, tp_at_k_user + k_metrics, NAN_);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:409:22: note: 'tp_at_k_user' was declared here
409 | real_t *restrict tp_at_k_user = nullptr;
| ^~~~~~~~~~~~
recometrics.hpp:714:42: warning: 'p_at_k_user' may be used uninitialized [-Wmaybe-uninitialized]
714 | if (p_at_k) std::fill(p_at_k_user + move_to, p_at_k_user + k_metrics, NAN_);
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
recometrics.hpp:408:22: note: 'p_at_k_user' was declared here
408 | real_t *restrict p_at_k_user = nullptr;
| ^~~~~~~~~~~
g++ -std=gnu++17 -shared -s -static-libgcc -o recometrics.dll recometrics-win.def RcppExports.o Rwrapper.o -fopenmp -LD:/RCompile/recent/R/bin/x64 -lRblas -lgfortran -lquadmath -Ld:/rtools45/x86_64-w64-mingw32.static.posix/lib/x64 -Ld:/rtools45/x86_64-w64-mingw32.static.posix/lib -LD:/RCompile/recent/R/bin/x64 -lR
make[1]: Leaving directory '/d/temp/2025_11_13_01_50_00_26121/Rtmp6N3dvi/R.INSTALLeac0341c68a0/recometrics/src'
make[1]: Entering directory '/d/temp/2025_11_13_01_50_00_26121/Rtmp6N3dvi/R.INSTALLeac0341c68a0/recometrics/src'
make[1]: Leaving directory '/d/temp/2025_11_13_01_50_00_26121/Rtmp6N3dvi/R.INSTALLeac0341c68a0/recometrics/src'
installing to d:/Rcompile/CRANpkg/lib/4.6/00LOCK-recometrics/00new/recometrics/libs/x64
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** 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 'recometrics' as recometrics_0.1.6-3.zip
* DONE (recometrics)