* installing *source* package ‘hesim’ ...
** package ‘hesim’ successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C++ compiler: ‘g++-14 (GCC) 14.2.0’
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/hesim/src'
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c RcppExports.cpp -o RcppExports.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c apply_rr.cpp -o apply_rr.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c cea.cpp -o cea.o
In file included from ../inst/include/hesim/stats/distributions.h:3,
                 from ../inst/include/hesim/statmods/statmods.h:3,
                 from ../inst/include/hesim.h:4,
                 from RcppExports.cpp:4:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::summary(int, int, std::vector<double>, std::string, double)':
../inst/include/hesim/statmods/statmods.h:246:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  246 |     for (int i = 0; i < t.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::quantile(int, int, std::vector<double>)':
../inst/include/hesim/statmods/statmods.h:280:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  280 |     for (int i = 0; i < p.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
apply_rr.cpp: In function 'arma::rowvec apply_complement(arma::rowvec, int)':
apply_rr.cpp:7:21: warning: comparison of integer expressions of different signedness: 'int' and 'arma::uword' {aka 'unsigned int'} [-Wsign-compare]
    7 |   for (int i = 0; i < x.size(); ++i) {
      |                   ~~^~~~~~~~~~
apply_rr.cpp: In function 'void apply_complement(arma::mat&, arma::umat)':
apply_rr.cpp:15:21: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
   15 |   for (int i = 0; i < complement.n_rows; ++i) {
      |                   ~~^~~~~~~~~~~~~~~~~~~
apply_rr.cpp: In function 'arma::mat apply_rr(const arma::mat&, arma::rowvec, arma::umat, arma::umat)':
apply_rr.cpp:24:21: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
   24 |   for (int i = 0; i < index.n_rows; ++ i) {
      |                   ~~^~~~~~~~~~~~~~
In file included from cea.cpp:4:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c ctstm.cpp -o ctstm.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c distributions.cpp -o distributions.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c dtstm.cpp -o dtstm.o
In file included from ../inst/include/hesim/statmods/obs_index.h:5,
                 from ../inst/include/hesim/ctstm/ctstm.h:3,
                 from ctstm.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
../inst/include/hesim/statmods/obs_index.h: In member function 'int hesim::statmods::obs_index::get_health_id()':
../inst/include/hesim/statmods/obs_index.h:290:31: warning: comparison of integer expressions of different signedness: 'std::vector<int, std::allocator<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  290 |     if (health_id_vec_.size() != n_obs_){
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6,
                 from ../inst/include/hesim/statmods/statmods.h:3,
                 from ../inst/include/hesim/ctstm/ctstm.h:4:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::summary(int, int, std::vector<double>, std::string, double)':
../inst/include/hesim/statmods/statmods.h:246:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  246 |     for (int i = 0; i < t.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::quantile(int, int, std::vector<double>)':
../inst/include/hesim/statmods/statmods.h:280:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  280 |     for (int i = 0; i < p.size(); ++i){
      |                     ~~^~~~~~~~~~
ctstm.cpp: In function 'Rcpp::DataFrame C_ctstm_summary(Rcpp::Environment, std::vector<double>, std::string)':
ctstm.cpp:39:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |           for (int l = 0; l < t.size(); ++l){
      |                           ~~^~~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c indiv-ctstm.cpp -o indiv-ctstm.o
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c psm.cpp -o psm.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c statevals.cpp -o statevals.o
In file included from ../inst/include/hesim/stats/distributions.h:3,
                 from distributions.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
In file included from ../inst/include/hesim/stats/distributions.h:3,
                 from ../inst/include/hesim/statmods/statmods.h:3,
                 from ../inst/include/hesim/statevals.h:4,
                 from dtstm.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::summary(int, int, std::vector<double>, std::string, double)':
../inst/include/hesim/statmods/statmods.h:246:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  246 |     for (int i = 0; i < t.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::quantile(int, int, std::vector<double>)':
../inst/include/hesim/statmods/statmods.h:280:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  280 |     for (int i = 0; i < p.size(); ++i){
      |                     ~~^~~~~~~~~~
In file included from ../inst/include/hesim/statevals.h:5:
../inst/include/hesim/statmods/obs_index.h: In member function 'int hesim::statmods::obs_index::get_health_id()':
../inst/include/hesim/statmods/obs_index.h:290:31: warning: comparison of integer expressions of different signedness: 'std::vector<int, std::allocator<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  290 |     if (health_id_vec_.size() != n_obs_){
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../inst/include/hesim/statevals.h: In static member function 'static double hesim::ev::sim_los(std::vector<double>&, std::vector<double>::iterator, double, std::string)':
../inst/include/hesim/statevals.h:411:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  411 |     for (int i = 0; i < times.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/statevals.h: In member function 'hesim::ev_out hesim::ev::operator()(hesim::stateprobs_out, std::vector<double>, std::vector<double>, std::vector<std::__cxx11::basic_string<char> >, std::string)':
../inst/include/hesim/statevals.h:440:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<hesim::statevals>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  440 |     for (int k = 0; k < statevals_.size(); ++k){ // start outcome loop
      |                     ~~^~~~~~~~~~~~~~~~~~~
../inst/include/hesim/statevals.h:441:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  441 |       for (int j = 0; j < dr.size(); ++j){ // start discount rate loop
      |                       ~~^~~~~~~~~~~
In file included from dtstm.cpp:2:
../inst/include/hesim/dtstm.h: In member function 'virtual arma::mat hesim::dtstm::mlogit_list::tpmatrix(int, double)':
../inst/include/hesim/dtstm.h:160:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<hesim::statmods::mlogit>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  160 |       for (int i = 0; i < mlogit_list_.size(); ++i){
      |                       ~~^~~~~~~~~~~~~~~~~~~~~
In file included from ../inst/include/hesim/statmods/obs_index.h:5,
                 from ../inst/include/hesim/ctstm/ctstm.h:3,
                 from ../inst/include/hesim/ctstm/indiv-ctstm.h:3,
                 from indiv-ctstm.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
../inst/include/hesim/statmods/obs_index.h: In member function 'int hesim::statmods::obs_index::get_health_id()':
../inst/include/hesim/statmods/obs_index.h:290:31: warning: comparison of integer expressions of different signedness: 'std::vector<int, std::allocator<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  290 |     if (health_id_vec_.size() != n_obs_){
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6,
                 from ../inst/include/hesim/statmods/statmods.h:3,
                 from ../inst/include/hesim/ctstm/ctstm.h:4:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::summary(int, int, std::vector<double>, std::string, double)':
../inst/include/hesim/statmods/statmods.h:246:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  246 |     for (int i = 0; i < t.size(); ++i){
      |                     ~~^~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:3,
                 from ../inst/include/hesim/statmods/statmods.h:3,
                 from ../inst/include/hesim/psm.h:3,
                 from psm.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::quantile(int, int, std::vector<double>)':
../inst/include/hesim/statmods/statmods.h:280:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  280 |     for (int i = 0; i < p.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
../inst/include/hesim/ctstm/indiv-ctstm.h: In member function 'bool hesim::ctstm::patient::is_reset_state()':
../inst/include/hesim/ctstm/indiv-ctstm.h:55:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int, std::allocator<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   55 |     for (int i = 0; i < reset_states_.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
In file included from indiv-ctstm.cpp:2:
../inst/include/hesim/statevals.h: In static member function 'static double hesim::ev::sim_los(std::vector<double>&, std::vector<double>::iterator, double, std::string)':
../inst/include/hesim/statevals.h:411:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  411 |     for (int i = 0; i < times.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/statevals.h: In member function 'hesim::ev_out hesim::ev::operator()(hesim::stateprobs_out, std::vector<double>, std::vector<double>, std::vector<std::__cxx11::basic_string<char> >, std::string)':
../inst/include/hesim/statevals.h:440:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<hesim::statevals>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  440 |     for (int k = 0; k < statevals_.size(); ++k){ // start outcome loop
      |                     ~~^~~~~~~~~~~~~~~~~~~
../inst/include/hesim/statevals.h:441:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  441 |       for (int j = 0; j < dr.size(); ++j){ // start discount rate loop
      |                       ~~^~~~~~~~~~~
indiv-ctstm.cpp: In function 'Rcpp::DataFrame C_ctstm_indiv_stateprobs(Rcpp::DataFrame, std::vector<double>, int, int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, int, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, int, int)':
indiv-ctstm.cpp:131:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  131 |   for(int i = 0; i < disease_prog.time_start_.size(); ++i){
      |                  ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
indiv-ctstm.cpp:132:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  132 |     for(int j = 0; j < t.size(); ++j){
      |                    ~~^~~~~~~~~~
indiv-ctstm.cpp:153:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  153 |   for (int i = 0; i < out.prob_.size(); ++i){
      |                   ~~^~~~~~~~~~~~~~~~~~
indiv-ctstm.cpp:163:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  163 |           for (int r = 0; r < t.size(); ++r){
      |                           ~~^~~~~~~~~~
indiv-ctstm.cpp: In function 'std::vector<double> C_indiv_ctstm_starting(Rcpp::DataFrame, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, Rcpp::Environment, double, std::string)':
indiv-ctstm.cpp:318:30: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
  318 |   for (unsigned int i = 0; i < N; ++i){
      |                            ~~^~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::summary(int, int, std::vector<double>, std::string, double)':
../inst/include/hesim/statmods/statmods.h:246:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  246 |     for (int i = 0; i < t.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::quantile(int, int, std::vector<double>)':
../inst/include/hesim/statmods/statmods.h:280:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  280 |     for (int i = 0; i < p.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/psm.h:4:
../inst/include/hesim/statmods/obs_index.h: In member function 'int hesim::statmods::obs_index::get_health_id()':
../inst/include/hesim/statmods/obs_index.h:290:31: warning: comparison of integer expressions of different signedness: 'std::vector<int, std::allocator<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  290 |     if (health_id_vec_.size() != n_obs_){
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from psm.cpp:2:
../inst/include/hesim/statevals.h: In static member function 'static double hesim::ev::sim_los(std::vector<double>&, std::vector<double>::iterator, double, std::string)':
../inst/include/hesim/statevals.h:411:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  411 |     for (int i = 0; i < times.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/statevals.h: In member function 'hesim::ev_out hesim::ev::operator()(hesim::stateprobs_out, std::vector<double>, std::vector<double>, std::vector<std::__cxx11::basic_string<char> >, std::string)':
../inst/include/hesim/statevals.h:440:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<hesim::statevals>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  440 |     for (int k = 0; k < statevals_.size(); ++k){ // start outcome loop
      |                     ~~^~~~~~~~~~~~~~~~~~~
../inst/include/hesim/statevals.h:441:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  441 |       for (int j = 0; j < dr.size(); ++j){ // start discount rate loop
      |                       ~~^~~~~~~~~~~
psm.cpp: In function 'Rcpp::DataFrame C_psm_curves_summary(Rcpp::Environment, std::vector<double>, std::string, double)':
psm.cpp:233:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  233 |           for (int j = 0; j < x.size(); ++j){
      |                           ~~^~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:3,
                 from ../inst/include/hesim/statmods/statmods.h:3,
                 from ../inst/include/hesim/statevals.h:4,
                 from statevals.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::summary(int, int, std::vector<double>, std::string, double)':
../inst/include/hesim/statmods/statmods.h:246:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  246 |     for (int i = 0; i < t.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::quantile(int, int, std::vector<double>)':
../inst/include/hesim/statmods/statmods.h:280:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  280 |     for (int i = 0; i < p.size(); ++i){
      |                     ~~^~~~~~~~~~
In file included from ../inst/include/hesim/statevals.h:5:
../inst/include/hesim/statmods/obs_index.h: In member function 'int hesim::statmods::obs_index::get_health_id()':
../inst/include/hesim/statmods/obs_index.h:290:31: warning: comparison of integer expressions of different signedness: 'std::vector<int, std::allocator<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  290 |     if (health_id_vec_.size() != n_obs_){
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
../inst/include/hesim/statevals.h: In static member function 'static double hesim::ev::sim_los(std::vector<double>&, std::vector<double>::iterator, double, std::string)':
../inst/include/hesim/statevals.h:411:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  411 |     for (int i = 0; i < times.size(); ++i) {
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/statevals.h: In member function 'hesim::ev_out hesim::ev::operator()(hesim::stateprobs_out, std::vector<double>, std::vector<double>, std::vector<std::__cxx11::basic_string<char> >, std::string)':
../inst/include/hesim/statevals.h:440:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<hesim::statevals>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  440 |     for (int k = 0; k < statevals_.size(); ++k){ // start outcome loop
      |                     ~~^~~~~~~~~~~~~~~~~~~
../inst/include/hesim/statevals.h:441:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  441 |       for (int j = 0; j < dr.size(); ++j){ // start discount rate loop
      |                       ~~^~~~~~~~~~~
statevals.cpp: In function 'Rcpp::DataFrame C_statevals_sim(Rcpp::Environment, std::vector<double>, std::string)':
statevals.cpp:40:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |           for (int t = 0; t < times.size(); ++t){
      |                           ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-composite.cpp -o test-composite.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-ctstm.cpp -o test-ctstm.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-distributions.cpp -o test-distributions.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-obs_index.cpp -o test-obs_index.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-quad.cpp -o test-quad.o
In file included from ../inst/include/hesim/statmods/obs_index.h:5,
                 from ../inst/include/hesim/ctstm/ctstm.h:3,
                 from test-ctstm.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
../inst/include/hesim/statmods/obs_index.h: In member function 'int hesim::statmods::obs_index::get_health_id()':
../inst/include/hesim/statmods/obs_index.h:290:31: warning: comparison of integer expressions of different signedness: 'std::vector<int, std::allocator<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  290 |     if (health_id_vec_.size() != n_obs_){
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6,
                 from ../inst/include/hesim/statmods/statmods.h:3,
                 from ../inst/include/hesim/ctstm/ctstm.h:4:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::summary(int, int, std::vector<double>, std::string, double)':
../inst/include/hesim/statmods/statmods.h:246:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  246 |     for (int i = 0; i < t.size(); ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/statmods/statmods.h: In member function 'std::vector<double> hesim::statmods::surv::quantile(int, int, std::vector<double>)':
../inst/include/hesim/statmods/statmods.h:280:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  280 |     for (int i = 0; i < p.size(); ++i){
      |                     ~~^~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:3,
                 from test-distributions.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-riemann.cpp -o test-riemann.o
In file included from ../inst/include/hesim/statmods/obs_index.h:5,
                 from test-obs_index.cpp:1:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
../inst/include/hesim/statmods/obs_index.h: In member function 'int hesim::statmods::obs_index::get_health_id()':
../inst/include/hesim/statmods/obs_index.h:290:31: warning: comparison of integer expressions of different signedness: 'std::vector<int, std::allocator<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  290 |     if (health_id_vec_.size() != n_obs_){
      |         ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-rtrunc.cpp -o test-rtrunc.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-survfuns.cpp -o test-survfuns.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-utils.cpp -o test-utils.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c test-zeroin.cpp -o test-zeroin.o
g++-14 -std=gnu++17 -I"/data/gannet/ripley/R/R-devel/include" -DNDEBUG -I../inst/include -I'/data/gannet/ripley/R/test-dev/Rcpp/include' -I'/data/gannet/ripley/R/test-dev/RcppArmadillo/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  -DR_NO_REMAP -c utils.cpp -o utils.o
In file included from ../inst/include/hesim/stats/distributions.h:3,
                 from test-rtrunc.cpp:3:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/distributions.h:6:
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/distributions.h: In member function 'virtual double hesim::stats::piecewise_exponential::trandom(double, double) const':
../inst/include/hesim/stats/distributions.h:348:13: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  348 |       if (t == j){
      |           ~~^~~~
In file included from test-utils.cpp:3:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
In file included from ../inst/include/hesim/stats/survfuns.h:6,
                 from test-survfuns.cpp:3:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In function 'double hesim::stats::surv_sample(std::vector<double>&, std::vector<double>, bool)':
../inst/include/hesim/stats/survfuns.h:156:24: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
  156 |   while(died == 0 && i < n_times){
      |                      ~~^~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const distribution*>(const distribution*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const distribution*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:207:23:   required from here
  207 |     return surv_sample(dist, 0, INFINITY, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const exponential*>(const exponential*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const exponential*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const exponential*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:299:18:   required from here
  299 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull*>(const weibull*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:412:18:   required from here
  412 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_ph*>(const weibull_ph*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_ph*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_ph*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:473:18:   required from here
  473 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const weibull_nma*>(const weibull_nma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const weibull_nma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const weibull_nma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:534:18:   required from here
  534 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gamma*>(const gamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:588:18:   required from here
  588 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const lognormal*>(const lognormal*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const lognormal*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const lognormal*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:643:18:   required from here
  643 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gompertz*>(const gompertz*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gompertz*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gompertz*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:724:18:   required from here
  724 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const loglogistic*>(const loglogistic*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const loglogistic*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const loglogistic*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:780:18:   required from here
  780 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h: In instantiation of 'std::vector<double> hesim::stats::cumhazard_numeric(Func, std::vector<double>, std::string) [with Func = surv_sample<const gengamma*>(const gengamma*, double, double, double)::<lambda(double)>; std::string = std::__cxx11::basic_string<char>]':
../inst/include/hesim/stats/survfuns.h:215:52:   required from 'double hesim::stats::surv_sample(Dist, double, double, double) [with Dist = const gengamma*]'
  215 |   std::vector<double> cumhazard = cumhazard_numeric(hazfun, time, dist->cumhaz_method_);
      |                                   ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/rtrunc.h:98:23:   required from 'double hesim::stats::rtrunc(Dist, double, double, std::string) [with Dist = const gengamma*; std::string = std::__cxx11::basic_string<char>]'
   98 |     return surv_sample(dist, lower, upper, dist->max_x_);
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/distributions.h:875:18:   required from here
  875 |     return rtrunc(this, lower, upper, "invcdf");
      |            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../inst/include/hesim/stats/survfuns.h:106:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<double>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  106 |     for (int i = 0; i < times.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
In file included from utils.cpp:3:
../inst/include/hesim/utils.h: In member function 'int hesim::trans_mat::count_non_nan(arma::mat)':
../inst/include/hesim/utils.h:203:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  203 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:204:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  204 |       for (int j = 0; j < m.n_cols; ++j){
      |                       ~~^~~~~~~~~~
../inst/include/hesim/utils.h: In member function 'std::vector<bool> hesim::trans_mat::is_absorbing(std::vector<std::vector<int, std::allocator<int> > >)':
../inst/include/hesim/utils.h:220:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int, std::allocator<int> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  220 |     for (int i = 0; i < trans.size(); ++i){
      |                     ~~^~~~~~~~~~~~~~
../inst/include/hesim/utils.h: In constructor 'hesim::trans_mat::trans_mat(arma::mat, bool)':
../inst/include/hesim/utils.h:252:23: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  252 |     for (int i = 0; i < m.n_rows; ++i){
      |                     ~~^~~~~~~~~~
../inst/include/hesim/utils.h:256:25: warning: comparison of integer expressions of different signedness: 'int' and 'const arma::uword' {aka 'const unsigned int'} [-Wsign-compare]
  256 |       for (int j = 0; j < m_row.n_elem; ++j){
      |                       ~~^~~~~~~~~~~~~~
g++-14 -std=gnu++17 -shared -L/usr/local/gcc14/lib64 -L/usr/local/lib64 -o hesim.so RcppExports.o apply_rr.o cea.o ctstm.o distributions.o dtstm.o indiv-ctstm.o psm.o statevals.o test-composite.o test-ctstm.o test-distributions.o test-obs_index.o test-quad.o test-riemann.o test-rtrunc.o test-survfuns.o test-utils.o test-zeroin.o utils.o
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/hesim/src'
make[1]: Entering directory '/data/gannet/ripley/R/packages/tests-devel/hesim/src'
make[1]: Leaving directory '/data/gannet/ripley/R/packages/tests-devel/hesim/src'
installing to /data/gannet/ripley/R/packages/tests-devel/hesim.Rcheck/00LOCK-hesim/00new/hesim/libs
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** 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 (hesim)