* installing to library ‘/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages’ * installing *source* package ‘rsparse’ ... ** package ‘rsparse’ successfully unpacked and MD5 sums checked ** using staged installation configure: creating ./config.status config.status: creating src/Makevars ** libs using C++ compiler: ‘g++-14 (Debian 14.2.0-8) 14.2.0’ make[1]: Entering directory '/home/hornik/tmp/scratch/RtmpsIVUiO/R.INSTALL2e2a386ce9ebd9/rsparse/src' g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c FTRL.cpp -o FTRL.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c GloVe.cpp -o GloVe.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c RcppExports.cpp -o RcppExports.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c factorization_machine.cpp -o factorization_machine.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c kmeans.cpp -o kmeans.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c matrix_top_product.cpp -o matrix_top_product.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c nnls.cpp -o nnls.o nnls.cpp: In function ‘arma::Mat<double> c_nnls_double(const arma::mat&, const arma::vec&, unsigned int, double)’: nnls.cpp:9:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 9 | for (auto i = 0; i < n; i++) { | ~~^~~ In file included from nnls.cpp:1: ../inst/include/nnls.hpp: In instantiation of ‘arma::Col<eT> scd_ls_update(const arma::Mat<eT>&, arma::Col<eT>&, arma::uword, double, const arma::Col<eT>&) [with T = double; arma::uword = unsigned int]’: ../inst/include/nnls.hpp:45:42: required from ‘arma::Col<eT> c_nnls(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, double) [with T = double; arma::uword = unsigned int]’ 45 | const arma::Col<T> H = scd_ls_update<T>(XtX, mu, max_iter, rel_tol, init); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nnls.cpp:14:24: required from here 14 | return c_nnls<double>(x, y, init, max_iter, rel_tol); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/nnls.hpp:17:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 17 | for (auto t = 0; t < max_iter; t++) { | ~~^~~~~~~~~~ ../inst/include/nnls.hpp:19:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 19 | for (auto k = 0; k < XtX.n_cols; k++) { | ~~^~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c rankmf.cpp -o rankmf.o rankmf.cpp: In instantiation of ‘void rankmf_solver(const MappedCSR<T2>&, arma::Mat<eT>&, arma::Mat<eT>&, arma::Col<eT>&, arma::Col<eT>&, const MappedCSR<T2>&, const MappedCSR<T2>&, arma::uword, arma::uword, T, T, T, T, T, arma::uword, bool, arma::uword, arma::uword, arma::uword, T, arma::uword, arma::uword) [with T = double; T2 = double; arma::uword = unsigned int]’: rankmf.cpp:305:32: required from here 305 | rankmf_solver<double, double>(x, W, H, W2_grad, H2_grad, user_features, item_features, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | rank, n_updates, learning_rate, gamma, lambda_user, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | lambda_item_positive, lambda_item_negative, n_threads, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | update_items, loss, kernel, max_negative_samples, margin, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | optimizer, report_progress); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ rankmf.cpp:240:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 240 | for (auto i = 0; i < user_features_nnz_indices.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rankmf.cpp:254:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 254 | for (auto i = 0; i < item_features_pos_nnz_indices.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rankmf.cpp:267:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 267 | for (auto i = 0; i < item_features_neg_nnz_indices.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rankmf.cpp: In instantiation of ‘void rankmf_solver(const MappedCSR<T2>&, arma::Mat<eT>&, arma::Mat<eT>&, arma::Col<eT>&, arma::Col<eT>&, const MappedCSR<T2>&, const MappedCSR<T2>&, arma::uword, arma::uword, T, T, T, T, T, arma::uword, bool, arma::uword, arma::uword, arma::uword, T, arma::uword, arma::uword) [with T = float; T2 = double; arma::uword = unsigned int]’: rankmf.cpp:348:31: required from here 348 | rankmf_solver<float, double>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 349 | x, W_float, H_float, W2_grad_float, H2_grad_float, user_features, item_features, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 350 | rank, n_updates, learning_rate, gamma, lambda_user, lambda_item_positive, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 351 | lambda_item_negative, n_threads, update_items, loss, kernel, max_negative_samples, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | margin, optimizer, report_progress); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rankmf.cpp:240:28: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 240 | for (auto i = 0; i < user_features_nnz_indices.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rankmf.cpp:254:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 254 | for (auto i = 0; i < item_features_pos_nnz_indices.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rankmf.cpp:267:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 267 | for (auto i = 0; i < item_features_neg_nnz_indices.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c utils.cpp -o utils.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c wrmf_explicit.cpp -o wrmf_explicit.o In file included from wrmf_explicit.cpp:1: ../inst/include/wrmf_explicit.hpp: In instantiation of ‘arma::Col<eT> cg_solver_explicit(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, T, arma::uword) [with T = double; arma::uword = unsigned int]’: ../inst/include/wrmf_explicit.hpp:101:38: required from ‘T als_explicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, const arma::Col<eT>&, bool, bool) [with T = double; dMappedCSC = MappedCSC<double>]’ 101 | Y_new = cg_solver_explicit<T>(X_nnz, confidence, init, lambda_use, cg_steps); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_explicit.cpp:10:38: required from here 10 | return (double)als_explicit<double>(Conf, X, Y, lambda, n_threads, solver, cg_steps, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11 | dynamic_lambda, cnt_X, with_biases, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 | is_x_bias_last_row); | ~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_explicit.hpp:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 20 | for (auto k = 0; k < n_iter; k++) { | ~~^~~~~~~~ ../inst/include/wrmf_explicit.hpp: In instantiation of ‘arma::Col<eT> cg_solver_explicit(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, T, arma::uword) [with T = float; arma::uword = unsigned int]’: ../inst/include/wrmf_explicit.hpp:101:38: required from ‘T als_explicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, const arma::Col<eT>&, bool, bool) [with T = float; dMappedCSC = MappedCSC<double>]’ 101 | Y_new = cg_solver_explicit<T>(X_nnz, confidence, init, lambda_use, cg_steps); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_explicit.cpp:24:37: required from here 24 | return (double)als_explicit<float>(Conf, X, Y, lambda, n_threads, solver, cg_steps, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 | dynamic_lambda, cnt_X, with_biases, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26 | is_x_bias_last_row); | ~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_explicit.hpp:20:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 20 | for (auto k = 0; k < n_iter; k++) { | ~~^~~~~~~~ In file included from ../inst/include/wrmf_explicit.hpp:1: ../inst/include/nnls.hpp: In instantiation of ‘arma::Col<eT> scd_ls_update(const arma::Mat<eT>&, arma::Col<eT>&, arma::uword, double, const arma::Col<eT>&) [with T = double; arma::uword = unsigned int]’: ../inst/include/nnls.hpp:45:42: required from ‘arma::Col<eT> c_nnls(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, double) [with T = double; arma::uword = unsigned int]’ 45 | const arma::Col<T> H = scd_ls_update<T>(XtX, mu, max_iter, rel_tol, init); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_explicit.hpp:110:28: required from ‘T als_explicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, const arma::Col<eT>&, bool, bool) [with T = double; dMappedCSC = MappedCSC<double>]’ 110 | Y_new = c_nnls<T>(lhs, rhs, init, SCD_MAX_ITER, SCD_TOL); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_explicit.cpp:10:38: required from here 10 | return (double)als_explicit<double>(Conf, X, Y, lambda, n_threads, solver, cg_steps, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 11 | dynamic_lambda, cnt_X, with_biases, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 | is_x_bias_last_row); | ~~~~~~~~~~~~~~~~~~~ ../inst/include/nnls.hpp:17:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 17 | for (auto t = 0; t < max_iter; t++) { | ~~^~~~~~~~~~ ../inst/include/nnls.hpp:19:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 19 | for (auto k = 0; k < XtX.n_cols; k++) { | ~~^~~~~~~~~~~~ ../inst/include/nnls.hpp: In instantiation of ‘arma::Col<eT> scd_ls_update(const arma::Mat<eT>&, arma::Col<eT>&, arma::uword, double, const arma::Col<eT>&) [with T = float; arma::uword = unsigned int]’: ../inst/include/nnls.hpp:45:42: required from ‘arma::Col<eT> c_nnls(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, double) [with T = float; arma::uword = unsigned int]’ 45 | const arma::Col<T> H = scd_ls_update<T>(XtX, mu, max_iter, rel_tol, init); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_explicit.hpp:110:28: required from ‘T als_explicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, const arma::Col<eT>&, bool, bool) [with T = float; dMappedCSC = MappedCSC<double>]’ 110 | Y_new = c_nnls<T>(lhs, rhs, init, SCD_MAX_ITER, SCD_TOL); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_explicit.cpp:24:37: required from here 24 | return (double)als_explicit<float>(Conf, X, Y, lambda, n_threads, solver, cg_steps, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 | dynamic_lambda, cnt_X, with_biases, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 26 | is_x_bias_last_row); | ~~~~~~~~~~~~~~~~~~~ ../inst/include/nnls.hpp:17:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 17 | for (auto t = 0; t < max_iter; t++) { | ~~^~~~~~~~~~ ../inst/include/nnls.hpp:19:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 19 | for (auto k = 0; k < XtX.n_cols; k++) { | ~~^~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c wrmf_implicit.cpp -o wrmf_implicit.o In file included from wrmf_implicit.cpp:1: ../inst/include/wrmf_implicit.hpp:140:5: warning: multi-line comment [-Wcomment] 140 | // rhs_user = rhs_init - \ | ^ ../inst/include/wrmf_implicit.hpp:221:11: warning: multi-line comment [-Wcomment] 221 | // rhs += (X_nnz.each_row() % confidence.t()) * \ | ^ ../inst/include/wrmf_implicit.hpp: In instantiation of ‘arma::Col<eT> cg_solver_implicit(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, const arma::Mat<eT>&) [with T = double; arma::uword = unsigned int]’: ../inst/include/wrmf_implicit.hpp:197:40: required from ‘T als_implicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, const arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, bool, double, arma::Col<eT>&, bool) [with T = double; dMappedCSC = MappedCSC<double>]’ 197 | Y_new = cg_solver_implicit<T>(X_nnz, confidence, init, cg_steps, XtX); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_implicit.cpp:11:38: required from here 11 | return (double)als_implicit<double>(Conf, X, Y, XtX, lambda, n_threads, solver, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 | cg_steps, with_biases, is_x_bias_last_row, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13 | global_bias, global_bias_base, initialize_bias_base); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_implicit.hpp:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 21 | for (auto k = 0; k < n_iter; k++) { | ~~^~~~~~~~ ../inst/include/wrmf_implicit.hpp: In instantiation of ‘arma::Col<eT> cg_solver_implicit_user_item_bias(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, T) [with T = double; arma::uword = unsigned int]’: ../inst/include/wrmf_implicit.hpp:200:55: required from ‘T als_implicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, const arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, bool, double, arma::Col<eT>&, bool) [with T = double; dMappedCSC = MappedCSC<double>]’ 200 | Y_new = cg_solver_implicit_user_item_bias<T>(X_nnz, confidence, init, cg_steps, XtX, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 201 | rhs_init, x_biases(idx), global_bias); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_implicit.cpp:11:38: required from here 11 | return (double)als_implicit<double>(Conf, X, Y, XtX, lambda, n_threads, solver, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 | cg_steps, with_biases, is_x_bias_last_row, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13 | global_bias, global_bias_base, initialize_bias_base); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_implicit.hpp:77:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 77 | for (auto k = 0; k < n_iter; k++) { | ~~^~~~~~~~ ../inst/include/wrmf_implicit.hpp: In instantiation of ‘arma::Col<eT> cg_solver_implicit_global_bias(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, const arma::Mat<eT>&, arma::Col<eT>, T) [with T = double; arma::uword = unsigned int]’: ../inst/include/wrmf_implicit.hpp:203:52: required from ‘T als_implicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, const arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, bool, double, arma::Col<eT>&, bool) [with T = double; dMappedCSC = MappedCSC<double>]’ 203 | Y_new = cg_solver_implicit_global_bias<T>(X_nnz, confidence, init, cg_steps, XtX, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 204 | rhs_init, global_bias); | ~~~~~~~~~~~~~~~~~~~~~~ wrmf_implicit.cpp:11:38: required from here 11 | return (double)als_implicit<double>(Conf, X, Y, XtX, lambda, n_threads, solver, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 | cg_steps, with_biases, is_x_bias_last_row, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13 | global_bias, global_bias_base, initialize_bias_base); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_implicit.hpp:49:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 49 | for (auto k = 0; k < n_iter; k++) { | ~~^~~~~~~~ ../inst/include/wrmf_implicit.hpp: In instantiation of ‘arma::Col<eT> cg_solver_implicit(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, const arma::Mat<eT>&) [with T = float; arma::uword = unsigned int]’: ../inst/include/wrmf_implicit.hpp:197:40: required from ‘T als_implicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, const arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, bool, double, arma::Col<eT>&, bool) [with T = float; dMappedCSC = MappedCSC<double>]’ 197 | Y_new = cg_solver_implicit<T>(X_nnz, confidence, init, cg_steps, XtX); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_implicit.cpp:28:37: required from here 28 | return (double)als_implicit<float>(Conf, X, Y, XtX, lambda, n_threads, solver, cg_steps, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29 | with_biases, is_x_bias_last_row, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | global_bias, global_bias_base, initialize_bias_base); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_implicit.hpp:21:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 21 | for (auto k = 0; k < n_iter; k++) { | ~~^~~~~~~~ ../inst/include/wrmf_implicit.hpp: In instantiation of ‘arma::Col<eT> cg_solver_implicit_user_item_bias(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, T) [with T = float; arma::uword = unsigned int]’: ../inst/include/wrmf_implicit.hpp:200:55: required from ‘T als_implicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, const arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, bool, double, arma::Col<eT>&, bool) [with T = float; dMappedCSC = MappedCSC<double>]’ 200 | Y_new = cg_solver_implicit_user_item_bias<T>(X_nnz, confidence, init, cg_steps, XtX, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 201 | rhs_init, x_biases(idx), global_bias); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_implicit.cpp:28:37: required from here 28 | return (double)als_implicit<float>(Conf, X, Y, XtX, lambda, n_threads, solver, cg_steps, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29 | with_biases, is_x_bias_last_row, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | global_bias, global_bias_base, initialize_bias_base); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_implicit.hpp:77:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 77 | for (auto k = 0; k < n_iter; k++) { | ~~^~~~~~~~ ../inst/include/wrmf_implicit.hpp: In instantiation of ‘arma::Col<eT> cg_solver_implicit_global_bias(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, const arma::Mat<eT>&, arma::Col<eT>, T) [with T = float; arma::uword = unsigned int]’: ../inst/include/wrmf_implicit.hpp:203:52: required from ‘T als_implicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, const arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, bool, double, arma::Col<eT>&, bool) [with T = float; dMappedCSC = MappedCSC<double>]’ 203 | Y_new = cg_solver_implicit_global_bias<T>(X_nnz, confidence, init, cg_steps, XtX, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 204 | rhs_init, global_bias); | ~~~~~~~~~~~~~~~~~~~~~~ wrmf_implicit.cpp:28:37: required from here 28 | return (double)als_implicit<float>(Conf, X, Y, XtX, lambda, n_threads, solver, cg_steps, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29 | with_biases, is_x_bias_last_row, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | global_bias, global_bias_base, initialize_bias_base); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_implicit.hpp:49:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 49 | for (auto k = 0; k < n_iter; k++) { | ~~^~~~~~~~ In file included from ../inst/include/wrmf_implicit.hpp:1: ../inst/include/nnls.hpp: In instantiation of ‘arma::Col<eT> scd_ls_update(const arma::Mat<eT>&, arma::Col<eT>&, arma::uword, double, const arma::Col<eT>&) [with T = double; arma::uword = unsigned int]’: ../inst/include/nnls.hpp:45:42: required from ‘arma::Col<eT> c_nnls(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, double) [with T = double; arma::uword = unsigned int]’ 45 | const arma::Col<T> H = scd_ls_update<T>(XtX, mu, max_iter, rel_tol, init); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_implicit.hpp:234:28: required from ‘T als_implicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, const arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, bool, double, arma::Col<eT>&, bool) [with T = double; dMappedCSC = MappedCSC<double>]’ 234 | Y_new = c_nnls<T>(lhs, rhs, init, SCD_MAX_ITER, SCD_TOL); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_implicit.cpp:11:38: required from here 11 | return (double)als_implicit<double>(Conf, X, Y, XtX, lambda, n_threads, solver, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 12 | cg_steps, with_biases, is_x_bias_last_row, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 13 | global_bias, global_bias_base, initialize_bias_base); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/nnls.hpp:17:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 17 | for (auto t = 0; t < max_iter; t++) { | ~~^~~~~~~~~~ ../inst/include/nnls.hpp:19:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 19 | for (auto k = 0; k < XtX.n_cols; k++) { | ~~^~~~~~~~~~~~ ../inst/include/nnls.hpp: In instantiation of ‘arma::Col<eT> scd_ls_update(const arma::Mat<eT>&, arma::Col<eT>&, arma::uword, double, const arma::Col<eT>&) [with T = float; arma::uword = unsigned int]’: ../inst/include/nnls.hpp:45:42: required from ‘arma::Col<eT> c_nnls(const arma::Mat<eT>&, const arma::Col<eT>&, const arma::Col<eT>&, arma::uword, double) [with T = float; arma::uword = unsigned int]’ 45 | const arma::Col<T> H = scd_ls_update<T>(XtX, mu, max_iter, rel_tol, init); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_implicit.hpp:234:28: required from ‘T als_implicit(const dMappedCSC&, arma::Mat<eT>&, arma::Mat<eT>&, const arma::Mat<eT>&, double, int, unsigned int, unsigned int, bool, bool, double, arma::Col<eT>&, bool) [with T = float; dMappedCSC = MappedCSC<double>]’ 234 | Y_new = c_nnls<T>(lhs, rhs, init, SCD_MAX_ITER, SCD_TOL); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_implicit.cpp:28:37: required from here 28 | return (double)als_implicit<float>(Conf, X, Y, XtX, lambda, n_threads, solver, cg_steps, | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 29 | with_biases, is_x_bias_last_row, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 | global_bias, global_bias_base, initialize_bias_base); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/nnls.hpp:17:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 17 | for (auto t = 0; t < max_iter; t++) { | ~~^~~~~~~~~~ ../inst/include/nnls.hpp:19:24: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 19 | for (auto k = 0; k < XtX.n_cols; k++) { | ~~^~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-patched-gcc/Work/build/include" -DNDEBUG -DARMA_32BIT_WORD -I../inst/include/ -DRSPARSE_R_PKG -DARMA_NO_DEBUG -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/Rcpp/include' -I'/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/RcppArmadillo/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fopenmp -fpic -g -O2 -Wall -pedantic -mtune=native -c wrmf_init.cpp -o wrmf_init.o In file included from wrmf_init.cpp:3: ../inst/include/wrmf_utils.hpp: In instantiation of ‘double initialize_biases_explicit(dMappedCSC&, dMappedCSC&, arma::Col<eT>&, arma::Col<eT>&, T, bool, bool, bool) [with T = double; dMappedCSC = MappedCSC<double>]’: ../inst/include/wrmf_utils.hpp:177:38: required from ‘double initialize_biases(dMappedCSC&, dMappedCSC&, arma::Col<eT>&, arma::Col<eT>&, T, bool, bool, bool, bool) [with T = double; dMappedCSC = MappedCSC<double>]’ 177 | return initialize_biases_explicit(ConfCSC, ConfCSR, user_bias, item_bias, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 178 | lambda, dynamic_lambda, non_negative, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 179 | calculate_global_bias); | ~~~~~~~~~~~~~~~~~~~~~~ wrmf_init.cpp:14:35: required from here 14 | return initialize_biases<double>(ConfCSC, ConfCSR, user_bias, item_bias, lambda, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15 | dynamic_lambda, non_negative, calculate_global_bias, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 16 | is_explicit_feedback); | ~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:56:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 56 | for (int col = 0; col < ConfCSC.n_cols; col++) { | ~~~~^~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:60:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 60 | for (int ix = ConfCSC.col_ptrs[col]; ix < ConfCSC.col_ptrs[col + 1]; ix++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:69:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 69 | for (int row = 0; row < ConfCSR.n_cols; row++) { | ~~~~^~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:73:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 73 | for (int ix = ConfCSR.col_ptrs[row]; ix < ConfCSR.col_ptrs[row + 1]; ix++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp: In instantiation of ‘double initialize_biases_implicit(dMappedCSC&, dMappedCSC&, arma::Col<eT>&, arma::Col<eT>&, T, bool, bool) [with T = double; dMappedCSC = MappedCSC<double>]’: ../inst/include/wrmf_utils.hpp:181:38: required from ‘double initialize_biases(dMappedCSC&, dMappedCSC&, arma::Col<eT>&, arma::Col<eT>&, T, bool, bool, bool, bool) [with T = double; dMappedCSC = MappedCSC<double>]’ 181 | return initialize_biases_implicit(ConfCSC, ConfCSR, user_bias, item_bias, lambda, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 182 | calculate_global_bias,non_negative); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_init.cpp:14:35: required from here 14 | return initialize_biases<double>(ConfCSC, ConfCSR, user_bias, item_bias, lambda, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 15 | dynamic_lambda, non_negative, calculate_global_bias, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 16 | is_explicit_feedback); | ~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:104:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 104 | for (int ix = ConfCSR.col_ptrs[row]; ix < ConfCSR.col_ptrs[row + 1]; ix++) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:116:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 116 | for (int ix = ConfCSC.col_ptrs[col]; ix < ConfCSC.col_ptrs[col + 1]; ix++) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:141:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 141 | for (int ix = ConfCSC.col_ptrs[col]; ix < ConfCSC.col_ptrs[col + 1]; ix++) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:157:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 157 | for (int ix = ConfCSR.col_ptrs[row]; ix < ConfCSR.col_ptrs[row + 1]; ix++) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp: In instantiation of ‘double initialize_biases_explicit(dMappedCSC&, dMappedCSC&, arma::Col<eT>&, arma::Col<eT>&, T, bool, bool, bool) [with T = float; dMappedCSC = MappedCSC<double>]’: ../inst/include/wrmf_utils.hpp:177:38: required from ‘double initialize_biases(dMappedCSC&, dMappedCSC&, arma::Col<eT>&, arma::Col<eT>&, T, bool, bool, bool, bool) [with T = float; dMappedCSC = MappedCSC<double>]’ 177 | return initialize_biases_explicit(ConfCSC, ConfCSR, user_bias, item_bias, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 178 | lambda, dynamic_lambda, non_negative, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 179 | calculate_global_bias); | ~~~~~~~~~~~~~~~~~~~~~~ wrmf_init.cpp:31:34: required from here 31 | return initialize_biases<float>(ConfCSC, ConfCSR, user_bias_arma, item_bias_arma, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | lambda, dynamic_lambda, non_negative, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33 | calculate_global_bias, is_explicit_feedback); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:56:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 56 | for (int col = 0; col < ConfCSC.n_cols; col++) { | ~~~~^~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:60:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 60 | for (int ix = ConfCSC.col_ptrs[col]; ix < ConfCSC.col_ptrs[col + 1]; ix++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:69:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘const arma::uword’ {aka ‘const unsigned int’} [-Wsign-compare] 69 | for (int row = 0; row < ConfCSR.n_cols; row++) { | ~~~~^~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:73:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 73 | for (int ix = ConfCSR.col_ptrs[row]; ix < ConfCSR.col_ptrs[row + 1]; ix++) { | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp: In instantiation of ‘double initialize_biases_implicit(dMappedCSC&, dMappedCSC&, arma::Col<eT>&, arma::Col<eT>&, T, bool, bool) [with T = float; dMappedCSC = MappedCSC<double>]’: ../inst/include/wrmf_utils.hpp:181:38: required from ‘double initialize_biases(dMappedCSC&, dMappedCSC&, arma::Col<eT>&, arma::Col<eT>&, T, bool, bool, bool, bool) [with T = float; dMappedCSC = MappedCSC<double>]’ 181 | return initialize_biases_implicit(ConfCSC, ConfCSR, user_bias, item_bias, lambda, | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 182 | calculate_global_bias,non_negative); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ wrmf_init.cpp:31:34: required from here 31 | return initialize_biases<float>(ConfCSC, ConfCSR, user_bias_arma, item_bias_arma, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 | lambda, dynamic_lambda, non_negative, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 33 | calculate_global_bias, is_explicit_feedback); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:104:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 104 | for (int ix = ConfCSR.col_ptrs[row]; ix < ConfCSR.col_ptrs[row + 1]; ix++) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:116:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 116 | for (int ix = ConfCSC.col_ptrs[col]; ix < ConfCSC.col_ptrs[col + 1]; ix++) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:141:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 141 | for (int ix = ConfCSC.col_ptrs[col]; ix < ConfCSC.col_ptrs[col + 1]; ix++) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ ../inst/include/wrmf_utils.hpp:157:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘arma::uword’ {aka ‘unsigned int’} [-Wsign-compare] 157 | for (int ix = ConfCSR.col_ptrs[row]; ix < ConfCSR.col_ptrs[row + 1]; ix++) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -Wl,-O1 -o rsparse.so FTRL.o GloVe.o RcppExports.o factorization_machine.o kmeans.o matrix_top_product.o nnls.o rankmf.o utils.o wrmf_explicit.o wrmf_implicit.o wrmf_init.o -fopenmp -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/float/libs -l:float.so -Wl,-rpath=/home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/float/libs -llapack -lblas -llapack -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -lRblas -lgfortran -lm -lquadmath -L/home/hornik/tmp/R.check/r-patched-gcc/Work/build/lib -lR make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmpsIVUiO/R.INSTALL2e2a386ce9ebd9/rsparse/src' make[1]: Entering directory '/home/hornik/tmp/scratch/RtmpsIVUiO/R.INSTALL2e2a386ce9ebd9/rsparse/src' make[1]: Leaving directory '/home/hornik/tmp/scratch/RtmpsIVUiO/R.INSTALL2e2a386ce9ebd9/rsparse/src' installing to /home/hornik/tmp/R.check/r-patched-gcc/Work/build/Packages/00LOCK-rsparse/00new/rsparse/libs ** R ** data *** moving datasets to lazyload DB ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices converting help for package ‘rsparse’ finding HTML links ... done FTRL html FactorizationMachine html GloVe html LinearFlow html MatrixFactorizationRecommender html PureSVD html ScaleNormalize html WRMF html detect_number_omp_threads html metrics html movielens100k html soft_impute html train_test_split html *** copying figures ** building package indices ** testing if installed package can be loaded from temporary location ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (rsparse)