* installing *source* package 'castor' ...
** this is package 'castor' version '1.8.7'
** package 'castor' successfully unpacked and MD5 sums checked
** using staged installation
** libs
using C compiler: 'gcc.exe (GCC) 14.3.0'
using C++ compiler: 'g++.exe (GCC) 14.3.0'
make[1]: Entering directory '/d/temp/2026_08_07_01_50_00_13727/RtmpstvyOH/R.INSTALL1ca603277349a/castor/src'
g++ -std=gnu++20  -I"D:/RCompile/recent/R-4.6.1/include" -DNDEBUG  -I'D:/RCompile/CRANpkg/lib/4.6/Rcpp/include'   -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include"      -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign    -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++20  -I"D:/RCompile/recent/R-4.6.1/include" -DNDEBUG  -I'D:/RCompile/CRANpkg/lib/4.6/Rcpp/include'   -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include"      -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign    -c STMathExpression.cpp -o STMathExpression.o
STMathExpression.cpp:10: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
   10 | #pragma mark -
STMathExpression.cpp:11: warning: ignoring '#pragma mark String' [-Wunknown-pragmas]
   11 | #pragma mark String manipulations
STMathExpression.cpp:12: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
   12 | #pragma mark
STMathExpression.cpp:65: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
   65 | #pragma mark -
STMathExpression.cpp:66: warning: ignoring '#pragma mark MathExpression' [-Wunknown-pragmas]
   66 | #pragma mark MathExpression
STMathExpression.cpp:67: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
   67 | #pragma mark
STMathExpression.cpp: In static member function 'static long int MathExpression::splitBinaryOperatorInverseOrder(const std::string&, long int, long int, const std::vector<long int>&)':
STMathExpression.cpp:256:42: warning: comparison of integer expressions of different signedness: 'long int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long long unsigned int'} [-Wsign-compare]
  256 |                                 else if(j==string::npos){ if(!STMath_isReal(expression.substr(0,i-1))) return getLeftMostOfPlusMinusOperatorChain(expression,start,i); }
      |                                         ~^~~~~~~~~~~~~~
STMathExpression.cpp: In member function 'std::string MathExpression::parseBlock(const std::string&, long int, long int, const std::vector<long int>&, const std::map<std::__cxx11::basic_string<char>, long int>&, const std::map<std::__cxx11::basic_string<char>, long int>&, long int, bool)':
STMathExpression.cpp:313:105: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  313 |         if(isWhiteSpace(expression,start,end)) return "Missing "+(start==0 ? "leading expression" : (end==expression.size()-1 ? "trailing expression" : "expression between '"+expression.substr(0,start)+"' and '"+expression.substr(end+1)+"'"));
      |                                                                                                      ~~~^~~~~~~~~~~~~~~~~~~~~
STMathExpression.cpp:359:37: warning: comparison of integer expressions of different signedness: 'const long int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long long unsigned int'} [-Wsign-compare]
  359 |                 if((rightMostBracket==string::npos) || (rightMostBracket<start)){
      |                     ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
STMathExpression.cpp: In static member function 'static bool MathExpression::findBracketPairs(const std::string&, std::vector<long int>&)':
STMathExpression.cpp:463:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  463 |         for(long i=0; i<expression.length(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~
STMathExpression.cpp: In static member function 'static bool MathExpression::findRoundBracketPairs(const std::string&, std::vector<long int>&)':
STMathExpression.cpp:500:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  500 |         for(long i=0; i<expression.length(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~
STMathExpression.cpp: In member function 'void MathExpression::printDebug(std::ostream&) const':
STMathExpression.cpp:953:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  953 |         for(long i=0; i<variableValues.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~
STMathExpression.cpp:957:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  957 |         for(long i=0; i<stackValues.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~
STMathExpression.cpp: In member function 'double MathExpression::operator()(const std::vector<double>&) const':
STMathExpression.cpp:981:34: warning: comparison of integer expressions of different signedness: 'const __gnu_cxx::__alloc_traits<std::allocator<long int>, long int>::value_type' {aka 'const long int'} and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  981 |                 if(variableIDs[i]>=x.size()){ variableValues[i]=0; }
STMathExpression.cpp: In member function 'double MathExpression::operator()(const std::vector<double>&, long int, ...) const':
STMathExpression.cpp:1044:34: warning: comparison of integer expressions of different signedness: 'const __gnu_cxx::__alloc_traits<std::allocator<long int>, long int>::value_type' {aka 'const long int'} and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1044 |                 if(variableIDs[i]>=x.size()+numberOfAdditionalVariables){ variableValues[i]=0; }
STMathExpression.cpp:1045:39: warning: comparison of integer expressions of different signedness: 'const __gnu_cxx::__alloc_traits<std::allocator<long int>, long int>::value_type' {aka 'const long int'} and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1045 |                 else if(variableIDs[i]<x.size()){ variableValues[i]=x[variableIDs[i]]; }
STMathExpression.cpp: In member function 'bool MathExpression::dependsOnVariable(const std::string&) const':
STMathExpression.cpp:1195:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1195 |         for(long i=0; i<variableNames.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
STMathExpression.cpp: In member function 'bool MathExpression::dependsOnVariableWithPrefix(const std::string&) const':
STMathExpression.cpp:1202:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1202 |         for(long i=0; i<variableNames.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
STMathExpression.cpp: In static member function 'static bool MathExpression::isValidName(const std::string&, std::string&)':
STMathExpression.cpp:1258:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1258 |         for(long i=0; i<s.size(); ++i){
      |                       ~^~~~~~~~~
STMathExpression.cpp: In static member function 'static std::string MathExpression::lowercase(std::string)':
STMathExpression.cpp:1269:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1269 |         for(long n=0; n<s.length(); ++n){ s[n] = tolower(s[n]); }
      |                       ~^~~~~~~~~~~
STMathExpression.cpp: In function 'Rcpp::List evaluate_univariate_expression_CPP(const std::string&, const std::string&, const std::vector<double>&)':
STMathExpression.cpp:1378:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1378 |         for(long i=0; i<X.size(); ++i){
      |                       ~^~~~~~~~~
STMathExpression.cpp: In instantiation of 'void MathExpression::printTuple(std::ostream&, const std::vector<T>&) const [with TYPE = long int; std::ostream = std::basic_ostream<char>]':
STMathExpression.cpp:961:14:   required from here
  961 |                         printTuple(stream, stackArguments[i]);
      |                         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
STMathExpression.cpp:1227:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1227 |         for(long i=0; i<components.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~
g++ -std=gnu++20  -I"D:/RCompile/recent/R-4.6.1/include" -DNDEBUG  -I'D:/RCompile/CRANpkg/lib/4.6/Rcpp/include'   -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include"      -pedantic -O2 -Wall  -mfpmath=sse -msse2 -mstackrealign    -c phylogenetics_cpp_routines.cpp -o phylogenetics_cpp_routines.o
phylogenetics_cpp_routines.cpp:154: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  154 | #pragma mark -
phylogenetics_cpp_routines.cpp:155: warning: ignoring '#pragma mark Declarations' [-Wunknown-pragmas]
  155 | #pragma mark Declarations
phylogenetics_cpp_routines.cpp:156: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  156 | #pragma mark
phylogenetics_cpp_routines.cpp:168: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  168 | #pragma mark -
phylogenetics_cpp_routines.cpp:169: warning: ignoring '#pragma mark Functions' [-Wunknown-pragmas]
  169 | #pragma mark Functions for debugging
phylogenetics_cpp_routines.cpp:170: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  170 | #pragma mark
phylogenetics_cpp_routines.cpp:243: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  243 | #pragma mark -
phylogenetics_cpp_routines.cpp:244: warning: ignoring '#pragma mark Auxiliary' [-Wunknown-pragmas]
  244 | #pragma mark Auxiliary functions
phylogenetics_cpp_routines.cpp:245: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
  245 | #pragma mark
phylogenetics_cpp_routines.cpp:1475: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 1475 | #pragma mark -
phylogenetics_cpp_routines.cpp:1476: warning: ignoring '#pragma mark Graphs' [-Wunknown-pragmas]
 1476 | #pragma mark Graphs
phylogenetics_cpp_routines.cpp:1477: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 1477 | #pragma mark
phylogenetics_cpp_routines.cpp:1622: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 1622 | #pragma mark -
phylogenetics_cpp_routines.cpp:1623: warning: ignoring '#pragma mark Polynomials' [-Wunknown-pragmas]
 1623 | #pragma mark Polynomials
phylogenetics_cpp_routines.cpp:1624: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 1624 | #pragma mark
phylogenetics_cpp_routines.cpp:2961: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 2961 | #pragma mark -
phylogenetics_cpp_routines.cpp:2962: warning: ignoring '#pragma mark Integration' [-Wunknown-pragmas]
 2962 | #pragma mark Integration, antiderivatives, derivatives
phylogenetics_cpp_routines.cpp:2963: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 2963 | #pragma mark
phylogenetics_cpp_routines.cpp:3466: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 3466 | #pragma mark -
phylogenetics_cpp_routines.cpp:3467: warning: ignoring '#pragma mark Vectorized' [-Wunknown-pragmas]
 3467 | #pragma mark Vectorized basic arithmetics
phylogenetics_cpp_routines.cpp:3468: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 3468 | #pragma mark
phylogenetics_cpp_routines.cpp:3624: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 3624 | #pragma mark -
phylogenetics_cpp_routines.cpp:3625: warning: ignoring '#pragma mark Random' [-Wunknown-pragmas]
 3625 | #pragma mark Random numbers
phylogenetics_cpp_routines.cpp:3626: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 3626 | #pragma mark
phylogenetics_cpp_routines.cpp:4020: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 4020 | #pragma mark -
phylogenetics_cpp_routines.cpp:4021: warning: ignoring '#pragma mark Matrix' [-Wunknown-pragmas]
 4021 | #pragma mark Matrix algebra
phylogenetics_cpp_routines.cpp:4022: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 4022 | #pragma mark
phylogenetics_cpp_routines.cpp:7230: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 7230 | #pragma mark -
phylogenetics_cpp_routines.cpp:7231: warning: ignoring '#pragma mark Numerical' [-Wunknown-pragmas]
 7231 | #pragma mark Numerical solvers
phylogenetics_cpp_routines.cpp:7232: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 7232 | #pragma mark
phylogenetics_cpp_routines.cpp:8643: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 8643 | #pragma mark -
phylogenetics_cpp_routines.cpp:8644: warning: ignoring '#pragma mark Time' [-Wunknown-pragmas]
 8644 | #pragma mark Time series analysis
phylogenetics_cpp_routines.cpp:8645: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
 8645 | #pragma mark
phylogenetics_cpp_routines.cpp:10050: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
10050 | #pragma mark -
phylogenetics_cpp_routines.cpp:10051: warning: ignoring '#pragma mark Class' [-Wunknown-pragmas]
10051 | #pragma mark Class: LinearInterpolationFunctor
phylogenetics_cpp_routines.cpp:10052: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
10052 | #pragma mark -
phylogenetics_cpp_routines.cpp:10530: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
10530 | #pragma mark -
phylogenetics_cpp_routines.cpp:10531: warning: ignoring '#pragma mark Stochastic' [-Wunknown-pragmas]
10531 | #pragma mark Stochastic processes
phylogenetics_cpp_routines.cpp:10532: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
10532 | #pragma mark
phylogenetics_cpp_routines.cpp:10725: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
10725 | #pragma mark -
phylogenetics_cpp_routines.cpp:10726: warning: ignoring '#pragma mark Deterministic' [-Wunknown-pragmas]
10726 | #pragma mark Deterministic diversity dynamics
phylogenetics_cpp_routines.cpp:10727: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
10727 | #pragma mark
phylogenetics_cpp_routines.cpp:11826: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
11826 | #pragma mark -
phylogenetics_cpp_routines.cpp:11827: warning: ignoring '#pragma mark Building' [-Wunknown-pragmas]
11827 | #pragma mark Building auxiliary data structures
phylogenetics_cpp_routines.cpp:11828: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
11828 | #pragma mark
phylogenetics_cpp_routines.cpp:12514: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
12514 | #pragma mark -
phylogenetics_cpp_routines.cpp:12515: warning: ignoring '#pragma mark Tree' [-Wunknown-pragmas]
12515 | #pragma mark Tree statistics
phylogenetics_cpp_routines.cpp:12516: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
12516 | #pragma mark
phylogenetics_cpp_routines.cpp:14856: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
14856 | #pragma mark -
phylogenetics_cpp_routines.cpp:14857: warning: ignoring '#pragma mark Generating' [-Wunknown-pragmas]
14857 | #pragma mark Generating & manipulating trees
phylogenetics_cpp_routines.cpp:14858: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
14858 | #pragma mark
phylogenetics_cpp_routines.cpp:18168: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
18168 | #pragma mark -
phylogenetics_cpp_routines.cpp:18169: warning: ignoring '#pragma mark Comparing' [-Wunknown-pragmas]
18169 | #pragma mark Comparing trees
phylogenetics_cpp_routines.cpp:18170: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
18170 | #pragma mark
phylogenetics_cpp_routines.cpp:18588: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
18588 | #pragma mark -
phylogenetics_cpp_routines.cpp:18589: warning: ignoring '#pragma mark Tree' [-Wunknown-pragmas]
18589 | #pragma mark Tree dating
phylogenetics_cpp_routines.cpp:18590: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
18590 | #pragma mark
phylogenetics_cpp_routines.cpp:18689: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
18689 | #pragma mark -
phylogenetics_cpp_routines.cpp:18690: warning: ignoring '#pragma mark Plotting' [-Wunknown-pragmas]
18690 | #pragma mark Plotting trees
phylogenetics_cpp_routines.cpp:18691: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
18691 | #pragma mark
phylogenetics_cpp_routines.cpp:18912: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
18912 | #pragma mark -
phylogenetics_cpp_routines.cpp:18913: warning: ignoring '#pragma mark Writing' [-Wunknown-pragmas]
18913 | #pragma mark Writing/reading trees
phylogenetics_cpp_routines.cpp:18914: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
18914 | #pragma mark
phylogenetics_cpp_routines.cpp:19403: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
19403 | #pragma mark -
phylogenetics_cpp_routines.cpp:19404: warning: ignoring '#pragma mark Statistics' [-Wunknown-pragmas]
19404 | #pragma mark Statistics of trait distribution
phylogenetics_cpp_routines.cpp:19405: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
19405 | #pragma mark
phylogenetics_cpp_routines.cpp:20781: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
20781 | #pragma mark -
phylogenetics_cpp_routines.cpp:20782: warning: ignoring '#pragma mark Most' [-Wunknown-pragmas]
20782 | #pragma mark Most recent common ancestors
phylogenetics_cpp_routines.cpp:20783: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
20783 | #pragma mark
phylogenetics_cpp_routines.cpp:21220: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
21220 | #pragma mark -
phylogenetics_cpp_routines.cpp:21221: warning: ignoring '#pragma mark Ancestral' [-Wunknown-pragmas]
21221 | #pragma mark Ancestral state reconstruction
phylogenetics_cpp_routines.cpp:21222: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
21222 | #pragma mark
phylogenetics_cpp_routines.cpp:23016: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
23016 | #pragma mark -
phylogenetics_cpp_routines.cpp:23017: warning: ignoring '#pragma mark MuSSE' [-Wunknown-pragmas]
23017 | #pragma mark MuSSE model fitting
phylogenetics_cpp_routines.cpp:23018: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
23018 | #pragma mark
phylogenetics_cpp_routines.cpp:24282: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
24282 | #pragma mark -
phylogenetics_cpp_routines.cpp:24283: warning: ignoring '#pragma mark Homogenous' [-Wunknown-pragmas]
24283 | #pragma mark Homogenous Birth-Death models
phylogenetics_cpp_routines.cpp:24284: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
24284 | #pragma mark
phylogenetics_cpp_routines.cpp:25740: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
25740 | #pragma mark -
phylogenetics_cpp_routines.cpp:25741: warning: ignoring '#pragma mark Homogenous' [-Wunknown-pragmas]
25741 | #pragma mark Homogenous Birth-Death-Sampling model
phylogenetics_cpp_routines.cpp:25742: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
25742 | #pragma mark
phylogenetics_cpp_routines.cpp:26851: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
26851 | #pragma mark -
phylogenetics_cpp_routines.cpp:26852: warning: ignoring '#pragma mark Simulate' [-Wunknown-pragmas]
26852 | #pragma mark Simulate models of trait evolution
phylogenetics_cpp_routines.cpp:26853: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
26853 | #pragma mark
phylogenetics_cpp_routines.cpp:27365: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
27365 | #pragma mark -
phylogenetics_cpp_routines.cpp:27366: warning: ignoring '#pragma mark Generating' [-Wunknown-pragmas]
27366 | #pragma mark Generating random trees via cladogenic models
phylogenetics_cpp_routines.cpp:27367: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
27367 | #pragma mark
phylogenetics_cpp_routines.cpp:30025: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
30025 | #pragma mark -
phylogenetics_cpp_routines.cpp:30026: warning: ignoring '#pragma mark Generating' [-Wunknown-pragmas]
30026 | #pragma mark Generating gene trees
phylogenetics_cpp_routines.cpp:30027: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
30027 | #pragma mark
phylogenetics_cpp_routines.cpp:31271: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
31271 | #pragma mark -
phylogenetics_cpp_routines.cpp:31272: warning: ignoring '#pragma mark Spherical' [-Wunknown-pragmas]
31272 | #pragma mark Spherical Brownian motion
phylogenetics_cpp_routines.cpp:31273: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
31273 | #pragma mark
phylogenetics_cpp_routines.cpp:32805: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
32805 | #pragma mark -
phylogenetics_cpp_routines.cpp:32806: warning: ignoring '#pragma mark Loading' [-Wunknown-pragmas]
32806 | #pragma mark Loading files
phylogenetics_cpp_routines.cpp:32807: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
32807 | #pragma mark
phylogenetics_cpp_routines.cpp:32995: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
32995 | #pragma mark -
phylogenetics_cpp_routines.cpp:32996: warning: ignoring '#pragma mark Working' [-Wunknown-pragmas]
32996 | #pragma mark Working with raw sequences
phylogenetics_cpp_routines.cpp:32997: warning: ignoring '#pragma mark ' [-Wunknown-pragmas]
32997 | #pragma mark
phylogenetics_cpp_routines.cpp: In function 'void string_to_ascii(const std::string&, lvector&)':
phylogenetics_cpp_routines.cpp:252:20: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  252 |     for(long i=0; i<input.length(); ++i){
      |                   ~^~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'long int count_occurrences(const std::string&, char, bool)':
phylogenetics_cpp_routines.cpp:344:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  344 |         for(long i=0; i<haystack.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void split_string(const std::string&, const std::string&, long int, std::vector<std::__cxx11::basic_string<char> >&)':
phylogenetics_cpp_routines.cpp:367:46: warning: comparison of integer expressions of different signedness: 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
  367 |         while((max_Nparts<0) || (parts.size()<max_Nparts)){
      |                                  ~~~~~~~~~~~~^~~~~~~~~~~
phylogenetics_cpp_routines.cpp:369:23: warning: comparison of integer expressions of different signedness: 'long int' and 'const std::__cxx11::basic_string<char>::size_type' {aka 'const long long unsigned int'} [-Wsign-compare]
  369 |                 if(pos==string::npos) break;
      |                    ~~~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:373:43: warning: comparison of integer expressions of different signedness: 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
  373 |         if((max_Nparts<0) || (parts.size()<max_Nparts)){
      |                               ~~~~~~~~~~~~^~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'long int find_first_non_nan(const std::vector<double>&, long int)':
phylogenetics_cpp_routines.cpp:470:28: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  470 |         for(long n=start; n<haystack.size(); ++n){
      |                           ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'long int vector_sum(const std::vector<char>&)':
phylogenetics_cpp_routines.cpp:717:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  717 |         for(long i=0; i<values.size(); ++i) S += values[i];
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double smallest_nonzero_step(const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:732:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  732 |         for(long i=0; i<times.size(); ++i){
      |                       ~^~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double vector_mean(const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:750:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  750 |         for(long i=0; i<values.size(); ++i) S += values[i];
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double vector_abs_mean(const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:757:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  757 |         for(long i=0; i<values.size(); ++i) S += abs(values[i]);
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double vector_max_abs(const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:793:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  793 |         for(long i=0; i<values.size(); ++i) A = max(A, abs(values[i]));
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void make_vector_positive(std::vector<double>&)':
phylogenetics_cpp_routines.cpp:824:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  824 |         for(long i=0; i<values.size(); ++i) values[i] = max(0.0, values[i]);
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void replace_negatives(std::vector<double>&, double)':
phylogenetics_cpp_routines.cpp:829:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  829 |         for(long i=0; i<values.size(); ++i){
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void replace_non_positives(std::vector<double>&, double)':
phylogenetics_cpp_routines.cpp:836:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  836 |         for(long i=0; i<values.size(); ++i){
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void cap_values(double, double, std::vector<double>&)':
phylogenetics_cpp_routines.cpp:846:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  846 |         for(long i=0; i<values.size(); ++i){
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'long int vector_count_zeros(const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:899:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  899 |         for(long i=0; i<values.size(); ++i) S += (values[i]==0 ? 1 : 0);
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'int taxon_descends(const std::vector<std::__cxx11::basic_string<char> >&, const std::vector<std::__cxx11::basic_string<char> >&)':
phylogenetics_cpp_routines.cpp:919:32: warning: comparison of integer expressions of different signedness: 'long int' and 'const long long unsigned int' [-Wsign-compare]
  919 |         for(long level=0; level<min(parent_taxonomy.size(),     child_taxonomy.size()); ++level){
      |                           ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void remove_item_from_mapped_list(lvector&, lvector&, long int)':
phylogenetics_cpp_routines.cpp:965:33: warning: comparison of integer expressions of different signedness: '__gnu_cxx::__alloc_traits<std::allocator<long int>, long int>::value_type' {aka 'long int'} and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  965 |         if(pool2list[pool_index]==list2pool.size()-1){
phylogenetics_cpp_routines.cpp: In function 'long int get_nearest_index(const std::vector<long int>&, long int)':
phylogenetics_cpp_routines.cpp:993:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  993 |         for(long i=0; i<(haystack.size()-1); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List dense_binary_matrix_row2column_major_CPP(long int, long int, const Rcpp::List&, bool)':
phylogenetics_cpp_routines.cpp:1014:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1014 |                 for(long i=0; i<dense_row.size(); ++i){
      |                               ~^~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void filtered_indices_to_bool(long int, const lvector&, const lvector&, bvector&)':
phylogenetics_cpp_routines.cpp:1439:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1439 |                 for(long i=0; i<only_indices.size(); ++i){
      |                               ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:1444:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1444 |                 for(long i=0; i<omit_indices.size(); ++i){
      |                               ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'std::string lowecase(const std::string&)':
phylogenetics_cpp_routines.cpp:1453:26: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1453 |         for(long i = 0; i<lower.size(); ++i){
      |                         ~^~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'bool is_proper_taxon_name(const std::string&)':
phylogenetics_cpp_routines.cpp:1468:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1468 |         for(long i=0; i<taxon.size(); ++i){
      |                       ~^~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double sum_piecewise_polynomials(const std::vector<std::vector<double> >&, const lvector&, const dvector&, double, long int)':
phylogenetics_cpp_routines.cpp:1658:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1658 |         for(long i=0; i<Ydegrees.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericVector evaluate_spline_CPP(const std::vector<double>&, const std::vector<double>&, long int, const std::vector<double>&, const std::string&, long int)':
phylogenetics_cpp_routines.cpp:2879:30: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 2879 |         for(long t=0, g=-1; t<Xtarget.size(); ++t){
      |                             ~^~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericVector get_antiderivative_CPP(const std::vector<double>&, double, const std::vector<double>&, long int, const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:3319:29: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3319 |         for(long t=0, g=0; t<Xtarget.size(); ++t){
      |                            ~^~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericVector get_derivative_CPP(const std::vector<double>&, const std::vector<double>&, long int, const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:3346:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3346 |         for(long t=0, g=0, p; t<Xtarget.size(); ++t){
      |                               ~^~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'std::vector<bool>& operator&=(std::vector<bool>&, const std::vector<bool>&)':
phylogenetics_cpp_routines.cpp:3618:20: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<bool>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3618 |     for(long i=0; i<x.size(); ++i){
      |                   ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void QR_linear_least_squares(double*, long int, long int, long int, long int, const double*, long int*, double*, double*, double*)':
phylogenetics_cpp_routines.cpp:4550:17: warning: variable 'info' set but not used [-Wunused-but-set-variable]
 4550 |         long i, info, j, k;
      |                 ^~~~
phylogenetics_cpp_routines.cpp: In member function 'void matrix_exponentiator::initialize(long int, const std::vector<std::complex<double> >&, const std::vector<std::complex<double> >&, const std::vector<std::complex<double> >&, double)':
phylogenetics_cpp_routines.cpp:5901:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<std::complex<double> >::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 5901 |                         for(long r=0; r<eigenvalues.size(); ++r) eigenvalues[r] *= rescaling;
      |                                       ~^~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void apply_approximate_RosenbrockEuler_exponential(long int, long int, const std::vector<double>&, const double&, const std::vector<double>&, const long int&, std::vector<double>&, std::vector<double>&, std::vector<double>&)':
phylogenetics_cpp_routines.cpp:5981:19: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 5981 |         for(k=0; k<Y.size(); ++k) Y[k] = scaling*X[k];
      |                  ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double dot_product(const dvector&, const dvector&)':
phylogenetics_cpp_routines.cpp:6013:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 6013 |         for(long i=0; i<X.size(); ++i) S += X[i]*Y[i];
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void refine_piecewise_polynomial(long int, long int, const double*, const double*, bool, const dvector&, dvector&)':
phylogenetics_cpp_routines.cpp:8926:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 8926 |         for(long ng=0, og=0; ng<newTimes.size(); ++ng){
      |                              ~~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void refine_piecewise_polynomial(long int, const dvector&, const dvector&, bool, const dvector&, dvector&, dvector&)':
phylogenetics_cpp_routines.cpp:8963:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 8963 |         for(long ng=0, og=0; ng<newTimes.size(); ++ng){
      |                              ~~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List monotonize_series_via_interpolation_CPP(const std::vector<double>&, std::vector<double>, bool, bool)':
phylogenetics_cpp_routines.cpp:10007:56: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
10007 |                                         for(long k=0; k<invalids.size(); ++k){
      |                                                       ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:10033:56: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
10033 |                                         for(long k=0; k<invalids.size(); ++k){
      |                                                       ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'void TreeSpeciationExtinctionModel::calculate_coalescent_diversities()':
phylogenetics_cpp_routines.cpp:10995:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
10995 |                 for(long t=0; t<times.size(); ++t){
      |                               ~^~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void get_cumulative_edge_lengths_per_node(long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, std::vector<double>&)':
phylogenetics_cpp_routines.cpp:12752:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
12752 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void get_clade_ages(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const tree_context&, dvector&)':
phylogenetics_cpp_routines.cpp:12874:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
12874 |         for(long q=0, clade; q<context.queue.size(); ++q){
      |                              ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_closest_tip_per_clade_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, bool, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:12980:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
12980 |                 for(long t=0; t<onlyToTips.size(); ++t){
      |                               ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:13011:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13011 |         for(long q=0; q<traversal_queue_root2tips.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_farthest_tip_per_clade_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, bool, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:13099:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13099 |                 for(long t=0; t<onlyToTips.size(); ++t){
      |                               ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:13130:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13130 |         for(long q=1; q<traversal_queue_root2tips.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:13158:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13158 |         for(long q=0; q<traversal_queue_root2tips.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_farthest_tips_per_edge_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:13220:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13220 |                 for(long t=0; t<onlyToTips.size(); ++t){
      |                               ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:13250:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13250 |         for(long q=0; q<context.queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericMatrix get_distance_matrix_between_clades_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:13342:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13342 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:13362:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13362 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericVector get_distances_between_clades_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, const std::vector<long int>&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:13473:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13473 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:13493:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13493 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List count_clades_at_regular_times_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, long int, double, double, bool, long int, bool)':
phylogenetics_cpp_routines.cpp:13686:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13686 |         for(long q=0, clade; q<context.queue.size(); ++q){
      |                              ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::IntegerVector count_clades_at_times_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, long int)':
phylogenetics_cpp_routines.cpp:13787:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13787 |         for(long q=0, clade; q<context.queue.size(); ++q){
      |                              ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_speciation_extinction_events_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, double, double, const std::vector<long int>&, const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:13944:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13944 |         for(long q=0; q<queue_root2tips.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:13968:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13968 |         for(long c=0; c<only_clades.size(); ++c) include_clade[only_clades[c]] = true;
      |                       ~^~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:13969:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
13969 |         for(long c=0; c<omit_clades.size(); ++c) include_clade[omit_clades[c]] = false;
      |                       ~^~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void get_relative_evolutionary_divergences(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, std::vector<double>&)':
phylogenetics_cpp_routines.cpp:14114:45: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14114 |         for(long q=1, clade, pnode, cnode; q<context.queue.size(); ++q){
      |                                            ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double get_gamma_statistic_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:14370:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14370 |         for(long q=0, clade; q<context.queue.size(); ++q){
      |                              ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::IntegerVector extract_tip_neighborhood_CPP(long int, long int, long int, const std::vector<long int>&, long int, long int, long int)':
phylogenetics_cpp_routines.cpp:14535:16: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14535 |         while(k<clade_queue.size()){
      |               ~^~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::IntegerVector extract_deep_frame_CPP(long int, long int, long int, const std::vector<long int>&, long int)':
phylogenetics_cpp_routines.cpp:14592:28: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14592 |         while(queue_pointer<clades.size()){
      |               ~~~~~~~~~~~~~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:14609:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14609 |         for(long c=0, clade; c<clades.size(); ++c){
      |                              ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericVector get_all_distances_to_tip_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, long int)':
phylogenetics_cpp_routines.cpp:14654:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14654 |         for(long q=0; q<context.queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List inherit_taxonomies_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<std::__cxx11::basic_string<char> >&, const std::vector<std::__cxx11::basic_string<char> >&, const std::vector<long int>&, bool, const std::string&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:14752:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14752 |         for(long i=0; i<focal_clades.size(); ++i) clade_is_relevant[focal_clades[i]]  = true;
      |                       ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:14806:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14806 |                 for(long q=0; q<context.queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:14817:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14817 |                 for(long q=0; q<context.queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:14828:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14828 |         for(long q=0; q<context.queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:14845:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
14845 |         for(long i=0; i<focal_clades.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:14744:21: warning: unused variable 'node' [-Wunused-variable]
14744 |         long clade, node, edge, parent;
      |                     ^~~~
phylogenetics_cpp_routines.cpp:14744:27: warning: unused variable 'edge' [-Wunused-variable]
14744 |         long clade, node, edge, parent;
      |                           ^~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_subtree_with_specific_clades_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, bool, bool, bool, bool)':
phylogenetics_cpp_routines.cpp:15399:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15399 |         for(long c=0; c<clades_to_keep.size(); ++c){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:15416:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15416 |         for(long q=0; q<traversal_queue_root2tips.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'long int find_root_for_monophyletic_clade_CPP(long int, long int, long int, std::vector<long int>, bool, const std::vector<long int>&, bool)':
phylogenetics_cpp_routines.cpp:16240:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
16240 |         for(long t=0; t<target_tips.size(); ++t){
      |                       ~^~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:16263:38: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
16263 |         for(long q=1, cnode, pnode; q<traversal_queue_root2tips.size(); ++q){
      |                                     ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List find_edge_splitting_tree_CPP(long int, long int, long int, std::vector<long int>, bool, const std::vector<long int>&, bool)':
phylogenetics_cpp_routines.cpp:16370:29: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
16370 |         for(long t=0, tip; t<target_tips.size(); ++t){
      |                            ~^~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:16384:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
16384 |         for(long q=1; q<traversal_queue_root2tips.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:16419:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
16419 |                 for(long q=1; q<traversal_queue_root2tips.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List trim_tree_at_height_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, double)':
phylogenetics_cpp_routines.cpp:16686:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
16686 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List split_tree_at_height_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, double, double)':
phylogenetics_cpp_routines.cpp:16796:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
16796 |                 for(long q=0; q<context.queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List merge_nodes_to_multifurcations_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, bool, bool)':
phylogenetics_cpp_routines.cpp:17136:38: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
17136 |                 for(long n=0, node; n<nodes_to_merge.size(); ++n){
      |                                     ~^~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:17146:49: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
17146 |                 for(long n=0, e, pnode, child; n<nodes_to_merge.size(); ++n){
      |                                                ~^~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:17210:89: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
17210 |         for(long q=0, clade, node, absorbing_ancestor, parent, child, e, edge, inedge; q<context.queue.size(); ++q){
      |                                                                                        ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List shift_clade_times_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, const std::vector<double>&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:17307:48: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
17307 |         for(long s=0, clade, inedge, node, e; s<clades_to_shift.size(); ++s){
      |                                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:17330:56: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
17330 |                 for(long q=1, clade, node, inedge, e; q<context.queue.size(); ++q){
      |                                                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:17364:47: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
17364 |                 for(long q=1, clade, inedge; q<context.queue.size(); ++q){
      |                                              ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void assign_clades_to_taxa(long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&, std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:17700:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
17700 |         for(long q=0, clade; q<traversal_queue.size(); ++q){
      |                              ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List place_tips_taxonomically_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<std::__cxx11::basic_string<char> >&, const std::vector<std::__cxx11::basic_string<char> >&, const std::string&, const std::string&, bool)':
phylogenetics_cpp_routines.cpp:18096:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18096 |                 for(long f=0; f<fits.size(); ++f){
      |                               ~^~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:18097:66: warning: comparison of integer expressions of different signedness: 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long long unsigned int'} and 'long int' [-Wsign-compare]
18097 |                         if(clade_taxonomies_split[fits[f]].size()==max_precision) precise_fits.push_back(fits[f]);
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List tree_from_placements_CPP(long int, long int, long int, std::vector<long int>, std::vector<double>, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:18134:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18134 |         for(long i=0; i<tree_edge.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List congruify_trees_CPP(long int, long int, long int, const std::vector<long int>&, long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:18332:38: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18332 |         for(long m=0, Tnode, Rnode; m<mapped_Tnodes.size(); ++m){
      |                                     ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_Robinson_Foulds_distance_CPP(long int, long int, long int, const std::vector<long int>&, long int, long int, const std::vector<long int>&, const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:18562:60: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18562 |                                 for(long fb=0, fa=-1, f; fb<membershipsB[nodeB].size(); ++fb){
      |                                                          ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'std::vector<double> relative_to_absolute_node_ages_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:18618:44: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18618 |         for(long q=1, clade, node, pnode; q<traversal_queue.size(); ++q){
      |                                           ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'std::vector<double> propagate_min_ages_upstream_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:18642:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18642 |         for(long a=0; a<anchor_nodes.size(); ++a){
      |                       ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'std::vector<double> propagate_max_ages_downstream_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:18671:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18671 |         for(long a=0; a<anchor_nodes.size(); ++a){
      |                       ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:18676:44: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18676 |         for(long q=0, clade, node, pnode; q<traversal_queue.size(); ++q){
      |                                           ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_phylogram_geometry_CPP(long int, long int, long int, std::vector<long int>, const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:18738:39: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18738 |         for(long q=1, clade, parent; q<traversal_queue.size(); ++q){
      |                                      ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:18755:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18755 |         for(long q=0, clade, node; q<traversal_queue.size(); ++q){
      |                                    ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_radial_tree_geometry_CPP(long int, long int, long int, std::vector<long int>, const std::vector<double>&, double, bool, double)':
phylogenetics_cpp_routines.cpp:18821:50: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18821 |         for(long q=0, clade, node, edge, child; q<context.queue.size(); ++q){
      |                                                 ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:18863:39: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
18863 |         for(long q=1, clade, parent; q<context.queue.size(); ++q){
      |                                      ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void aux_get_trait_depth_consenTRAIT(long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, double, bool, bool, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<double>&, double, bool, std::vector<long int>&, std::vector<long int>&, std::vector<double>&, double&, double&, double&, double&, long int&, std::vector<long int>&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:19478:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
19478 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void aux_get_discrete_trait_depths(long int, long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, double, bool, bool, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<double>&, double, std::vector<long int>&, double&, double&, double&, double&, long int&, std::vector<double>&, std::vector<double>&, std::vector<double>&, std::vector<double>&, std::vector<long int>&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:19791:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
19791 |         for(long q=0, dominant_state; q<traversal_queue.size(); ++q){
      |                                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_mrca_defining_tips_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:20840:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
20840 |         for(long q=0, parent; q<traversal_queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::IntegerVector get_pairwise_ancestries_CPP(long int, long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:20911:26: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
20911 |         for(long fc=0; fc<focal_clades.size(); ++fc){
      |                        ~~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:20917:26: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
20917 |         for(long fc=0; fc<focal_clades.size(); ++fc){
      |                        ~~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::IntegerVector get_most_recent_common_ancestors_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:21045:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
21045 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:21064:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
21064 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'bool is_monophyletic_tip_set_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<long int>&)':
phylogenetics_cpp_routines.cpp:21200:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
21200 |         for(long t=0; t<focal_tips.size(); ++t) tip_is_focal[focal_tips[t]] = true;
      |                       ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List WMPR_ASR_CPP(long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, const std::vector<double>&, double, bool, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:21430:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
21430 |         for(long q=0; q<traversal_queue_root2tips.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List ASR_with_fixed_rates_Markov_model_CPP(long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, const Rcpp::ComplexVector&, const Rcpp::ComplexVector&, const Rcpp::ComplexVector&, const std::vector<double>&, const std::string&, const std::vector<double>&, bool, bool, double, double, long int, bool)':
phylogenetics_cpp_routines.cpp:21792:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
21792 |                 for(long n=0; n<posteriors.size(); ++n) posteriors[n] = exp(logposteriors[n]);
      |                               ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:21833:34: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
21833 |         for(long q=0, new_root; q<depth_first_search_queue.size(); ++q){
      |                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List apply_fixed_rate_Markov_model_to_missing_clades_CPP(long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, double, long int, Rcpp::LogicalVector, std::vector<double>, bool)':
phylogenetics_cpp_routines.cpp:22259:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
22259 |         for(long q=0, node, clade; q<traversal_queue.size(); ++q){
      |                                    ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericVector apply_attributes_to_descendants_CPP(long int, long int, long int, long int, const std::vector<long int>&, std::vector<long int>, std::vector<double>)':
phylogenetics_cpp_routines.cpp:22317:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
22317 |         for(long q=0, node, clade; q<traversal_queue.size(); ++q){
      |                                    ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List ASR_via_squared_change_parsimony_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, bool)':
phylogenetics_cpp_routines.cpp:22491:42: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
22491 |                 for(long q=0, new_root; q<depth_first_search_queue.size(); ++q){
      |                                         ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List ASR_via_independent_contrasts_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, bool)':
phylogenetics_cpp_routines.cpp:22752:30: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
22752 |         if(node_states.size()>Nnodes) node_states.resize(Nnodes);
      |            ~~~~~~~~~~~~~~~~~~^~~~~~~
phylogenetics_cpp_routines.cpp:22753:39: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
22753 |         if(node_standard_errors.size()>Nnodes) node_standard_errors.resize(Nnodes);
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
phylogenetics_cpp_routines.cpp:22754:29: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
22754 |         if(node_CI95s.size()>Nnodes) node_CI95s.resize(Nnodes);
      |            ~~~~~~~~~~~~~~~~~^~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericVector apply_BM_parsimony_to_missing_clades_CPP(long int, long int, long int, const std::vector<long int>&, Rcpp::LogicalVector, std::vector<double>)':
phylogenetics_cpp_routines.cpp:22795:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
22795 |         for(long q=0, node, clade; q<traversal_queue.size(); ++q){
      |                                    ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'double BinaryTraitLogLikelihood::operator()(double) const':
phylogenetics_cpp_routines.cpp:22831:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
22831 |                 for(long i=0, tip; i<only_tips.size(); ++i){
      |                                    ~^~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'double BinaryTraitLogLikelihood::gradient(double) const':
phylogenetics_cpp_routines.cpp:22859:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
22859 |                 for(long i=0, tip; i<only_tips.size(); ++i){
      |                                    ~^~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'double BinaryTraitLogLikelihood::Hessian(double) const':
phylogenetics_cpp_routines.cpp:22888:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
22888 |                 for(long i=0, tip; i<only_tips.size(); ++i){
      |                                    ~^~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'void MuSSEmodelD::registerState(double, const MuSSEstateD&)':
phylogenetics_cpp_routines.cpp:23133:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23133 |                 for(long s=0; s<trajectory[i].size(); ++s) trajectory[i][s] = max(0.0, min(1.0, trajectory[i][s]));
      |                               ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'void MuSSEmodelD::registerScaledState(double, const MuSSEstateD&, double)':
phylogenetics_cpp_routines.cpp:23147:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23147 |                 for(long s=0; s<trajectory_shape[i].size(); ++s) trajectory_shape[i][s] = max(0.0, trajectory_shape[i][s]);
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'bool MuSSEmodelD::checkShouldRefineTimeStep(double, const MuSSEstateD&, double, const MuSSEstateD&) const':
phylogenetics_cpp_routines.cpp:23239:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23239 |                         for(long i=0; i<candidate_state.size(); ++i){
      |                                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'bool MuSSEmodelD::checkShouldRefineTimeStep(double, const MuSSEstateD&, double, double, const MuSSEstateD&, double) const':
phylogenetics_cpp_routines.cpp:23252:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23252 |                         for(long i=0; i<candidateY.size(); ++i){
      |                                       ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:23257:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23257 |                         for(long i=0; i<candidateY.size(); ++i){
      |                                       ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'CrossedBoundary MuSSEmodelD::checkCrossedDomainBoundaryAndFix(double, const MuSSEstateD&, double&, MuSSEstateD&, bool) const':
phylogenetics_cpp_routines.cpp:23277:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23277 |                 for(long s=0; s<candidate_state.size(); ++s){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:23299:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23299 |                         for(long s=0; s<candidate_state.size(); ++s){
      |                                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'CrossedBoundary MuSSEmodelD::checkCrossedDomainBoundaryAndFix(double, const MuSSEstateD&, double, double&, MuSSEstateD&, double&, bool) const':
phylogenetics_cpp_routines.cpp:23322:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23322 |                 for(long s=0; s<candidateY.size(); ++s){
      |                               ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:23346:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23346 |                         for(long s=0; s<candidateY.size(); ++s){
      |                                       ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'bool MuSSEmodelE::checkShouldRefineTimeStep(double, const MuSSEstateE&, double, const MuSSEstateE&) const':
phylogenetics_cpp_routines.cpp:23529:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23529 |                 for(long s=0; s<candidate_state.size(); ++s){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'double MuSSEmodelE::getRelativeChange(const MuSSEstateE&, const MuSSEstateE&) const':
phylogenetics_cpp_routines.cpp:23542:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23542 |                 for(long s=0; s<stateA.size(); ++s){
      |                               ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'CrossedBoundary MuSSEmodelE::checkCrossedDomainBoundaryAndFix(double, const MuSSEstateE&, double&, MuSSEstateE&, bool) const':
phylogenetics_cpp_routines.cpp:23559:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23559 |                 for(long s=0; s<candidate_state.size(); ++s){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:23581:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23581 |                         for(long s=0; s<candidate_state.size(); ++s){
      |                                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'bool get_MuSSE_flow(long int, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, double, double, double, double, double, double, bool, std::vector<std::__cxx11::basic_string<char> >&, std::string&, double&, long int&, MuSSEmodelE&, MuSSEmodelD&, std::vector<LinearInterpolationFunctor<std::vector<double> > >&, std::vector<LinearInterpolationFunctor<double> >&)':
phylogenetics_cpp_routines.cpp:23830:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
23830 |         for(long a=0; a<ages.size(); ++a){
      |                       ~^~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_deterministic_HBD_model_CPP(double, double, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, std::vector<double>, const std::vector<double>&, double, double, double, double, long int, double, bool)':
phylogenetics_cpp_routines.cpp:24655:40: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
24655 |                         for(long i=0; i<lambdas.size(); ++i) coarse_mus[i] = lambdas[i] * mu_over_lambda[i];
      |                                       ~^~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_fixed_rates_Markov_model_CPP(long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, bool, bool, long int)':
phylogenetics_cpp_routines.cpp:26911:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
26911 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_Ornstein_Uhlenbeck_on_tree_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, double, double, double, bool, bool, long int)':
phylogenetics_cpp_routines.cpp:26991:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
26991 |                 for(long q=0; q<traversal_queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_reflected_Ornstein_Uhlenbeck_on_tree_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, double, double, double, bool, bool, long int)':
phylogenetics_cpp_routines.cpp:27073:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27073 |                 for(long q=0; q<traversal_queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_scalar_Brownian_motion_model_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, double, bool, bool, long int)':
phylogenetics_cpp_routines.cpp:27144:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27144 |                 for(long q=0; q<traversal_queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_multivariate_Brownian_motion_model_CPP(long int, long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, bool, bool, long int)':
phylogenetics_cpp_routines.cpp:27224:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27224 |                 for(long q=0; q<traversal_queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_neutral_gene_evolution_CPP(long int, long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, double, bool, bool, bool, long int)':
phylogenetics_cpp_routines.cpp:27316:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27316 |                 for(long q=0; q<traversal_queue.size(); ++q){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void aux_finalize_generated_random_tree(double, bool, bool, bool, const dvector&, const dvector&, const dvector&, long int&, long int&, long int&, long int&, double&, lvector&, dvector&, lvector&, lvector&, lvector&, dvector&, dvector&)':
phylogenetics_cpp_routines.cpp:27428:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27428 |         for(long i=0; i<sampled_tips.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27431:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27431 |         for(long i=0; i<sampled_node_clades.size(); ++i){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27437:53: warning: comparison of integer expressions of different signedness: 'std::vector<long int>::size_type' {aka 'long long unsigned int'} and 'long int' [-Wsign-compare]
27437 |         if(only_sampled_tips && (sampled_tips.size()<Ntips)){
      |                                  ~~~~~~~~~~~~~~~~~~~^~~~~~
phylogenetics_cpp_routines.cpp:27474:48: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27474 |                 for(long new_clade=0; new_clade<pruning_new2old_clade.size(); ++new_clade){
      |                                       ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27480:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27480 |                 for(long i=0; i<sampled_tips.size(); ++i){
      |                               ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27483:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27483 |                 for(long i=0; i<sampled_node_clades.size(); ++i){
      |                               ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List generate_random_tree_CPP(long int, long int, double, double, double, double, double, double, double, double, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, bool, bool, long int, bool, bool, bool, bool)':
phylogenetics_cpp_routines.cpp:27568:75: warning: comparison of integer expressions of different signedness: 'long long unsigned int' and 'const long int' [-Wsign-compare]
27568 |         while(((max_tips<=0) || ((coalescent ? extant_tips.size() : Ntips)<max_tips)) && ((max_extant_tips<=0) || extant_tips.size()<max_extant_tips) && ((max_time<=0) || (time+1/total_rate<max_time)) && ((max_time_since_equilibrium<0) || (time-equilibrium_time+1/total_rate<max_time_since_equilibrium))){
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
phylogenetics_cpp_routines.cpp:27568:133: warning: comparison of integer expressions of different signedness: 'std::vector<long int>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
27568 |         while(((max_tips<=0) || ((coalescent ? extant_tips.size() : Ntips)<max_tips)) && ((max_extant_tips<=0) || extant_tips.size()<max_extant_tips) && ((max_time<=0) || (time+1/total_rate<max_time)) && ((max_time_since_equilibrium<0) || (time-equilibrium_time+1/total_rate<max_time_since_equilibrium))){
      |                                                                                                                   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List generate_random_tree_HBDS_CPP(long int, long int, long int, long int, long int, double, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, long int, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, bool, bool, double, bool, bool, bool, bool)':
phylogenetics_cpp_routines.cpp:27781:100: warning: comparison of integer expressions of different signedness: 'std::vector<long int>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
27781 |         while(((max_tips<=0) || (Ntips<max_tips)) && ((max_sampled_tips<=0) || (sampled_tips.size()<max_sampled_tips)) && ((max_extant_tips<=0) || (extant_tips.size()<max_extant_tips)) && ((max_extinct_tips<=0) || (extinct_tips.size()<max_extinct_tips))){
      |                                                                                 ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27781:167: warning: comparison of integer expressions of different signedness: 'std::vector<long int>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
27781 |         while(((max_tips<=0) || (Ntips<max_tips)) && ((max_sampled_tips<=0) || (sampled_tips.size()<max_sampled_tips)) && ((max_extant_tips<=0) || (extant_tips.size()<max_extant_tips)) && ((max_extinct_tips<=0) || (extinct_tips.size()<max_extinct_tips))){
      |                                                                                                                                                     ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27781:235: warning: comparison of integer expressions of different signedness: 'std::vector<long int>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
27781 |         while(((max_tips<=0) || (Ntips<max_tips)) && ((max_sampled_tips<=0) || (sampled_tips.size()<max_sampled_tips)) && ((max_extant_tips<=0) || (extant_tips.size()<max_extant_tips)) && ((max_extinct_tips<=0) || (extinct_tips.size()<max_extinct_tips))){
      |                                                                                                                                                                                                                        ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27965:34: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27965 |                 for(long nc=0; nc<new2old_clade.size(); ++nc){
      |                                ~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27972:34: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27972 |                 for(long nc=0; nc<new2old_clade.size(); ++nc){
      |                                ~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:27979:26: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
27979 |         for(long nc=0; nc<new2old_clade.size(); ++nc){
      |                        ~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List generate_random_tree_BM_rates_CPP(long int, double, double, double, double, double, double, double, double, double, double, bool, long int, bool, bool, bool)':
phylogenetics_cpp_routines.cpp:28632:75: warning: comparison of integer expressions of different signedness: 'long long unsigned int' and 'const long int' [-Wsign-compare]
28632 |         while(((max_tips<=0) || ((coalescent ? extant_tips.size() : Ntips)<max_tips)) && ((max_time<=0) || (time+1/total_rate<max_time)) && ((max_time_since_equilibrium<0) || (time-equilibrium_time+1/total_rate<max_time_since_equilibrium))){
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List generate_random_tree_OU_rates_CPP(long int, double, double, double, double, double, double, double, double, double, double, double, double, double, double, bool, long int, bool, bool, bool)':
phylogenetics_cpp_routines.cpp:28826:75: warning: comparison of integer expressions of different signedness: 'long long unsigned int' and 'const long int' [-Wsign-compare]
28826 |         while(((max_tips<=0) || ((coalescent ? extant_tips.size() : Ntips)<max_tips)) && ((max_time<=0) || (time+1/total_rate<max_time)) && ((max_time_since_equilibrium<0) || (time-equilibrium_time+1/total_rate<max_time_since_equilibrium))){
      |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List generate_random_tree_Mk_rates_CPP(long int, long int, long int, double, double, long int, long int, long int, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, bool, bool, bool, bool, bool, bool)':
phylogenetics_cpp_routines.cpp:29287:34: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
29287 |                 for(long nc=0; nc<new2old_clade.size(); ++nc){
      |                                ~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:29293:34: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
29293 |                 for(long nc=0; nc<new2old_clade.size(); ++nc){
      |                                ~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:29298:26: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
29298 |         for(long nc=0; nc<new2old_clade.size(); ++nc){
      |                        ~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List generate_random_tree_tdSSE_CPP(long int, double, long int, long int, long int, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, long int, bool, long int, bool, bool, bool, bool)':
phylogenetics_cpp_routines.cpp:29966:38: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
29966 |                 for(long stip=0; stip<extant_tips[state].size(); ++stip){
      |                                  ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void aux_coalesce_genes(const std::vector<double>&, double, EdgeLengthUnit, double, double, long int, std::vector<long int>&, long int&, std::vector<double>&, std::vector<double>&, std::vector<double>&, std::vector<long int>&, std::vector<double>&)':
phylogenetics_cpp_routines.cpp:30210:44: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'long int' [-Wsign-compare]
30210 |                 if(clade2tail_length.size()<=next_clade) clade2tail_length.resize(next_clade+1);
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:30212:42: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'long int' [-Wsign-compare]
30212 |                 if(clade2tail_time.size()<=next_clade) clade2tail_time.resize(next_clade+1);
      |                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:30221:41: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
30221 |         for(long orphan=0, clade; orphan<orphan_clades.size(); ++orphan){
      |                                   ~~~~~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void add_edges_from_branching_heights(const std::vector<double>&, std::vector<long int>&, long int&, std::vector<double>&, std::vector<long int>&, std::vector<double>&)':
phylogenetics_cpp_routines.cpp:30274:40: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'long int' [-Wsign-compare]
30274 |                 if(clade_heights.size()<=next_clade) clade_heights.resize(next_clade+1);
      |                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'bool generate_gene_tree_in_species_tree_MSC(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<long int>&, const std::string&, long int, bool, bool, long int, long int&, long int&, long int&, long int&, std::vector<long int>&, std::vector<double>&, std::vector<long int>&, std::vector<long int>&, std::vector<double>&, std::string&)':
phylogenetics_cpp_routines.cpp:30324:64: warning: comparison of integer expressions of different signedness: 'std::vector<long int>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30324 |         const bool got_allele_counts    = (allele_counts.size()==NStips);
      |                                            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
phylogenetics_cpp_routines.cpp:30325:67: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30325 |         const bool got_population_sizes = (population_sizes.size()==NSclades);
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30326:67: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30326 |         const bool got_generation_times = (generation_times.size()==NSclades);
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30327:65: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30327 |         const bool got_mutation_rates   = (mutation_rates.size()==NSclades);
      |                                            ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30350:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
30350 |         for(long q=0, clade; q<context.queue.size(); ++q){
      |                              ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:30367:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
30367 |                 for(allele=0; allele<gene_orphans[stip].size(); ++allele){
      |                               ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:30452:50: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
30452 |                         for(long orphan=0; orphan<gene_orphans[context.root].size()-1; ++orphan){
      |                                            ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List generate_gene_tree_in_species_tree_MSC_HGT_DL_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<long int>&, const std::string&, long int, bool, bool, long int, bool, bool, double, double, bool)':
phylogenetics_cpp_routines.cpp:30606:83: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30606 |         const bool got_population_sizes                 = (population_sizes.size()==NSclades);
      |                                                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30607:83: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30607 |         const bool got_generation_times                 = (generation_times.size()==NSclades);
      |                                                            ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30608:81: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30608 |         const bool got_mutation_rates                   = (mutation_rates.size()==NSclades);
      |                                                            ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30609:80: warning: comparison of integer expressions of different signedness: 'std::vector<long int>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30609 |         const bool got_allele_counts                    = (allele_counts.size()==NStips);
      |                                                            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~
phylogenetics_cpp_routines.cpp:30610:84: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30610 |         const bool got_HGT_rates                                = (HGT_rates.size()==NSclades);
      |                                                                    ~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30611:84: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30611 |         const bool got_duplication_rates                = (duplication_rates.size()==NSclades);
      |                                                            ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30612:85: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
30612 |         const bool got_loss_rates                               = (loss_rates.size()==NSclades);
      |                                                                    ~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:30633:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
30633 |         for(long q=0; q<context.queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:30640:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
30640 |         for(long q=0, clade; q<context.queue.size(); ++q){
      |                              ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:30743:66: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
30743 |                                 for(long l=0, locus, new_locus; l<clade_current_loci[mclade].size(); ++l){
      |                                                                 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:30769:39: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
30769 |                 for(long l=0, locus; l<clade_current_loci[mclade].size(); ++l){
      |                                      ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'void simulate_SBM_on_tree(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, double, double, double, double, dvector&, dvector&)':
phylogenetics_cpp_routines.cpp:31581:48: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
31581 |         for(long q=0, parent, child, e, edge; q<context.queue.size(); ++q){
      |                                               ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_SBM_trajectory_CPP(const std::vector<double>&, double, double, double, double)':
phylogenetics_cpp_routines.cpp:31694:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
31694 |         for(long t=1; t<times.size(); ++t){
      |                       ~^~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In member function 'double Spherical_Brownian_Motion_LL::operator()(double) const':
phylogenetics_cpp_routines.cpp:32167:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
32167 |                 for(long p=0; p<time_steps.size(); ++p){
      |                               ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List SBM_LLs_of_transitions_CPP(double, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, double, long int)':
phylogenetics_cpp_routines.cpp:32209:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
32209 |         for(long d=0; d<diffusivities.size(); ++d){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List SBM_LLs_of_sampled_transitions_CPP(double, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, long int, long int, const std::vector<double>&, double, long int)':
phylogenetics_cpp_routines.cpp:32247:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
32247 |         for(long d=0; d<diffusivities.size(); ++d){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double SBM_planar_diffusivity_estimate(const dvector&, const dvector&, const std::vector<char>&)':
phylogenetics_cpp_routines.cpp:32409:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
32409 |         for(long p=0; p<time_steps.size(); ++p){
      |                       ~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List read_distances_list_CPP(const std::string&, const std::string&, const std::string&, bool, long int, double, double, long int, long int, const std::string&)':
phylogenetics_cpp_routines.cpp:32957:32: warning: comparison of integer expressions of different signedness: 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
32957 |                 if(parts.size()<=distances_column){
      |                    ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:32985:56: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
32985 |                 if((max_Nedges>=0) && (distances.size()>=max_Nedges)) break;
      |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'bool char_in_string(char, const std::string&, bool)':
phylogenetics_cpp_routines.cpp:33035:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
33035 |                 for(long i=0; i<haystack.size(); ++i){
      |                               ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:33040:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
33040 |                 for(long i=0; i<haystack.size(); ++i){
      |                               ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List place_paired_end_reads_CPP(const std::vector<std::__cxx11::basic_string<char> >&, const std::vector<std::__cxx11::basic_string<char> >&, long int, long int)':
phylogenetics_cpp_routines.cpp:33120:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
33120 |         for(long s=0; s<forward_reads.size(); ++s){
      |                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void multiply_array_with_scalar(ARRAY_TYPE&, double) [with ARRAY_TYPE = std::vector<double>]':
phylogenetics_cpp_routines.cpp:5392:29:   required from here
 5392 |                 multiply_array_with_scalar(A,factor);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:590:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  590 |         for(long i=0; i<X.size(); ++i) X[i] *= scalar;
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'double get_norm_L2_of_vector(const ARRAY_TYPE&) [with ARRAY_TYPE = std::vector<double>]':
phylogenetics_cpp_routines.cpp:5587:34:   required from here
 5587 |         epsilon /= get_norm_L2_of_vector(balances) * get_norm_L2_of_inverted_vector(balances);
      |                    ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:4993:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 4993 |         for(long i=0; i<X.size(); ++i) S += SQR(X[i]);
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'double get_norm_L2_of_inverted_vector(const ARRAY_TYPE&) [with ARRAY_TYPE = std::vector<double>]':
phylogenetics_cpp_routines.cpp:5587:77:   required from here
 5587 |         epsilon /= get_norm_L2_of_vector(balances) * get_norm_L2_of_inverted_vector(balances);
      |                                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
phylogenetics_cpp_routines.cpp:5001:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 5001 |         for(long i=0; i<X.size(); ++i) S += SQR(1.0/X[i]);
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'TYPE vector_sum(const std::vector<T>&) [with TYPE = long int]':
phylogenetics_cpp_routines.cpp:8800:48:   required from here
 8800 |         const long NR = (end_c-start_c+1) + vector_sum(dN);
      |                                             ~~~~~~~~~~^~~~
phylogenetics_cpp_routines.cpp:702:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  702 |         for(long i=0; i<values.size(); ++i) S += values[i];
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'bool LUsolveLinearSystem(const TYPE*, TYPE*, long unsigned int, const TYPE*, double, unsigned int, TYPE*) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:9022:25:   required from here
 9022 |         if(!LUsolveLinearSystem(        &matrix[0],
      |             ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
 9023 |                                                         &scratchSpace[0],
      |                                                         ~~~~~~~~~~~~~~~~~
 9024 |                                                         3,
      |                                                         ~~
 9025 |                                                         &b[0],
      |                                                         ~~~~~~
 9026 |                                                         epsilon*3,
      |                                                         ~~~~~~~~~~
 9027 |                                                         5,
      |                                                         ~~
 9028 |                                                         &sol[0])){
      |                                                         ~~~~~~~~
phylogenetics_cpp_routines.cpp:4843:19: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4843 |         for(i=0; i<N; ++i){
      |                  ~^~
phylogenetics_cpp_routines.cpp:4844:27: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4844 |                 for(j=0; j<N; ++j){
      |                          ~^~
phylogenetics_cpp_routines.cpp:4859:87: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 4859 |                 while((errorInLinearSolution(matrix, N, b, x) > maxError) && (impCount<maxImprovements)){
      |                                                                              ~~~~~~~~~^~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'bool fitLeastSquares_affine_real_scalar(const std::vector<T>&, const std::vector<T>&, long int, long int, double, bool, bool, REAL_TYPE&, REAL_TYPE&, REAL_TYPE&, long int&) [with REAL_TYPE = double]':
phylogenetics_cpp_routines.cpp:9392:40:   required from here
 9392 |                 if(fitLeastSquares_affine_real_scalar(X, logY, start, end, Xshift[n], false, false, A[n], rate[n], RSS, count[n])){
      |                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:9254:21: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
 9254 |         if((x.size()<=end) || (y.size()<=end)) return false;
      |            ~~~~~~~~~^~~~~~
phylogenetics_cpp_routines.cpp:9254:40: warning: comparison of integer expressions of different signedness: 'std::vector<double>::size_type' {aka 'long long unsigned int'} and 'const long int' [-Wsign-compare]
 9254 |         if((x.size()<=end) || (y.size()<=end)) return false;
      |                               ~~~~~~~~~^~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T>& operator*=(std::vector<T>&, double) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:9826:24:   required from here
 9826 |         Acoeff *= (Ngrid-1.0)/Aend;
      |                               ^~~~
phylogenetics_cpp_routines.cpp:3509:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3509 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void get_tree_traversal_root_to_tips(long int, long int, long int, long int, const ARRAY_TYPE&, bool, bool, std::vector<long int>&, std::vector<long int>&, std::vector<long int>&, std::vector<long int>&, bool, const std::string&) [with ARRAY_TYPE = std::vector<long int>; std::string = std::__cxx11::basic_string<char>]':
phylogenetics_cpp_routines.cpp:12209:33:   required from here
12209 |         get_tree_traversal_root_to_tips(Ntips,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
12210 |                                                                         Nnodes,
      |                                                                         ~~~~~~~
12211 |                                                                         Nedges,
      |                                                                         ~~~~~~~
12212 |                                                                         -1,
      |                                                                         ~~~
12213 |                                                                         tree_edge,
      |                                                                         ~~~~~~~~~~
12214 |                                                                         include_tips,
      |                                                                         ~~~~~~~~~~~~~
12215 |                                                                         false,
      |                                                                         ~~~~~~
12216 |                                                                         queue,
      |                                                                         ~~~~~~
12217 |                                                                         node2first_edge,
      |                                                                         ~~~~~~~~~~~~~~~~
12218 |                                                                         node2last_edge,
      |                                                                         ~~~~~~~~~~~~~~~
12219 |                                                                         edges,
      |                                                                         ~~~~~~
12220 |                                                                         false,
      |                                                                         ~~~~~~
12221 |                                                                         "");
      |                                                                         ~~~
phylogenetics_cpp_routines.cpp:12182:28: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
12182 |         while(queue_pointer<queue.size()){
      |               ~~~~~~~~~~~~~^~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'TYPE vector_max(const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:12884:36:   required from here
12884 |         const double root_age = vector_max(ages);
      |                                 ~~~~~~~~~~^~~~~~
phylogenetics_cpp_routines.cpp:780:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  780 |         for(long i=0; i<values.size(); ++i) A = (A<values[i] ? values[i] : A);
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void qsortIndices(const std::vector<T>&, std::vector<long int>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:13953:14:   required from here
13953 |         qsortIndices(distances_from_root, chronological_clade_order);
      |         ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:1088:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 1088 |         for(long n=0; n<sortedIndices.size(); ++n) sortedIndices[n] = n;
      |                       ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'TYPE vector_max(const std::vector<T>&) [with TYPE = long int]':
phylogenetics_cpp_routines.cpp:14252:33:   required from here
14252 |         const long Nsplits = vector_max(node2child_count);
      |                              ~~~~~~~~~~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:780:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  780 |         for(long i=0; i<values.size(); ++i) A = (A<values[i] ? values[i] : A);
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void sort_tree_edges_root_to_tips(long int, long int, long int, bool, bool, const ARRAY_TYPE&, std::vector<long int>&) [with ARRAY_TYPE = std::vector<long int>]':
phylogenetics_cpp_routines.cpp:15091:30:   required from here
15091 |         sort_tree_edges_root_to_tips(   Ntips,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
15092 |                                                                         Nnodes,
      |                                                                         ~~~~~~~
15093 |                                                                         Nedges,
      |                                                                         ~~~~~~~
15094 |                                                                         depth_first_search,
      |                                                                         ~~~~~~~~~~~~~~~~~~~
15095 |                                                                         root_to_tips,
      |                                                                         ~~~~~~~~~~~~~
15096 |                                                                         tree_edge,
      |                                                                         ~~~~~~~~~~
15097 |                                                                         new2old_edge);
      |                                                                         ~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:15063:36: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15063 |                 while(queue_pointer<scratch_queue.size()){
      |                       ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void get_tree_with_collapsed_monofurcations(long int, long int, long int, long int, bool, const lvector&, const ARRAY_INT&, const ARRAY_DOUBLE&, std::vector<long int>&, std::vector<double>&, std::vector<long int>&, long int&, double&) [with ARRAY_INT = std::vector<long int>; ARRAY_DOUBLE = std::vector<double>; lvector = std::vector<long int>]':
phylogenetics_cpp_routines.cpp:15327:40:   required from here
15327 |         get_tree_with_collapsed_monofurcations( Ntips,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
15328 |                                                                                         Nnodes,
      |                                                                                         ~~~~~~~
15329 |                                                                                         Nedges,
      |                                                                                         ~~~~~~~
15330 |                                                                                         root,
      |                                                                                         ~~~~~
15331 |                                                                                         force_keep_root,
      |                                                                                         ~~~~~~~~~~~~~~~~
15332 |                                                                                         force_keep_nodes,
      |                                                                                         ~~~~~~~~~~~~~~~~~
15333 |                                                                                         tree_edge,
      |                                                                                         ~~~~~~~~~~
15334 |                                                                                         edge_length,
      |                                                                                         ~~~~~~~~~~~~
15335 |                                                                                         new_tree_edge,
      |                                                                                         ~~~~~~~~~~~~~~
15336 |                                                                                         new_edge_length,
      |                                                                                         ~~~~~~~~~~~~~~~~
15337 |                                                                                         new2old_node,
      |                                                                                         ~~~~~~~~~~~~~
15338 |                                                                                         new_root,
      |                                                                                         ~~~~~~~~~
15339 |                                                                                         root_shift);
      |                                                                                         ~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:15223:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15223 |         for(long fn=0, node; fn<force_keep_nodes.size(); ++fn){
      |                              ~~^~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:15237:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15237 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:15260:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15260 |         for(long q=0; q<traversal_queue.size(); ++q){
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void get_subtree_with_specific_tips(long int, long int, long int, const ARRAY_INT&, const ARRAY_DOUBLE&, const ARRAY_INT&, bool, bool, const lvector&, std::vector<long int>&, std::vector<double>&, std::vector<long int>&, long int&, long int&, long int&, long int&, long int&, double&) [with ARRAY_INT = std::vector<long int>; ARRAY_DOUBLE = std::vector<double>; lvector = std::vector<long int>]':
phylogenetics_cpp_routines.cpp:15939:32:   required from here
15939 |         get_subtree_with_specific_tips( Ntips,
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
15940 |                                                                         Nnodes,
      |                                                                         ~~~~~~~
15941 |                                                                         Nedges,
      |                                                                         ~~~~~~~
15942 |                                                                         tree_edge,
      |                                                                         ~~~~~~~~~~
15943 |                                                                         edge_length,
      |                                                                         ~~~~~~~~~~~~
15944 |                                                                         tips_to_keep,
      |                                                                         ~~~~~~~~~~~~~
15945 |                                                                         collapse_monofurcations,
      |                                                                         ~~~~~~~~~~~~~~~~~~~~~~~~
15946 |                                                                         force_keep_root,
      |                                                                         ~~~~~~~~~~~~~~~~
15947 |                                                                         lvector(),
      |                                                                         ~~~~~~~~~~
15948 |                                                                         new_tree_edge,
      |                                                                         ~~~~~~~~~~~~~~
15949 |                                                                         new_edge_length,
      |                                                                         ~~~~~~~~~~~~~~~~
15950 |                                                                         new2old_clade,
      |                                                                         ~~~~~~~~~~~~~~
15951 |                                                                         new_root,
      |                                                                         ~~~~~~~~~
15952 |                                                                         old_stem_edge,
      |                                                                         ~~~~~~~~~~~~~~
15953 |                                                                         Ntips_kept,
      |                                                                         ~~~~~~~~~~~
15954 |                                                                         Nnodes_kept,
      |                                                                         ~~~~~~~~~~~~
15955 |                                                                         Nedges_kept,
      |                                                                         ~~~~~~~~~~~~
15956 |                                                                         root_shift);
      |                                                                         ~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:15797:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15797 |         for(long t=0; t<tips_to_keep.size(); ++t){
      |                       ~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:15800:26: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15800 |         for(long fn=0; fn<force_keep_nodes.size(); ++fn){
      |                        ~~^~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:15873:37: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
15873 |         for(long fn=0, new_clade; fn<force_keep_nodes.size(); ++fn){
      |                                   ~~^~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void get_distances_from_root(long int, long int, long int, const ARRAY_TYPE_INT&, const ARRAY_TYPE_D&, const tree_context&, dvector&) [with ARRAY_TYPE_INT = std::vector<long int>; ARRAY_TYPE_D = std::vector<double>; dvector = std::vector<double>]':
phylogenetics_cpp_routines.cpp:17166:26:   required from here
17166 |                 get_distances_from_root(Ntips, Nnodes, Nedges, tree_edge, edge_length, context, clade_times);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:12832:31: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
12832 |         for(long q=0, clade; q<context.queue.size(); ++q){
      |                              ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'long int find_in_ascending_list(const std::vector<T>&, TYPE2, long int) [with TYPE1 = long int; TYPE2 = long int]':
phylogenetics_cpp_routines.cpp:18564:33:   required from here
18564 |                                         fa = find_in_ascending_list(membershipsA[nodeA],f,fa+1);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:496:28: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  496 |         for(long n=start; n<haystack.size(); ++n){
      |                           ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T> operator/(std::vector<T>, double) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23122:19:   required from here
23122 |                 shape = initial/initial_mean;
      |                                 ^~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:3591:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3591 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T> operator*(std::vector<T>, double) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23185:27:   required from here
23185 |                                 rateY = YA - currentY*rateS;
      |                                                       ^~~~~
phylogenetics_cpp_routines.cpp:3491:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3491 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T> operator-(std::vector<T>, const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23185:27:   required from here
23185 |                                 rateY = YA - currentY*rateS;
      |                                                       ^~~~~
phylogenetics_cpp_routines.cpp:3545:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3545 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T> operator+(std::vector<T>, const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23294:66:   required from here
23294 |                         candidate_state = previous_state*(1-lambda) + candidate_state*lambda;
      |                                                                                       ^~~~~~
phylogenetics_cpp_routines.cpp:3518:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3518 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'bool contains_nan(const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23358:22:   required from here
23358 |                 return contains_nan(state);
      |                        ~~~~~~~~~~~~^~~~~~~
phylogenetics_cpp_routines.cpp:882:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  882 |         for(long i=0; i<values.size(); ++i){
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T>& operator*=(std::vector<T>&, const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23718:32:   required from here
23718 |                                 posteriors[node] *= modelD.initial;
      |                                                            ^~~~~~~
phylogenetics_cpp_routines.cpp:3482:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3482 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'TYPE vector_sum(const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23739:30:   required from here
23739 |                 const double S = vector_sum(posteriors[node]);
      |                                  ~~~~~~~~~~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:702:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  702 |         for(long i=0; i<values.size(); ++i) S += values[i];
      |                       ~^~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T>& operator/=(std::vector<T>&, double) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23740:23:   required from here
23740 |                 posteriors[node] /= S;
      |                                     ^
phylogenetics_cpp_routines.cpp:3600:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3600 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T> operator*(std::vector<T>, const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:23748:56:   required from here
23748 |         loglikelihood += log(vector_sum(posteriors[root_node]*root_prior));
      |                                                               ^~~~~~~~~~
phylogenetics_cpp_routines.cpp:3473:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3473 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'TYPE scalar_product(const std::vector<T>&, const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:24258:38:   required from here
24258 |                 loglikelihood += log(scalar_product(substem_D,substem_prior));
      |                                      ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:725:24: warning: comparison of integer expressions of different signedness: 'long int' and 'const long long unsigned int' [-Wsign-compare]
  725 |         for(long i=0; i<min(A.size(),B.size()); ++i) S += A[i] * B[i];
      |                       ~^~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T>& operator-=(std::vector<T>&, const std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:24657:83:   required from here
24657 |                 dvector coarse_diversification_rates = lambdas; coarse_diversification_rates -= mus;
      |                                                                                                 ^~~
phylogenetics_cpp_routines.cpp:3563:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3563 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T> abs(std::vector<T>) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:25277:48:   required from here
25277 |         dvector coarse_abs_diversification_rates = abs(coarse_diversification_rates);
      |                                                    ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:3609:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3609 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'VALUE_TYPE PiecewisePolynomial<VALUE_TYPE>::getMaxAbs() const [with VALUE_TYPE = double]':
phylogenetics_cpp_routines.cpp:25769:26:   required from here
25769 |                 return lambda.getMaxAbs() + mu.getMaxAbs() + psi.getMaxAbs();
      |                        ~~~~~~~~~~~~~~~~^~
phylogenetics_cpp_routines.cpp:2705:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 2705 |                 for(long i=0; i<X.size()-1; ++i){
      |                               ~^~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'VALUE_TYPE PiecewisePolynomial<VALUE_TYPE>::getMaxAbs(double, double) const [with VALUE_TYPE = double]':
phylogenetics_cpp_routines.cpp:25774:26:   required from here
25774 |                 return lambda.getMaxAbs(start_time,end_time) + mu.getMaxAbs(start_time,end_time) + psi.getMaxAbs(start_time,end_time);
      |                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:2716:32: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 2716 |                 for(long i=0; i<X.size()-1; ++i){
      |                               ~^~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T>& operator+=(std::vector<T>&, const TYPE&) [with TYPE = long int]':
phylogenetics_cpp_routines.cpp:26197:20:   required from here
26197 |                 NCSAcrossings += 1l;
      |                                  ^~
phylogenetics_cpp_routines.cpp:3536:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3536 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T> operator-(std::vector<T>, const TYPE&) [with TYPE = long int]':
phylogenetics_cpp_routines.cpp:27440:52:   required from here
27440 |                 lvector force_keep_nodes = sampled_node_clades - Ntips;
      |                                                                  ^~~~~
phylogenetics_cpp_routines.cpp:3554:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3554 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void remove_item_from_vector(std::vector<T>&, long int) [with TYPE = long int]':
phylogenetics_cpp_routines.cpp:27901:27:   required from here
27901 |                         remove_item_from_vector(extant_tips, tip);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:935:17: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  935 |         if(index==list.size()-1){
      |            ~~~~~^~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void simulate_SBM_on_tree(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, double, const DFUNCTOR&, double, double, dvector&, dvector&) [with DFUNCTOR = PiecewisePolynomial<double>; dvector = std::vector<double>]':
phylogenetics_cpp_routines.cpp:31727:22:   required from here
31727 |         simulate_SBM_on_tree(   Ntips,
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
31728 |                                                         Nnodes,
      |                                                         ~~~~~~~
31729 |                                                         Nedges,
      |                                                         ~~~~~~~
31730 |                                                         tree_edge,
      |                                                         ~~~~~~~~~~
31731 |                                                         edge_length,
      |                                                         ~~~~~~~~~~~~
31732 |                                                         radius,
      |                                                         ~~~~~~~
31733 |                                                         diffusivity_integral,
      |                                                         ~~~~~~~~~~~~~~~~~~~~~
31734 |                                                         root_theta,
      |                                                         ~~~~~~~~~~~
31735 |                                                         root_phi,
      |                                                         ~~~~~~~~~
31736 |                                                         clade_theta,
      |                                                         ~~~~~~~~~~~~
31737 |                                                         clade_phi);
      |                                                         ~~~~~~~~~~
phylogenetics_cpp_routines.cpp:31629:48: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<long int>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
31629 |         for(long q=0, parent, child, e, edge; q<context.queue.size(); ++q){
      |                                               ~^~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'bool LUDecomposition(TYPE*, long unsigned int, long unsigned int*, int&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:4850:21:   required from 'bool LUsolveLinearSystem(const TYPE*, TYPE*, long unsigned int, const TYPE*, double, unsigned int, TYPE*) [with TYPE = double]'
 4850 |         if(!LUDecomposition(scratchSpace, N, pivoting_indices, Psign)){
      |             ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:9022:25:   required from here
 9022 |         if(!LUsolveLinearSystem(        &matrix[0],
      |             ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
 9023 |                                                         &scratchSpace[0],
      |                                                         ~~~~~~~~~~~~~~~~~
 9024 |                                                         3,
      |                                                         ~~
 9025 |                                                         &b[0],
      |                                                         ~~~~~~
 9026 |                                                         epsilon*3,
      |                                                         ~~~~~~~~~~
 9027 |                                                         5,
      |                                                         ~~
 9028 |                                                         &sol[0])){
      |                                                         ~~~~~~~~
phylogenetics_cpp_routines.cpp:4698:19: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4698 |         for(i=0; i<N; ++i){
      |                  ~^~
phylogenetics_cpp_routines.cpp:4699:34: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4699 |                 for(j=0, big=0; j<N; ++j){
      |                                 ~^~
phylogenetics_cpp_routines.cpp:4708:19: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4708 |         for(j=0; j<N; ++j){
      |                  ~^~
phylogenetics_cpp_routines.cpp:4715:27: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4715 |                 for(i=j; i<N; ++i){
      |                          ~^~
phylogenetics_cpp_routines.cpp:4725:35: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4725 |                         for(k=0; k<N; ++k){
      |                                  ~^~
phylogenetics_cpp_routines.cpp:4737:22: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4737 |                 if(j < N-1){
      |                    ~~^~~~~
phylogenetics_cpp_routines.cpp:4739:37: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4739 |                         for(i=j+1; i<N; ++i){ matrix[i*N+j] *= dummyT; }
      |                                    ~^~
phylogenetics_cpp_routines.cpp: In instantiation of 'void LUSolveLinearSystem(const TYPE*, long unsigned int, const long unsigned int*, TYPE*) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:4855:21:   required from 'bool LUsolveLinearSystem(const TYPE*, TYPE*, long unsigned int, const TYPE*, double, unsigned int, TYPE*) [with TYPE = double]'
 4855 |         LUSolveLinearSystem(scratchSpace, N, pivoting_indices, x);
      |         ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:9022:25:   required from here
 9022 |         if(!LUsolveLinearSystem(        &matrix[0],
      |             ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
 9023 |                                                         &scratchSpace[0],
      |                                                         ~~~~~~~~~~~~~~~~~
 9024 |                                                         3,
      |                                                         ~~
 9025 |                                                         &b[0],
      |                                                         ~~~~~~
 9026 |                                                         epsilon*3,
      |                                                         ~~~~~~~~~~
 9027 |                                                         5,
      |                                                         ~~
 9028 |                                                         &sol[0])){
      |                                                         ~~~~~~~~
phylogenetics_cpp_routines.cpp:4760:19: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4760 |         for(i=0; i<N; ++i){
      |                  ~^~
phylogenetics_cpp_routines.cpp:4773:29: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4773 |                 for(j=i+1; j<N; ++j){ sum -= LUmatrix[i*N+j]*b[j]; }
      |                            ~^~
phylogenetics_cpp_routines.cpp: In instantiation of 'void LUImproveSolutionToLinearSystem(const TYPE*, const TYPE*, long unsigned int, const long unsigned int*, const TYPE*, TYPE*) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:4860:35:   required from 'bool LUsolveLinearSystem(const TYPE*, TYPE*, long unsigned int, const TYPE*, double, unsigned int, TYPE*) [with TYPE = double]'
 4860 |                         LUImproveSolutionToLinearSystem(matrix, scratchSpace, N, pivoting_indices, b, x);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:9022:25:   required from here
 9022 |         if(!LUsolveLinearSystem(        &matrix[0],
      |             ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
 9023 |                                                         &scratchSpace[0],
      |                                                         ~~~~~~~~~~~~~~~~~
 9024 |                                                         3,
      |                                                         ~~
 9025 |                                                         &b[0],
      |                                                         ~~~~~~
 9026 |                                                         epsilon*3,
      |                                                         ~~~~~~~~~~
 9027 |                                                         5,
      |                                                         ~~
 9028 |                                                         &sol[0])){
      |                                                         ~~~~~~~~
phylogenetics_cpp_routines.cpp:4811:19: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4811 |         for(i=0; i<N; ++i){
      |                  ~^~
phylogenetics_cpp_routines.cpp:4813:27: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4813 |                 for(j=0; j<N; ++j){ s += matrix[i*N+j] * x[j]; }
      |                          ~^~
phylogenetics_cpp_routines.cpp:4817:19: warning: comparison of integer expressions of different signedness: 'long int' and 'long unsigned int' [-Wsign-compare]
 4817 |         for(i=0; i<N; ++i){ x[i] -= r[i]; }
      |                  ~^~
phylogenetics_cpp_routines.cpp: In instantiation of 'long int find_first_occurrence(const std::vector<T>&, TYPE2) [with TYPE1 = double; TYPE2 = double]':
phylogenetics_cpp_routines.cpp:5466:27:   required from 'long int min_polynomials_for_positive_exponential_of_irreducible_matrix(long int, const ARRAY_TYPE&) [with ARRAY_TYPE = std::vector<double>]'
 5466 |                 if(find_first_occurrence(sum_of_powers, 0.0)<0) return (p+1);
      |                    ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:21734:94:   required from here
21734 |                 const long min_polynomials = min_polynomials_for_positive_exponential_of_irreducible_matrix(Nstates, transition_matrix);
      |                                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:478:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  478 |         for(long n=0; n<haystack.size(); ++n){
      |                       ~^~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'std::vector<T> operator*(double, std::vector<T>) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:10260:64:   required from 'LinearInterpolationFunctor<VALUE_TYPE>::LinearInterpolationFunctor(const std::vector<double>&, const std::vector<T>&, bool, const VALUE_TYPE&, const VALUE_TYPE&, bool, double) [with VALUE_TYPE = std::vector<double>]'
10260 |                         referenceValues[0] = referenceValues[referenceCount-1] = 0.5*(referenceValues[0] + referenceValues[referenceCount-1]);
      |                                                                                  ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:23691:141:   required from here
23691 |         modelD.E = LinearInterpolationFunctor<MuSSEstateE>(modelE.ages,modelE.trajectory,false,modelE.trajectory[0],modelE.trajectory.back(),true,0);
      |                                                                                                                                                    ^
phylogenetics_cpp_routines.cpp:3500:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
 3500 |         for(long i=0; i<x.size(); ++i){
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In instantiation of 'void linear_combination(double, const std::vector<T>&, double, const std::vector<T>&, std::vector<T>&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:7524:21:   required from 'bool RungeKutta2(double, double, double, MODEL&, double, double, double, double, long int, double, const PROGRESS_REPORTER&, double, std::string&) [with COORDINATE = std::vector<double>; MODEL = MuSSEmodelE; PROGRESS_REPORTER = ProgressReporter; std::string = std::__cxx11::basic_string<char>]'
 7524 |                 linear_combination(1.0,currentPoint,current_dt1,k1,point2); // point2 = currentPoint + k1*current_dt1;
      |                 ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:23793:9:   required from here
23792 |         bool success = RungeKutta2<MuSSEstateE,MuSSEmodelE,ProgressReporter>
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23793 |                                                                 (0, // start_time
      |                                                                 ^~~~~~~~~~~~~~~~~
23794 |                                                                 oldest_age, // end_time
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~
23795 |                                                                 max(0.000001*oldest_age,min(0.2*oldest_age,relative_ODE_step/maxErate)), // default integration time step
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23796 |                                                                 modelE,
      |                                                                 ~~~~~~~
23797 |                                                                 minRecordingTimeStep,
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~
23798 |                                                                 maxRecordingTimeStep,
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~
23799 |                                                                 guessNrecordings,
      |                                                                 ~~~~~~~~~~~~~~~~~
23800 |                                                                 E_value_step,   // recordingRelValueStep
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23801 |                                                                 5,                              // maxTimeStepRefinements
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23802 |                                                                 4,                              // refinement_factor
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23803 |                                                                 ProgressReporter(true),
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~
23804 |                                                                 (runtime_out_seconds>0 ? max(runtime_out_seconds*0.01, runtime_out_seconds+start_runtime-get_thread_monotonic_walltime_seconds()) : 0.0),
      |                                                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23805 |                                                                 warningMessage);
      |                                                                 ~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:441:24: warning: comparison of integer expressions of different signedness: 'long int' and 'std::vector<double>::size_type' {aka 'long long unsigned int'} [-Wsign-compare]
  441 |         for(long i=0; i<X.size(); ++i) result[i] = a*X[i] + b*Y[i];
      |                       ~^~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'double first_Wasserstein_distance_CPP(const std::vector<double>&, const std::vector<double>&)':
phylogenetics_cpp_routines.cpp:1339:25: warning: 't1' may be used uninitialized [-Wmaybe-uninitialized]
 1339 |                 W += (t2-t1) * abs(CDFY-CDFX);
      |                      ~~~^~~~
phylogenetics_cpp_routines.cpp:1323:32: note: 't1' was declared here
 1323 |         double CDFX=0, CDFY=0, t1, t2;
      |                                ^~
phylogenetics_cpp_routines.cpp: In function 'double legendre_polynomial(long int, double)':
phylogenetics_cpp_routines.cpp:31291:16: warning: 'Pn' may be used uninitialized [-Wmaybe-uninitialized]
31291 |         return Pn;
      |                ^~
phylogenetics_cpp_routines.cpp:31285:16: note: 'Pn' was declared here
31285 |         double Pn;
      |                ^~
phylogenetics_cpp_routines.cpp: In function 'double solve_polynomial_via_bisection(const double*, long int, double, double, double, double, double, double, long int)':
phylogenetics_cpp_routines.cpp:2319:16: warning: 'c' may be used uninitialized [-Wmaybe-uninitialized]
 2319 |         return c; // did not converge, but the last c is the best estimate
      |                ^
phylogenetics_cpp_routines.cpp:2265:36: note: 'c' was declared here
 2265 |         double a = Xmin, b = Xmax, c;
      |                                    ^
phylogenetics_cpp_routines.cpp: In function 'double solve_piecewise_polynomial_bisection(const dvector&, const dvector&, long int, bool, double, double, double, bool, double, double, long int, long int&, long int&)':
phylogenetics_cpp_routines.cpp:2402:16: warning: 'c' may be used uninitialized [-Wmaybe-uninitialized]
 2402 |         return c; // did not converge, but the last c is the best estimate
      |                ^
phylogenetics_cpp_routines.cpp:2340:36: note: 'c' was declared here
 2340 |         double a = Xmin, b = Xmax, c;
      |                                    ^
phylogenetics_cpp_routines.cpp: In function 'double solve_piecewise_polynomial_sum_bisection(const dvector&, const std::vector<std::vector<double> >&, const lvector&, bool, const dvector&, double, double, double, bool, double, double, long int, long int&, long int&)':
phylogenetics_cpp_routines.cpp:2499:16: warning: 'c' may be used uninitialized [-Wmaybe-uninitialized]
 2499 |         return c; // did not converge, but the last c is the best estimate
      |                ^
phylogenetics_cpp_routines.cpp:2432:36: note: 'c' was declared here
 2432 |         double a = Xmin, b = Xmax, c;
      |                                    ^
phylogenetics_cpp_routines.cpp: In function 'bool get_dominant_eigenvalue(long int, const dvector&, long int, double, dvector&, double&)':
phylogenetics_cpp_routines.cpp:6097:37: warning: 'error' may be used uninitialized [-Wmaybe-uninitialized]
 6097 |         return (best_error<tolerance);
      |                                     ^
phylogenetics_cpp_routines.cpp:6027:21: note: 'error' was declared here
 6027 |         double XAX, error, best_lambda=0, best_error=INFTY_D;
      |                     ^~~~~
In file included from D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/cmath:49,
                 from phylogenetics_cpp_routines.cpp:31:
In function 'constexpr double std::abs(double)',
    inlined from 'VALUE_TYPE polynomial_bound_abs(long int, const VALUE_TYPE*, double, double) [with VALUE_TYPE = double]' at phylogenetics_cpp_routines.cpp:1797:17:
D:/rtools45/x86_64-w64-mingw32.static.posix/lib/gcc/x86_64-w64-mingw32.static.posix/14.3.0/include/c++/bits/std_abs.h:72:30: warning: 'Yvertex' may be used uninitialized [-Wmaybe-uninitialized]
   72 |   { return __builtin_fabs(__x); }
      |                              ^
phylogenetics_cpp_routines.cpp: In function 'VALUE_TYPE polynomial_bound_abs(long int, const VALUE_TYPE*, double, double) [with VALUE_TYPE = double]':
phylogenetics_cpp_routines.cpp:1795:28: note: 'Yvertex' was declared here
 1795 |                 VALUE_TYPE Yvertex;
      |                            ^~~~~~~
phylogenetics_cpp_routines.cpp: In function 'bool LUDecomposition(TYPE*, long unsigned int, long unsigned int*, int&) [with TYPE = double]':
phylogenetics_cpp_routines.cpp:4724:17: warning: 'imax' may be used uninitialized [-Wmaybe-uninitialized]
 4724 |                 if(j != imax){
      |                 ^~
phylogenetics_cpp_routines.cpp:4692:16: note: 'imax' was declared here
 4692 |         long i,imax,j,k;
      |                ^~~~
phylogenetics_cpp_routines.cpp: In member function 'void TreeSpeciationExtinctionModel::get_coalescent_trajectory(double, double, std::vector<TreeStateHistory>&) const':
phylogenetics_cpp_routines.cpp:10984:96: warning: 'coalescent_diversity_at_resolution_age' may be used uninitialized [-Wmaybe-uninitialized]
10984 |                                 coalescent[t].Pmissing = coalescent_diversity_at_resolution_age/coalescent[t].diversity;
      |                                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:10961:59: note: 'coalescent_diversity_at_resolution_age' was declared here
10961 |                 double total_diversity_at_resolution_age, coalescent_diversity_at_resolution_age;
      |                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_trait_richness_collectors_curve_CPP(long int, long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, long int, const std::string&, bool)':
phylogenetics_cpp_routines.cpp:20411:49: warning: 'tip' may be used uninitialized [-Wmaybe-uninitialized]
20411 |                                 tip_included[tip] = true;
      |                                                 ^
phylogenetics_cpp_routines.cpp:20274:14: note: 'tip' was declared here
20274 |         long tip, clade, count_tips_remaining;
      |              ^~~
In function 'long int uniformIntWithin(long int, long int)',
    inlined from 'Rcpp::List get_trait_richness_collectors_curve_CPP(long int, long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, long int, const std::string&, bool)' at phylogenetics_cpp_routines.cpp:20371:41:
phylogenetics_cpp_routines.cpp:3640:72: warning: 'count_tips_remaining' may be used uninitialized [-Wmaybe-uninitialized]
 3640 |         return min(maximum, (long) floor(minimum + (maximum-minimum+1) * R::runif(0.0,1.0)));
      |                                                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_trait_richness_collectors_curve_CPP(long int, long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, const std::vector<long int>&, long int, const std::string&, bool)':
phylogenetics_cpp_routines.cpp:20274:26: note: 'count_tips_remaining' was declared here
20274 |         long tip, clade, count_tips_remaining;
      |                          ^~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_fixed_rates_Markov_model_CPP(long int, long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, bool, bool, long int)':
phylogenetics_cpp_routines.cpp:26910:27: warning: 'parent' may be used uninitialized [-Wmaybe-uninitialized]
26910 |         long clade, edge, parent, parent_state, state=0;
      |                           ^~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List simulate_deterministic_diversity_growth_CPP(double, double, double, double, double, double, double, double, long int, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, bool, const std::vector<double>&, double, double, double, double, bool, bool, bool, bool, bool, bool, double)':
phylogenetics_cpp_routines.cpp:11205:86: warning: 'Pmissing_at_resolution_age' may be used uninitialized [-Wmaybe-uninitialized]
11205 |                                 const double effective_rarefaction = rarefaction * (1-Pmissing_at_resolution_age);
      |                                                                                    ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:11180:24: note: 'Pmissing_at_resolution_age' was declared here
11180 |                 double Pmissing_at_resolution_age, total_diversity_at_resolution_age, coalescent_diversity_at_resolution_age;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:11213:88: warning: 'coalescent_diversity_at_resolution_age' may be used uninitialized [-Wmaybe-uninitialized]
11213 |                                 Pmissing = 1.0 - coalescent_diversity_at_resolution_age/total_diversities[t]; // effective Pmissing, based on coalescent and total diversity after collapsing and rarefaction
phylogenetics_cpp_routines.cpp:11180:87: note: 'coalescent_diversity_at_resolution_age' was declared here
11180 |                 double Pmissing_at_resolution_age, total_diversity_at_resolution_age, coalescent_diversity_at_resolution_age;
      |                                                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List HBD_PDR_loglikelihood_CPP(const std::vector<double>&, double, double, const std::vector<double>&, const std::vector<double>&, long int, const std::string&, double, double, std::vector<double>, long int)':
phylogenetics_cpp_routines.cpp:25538:102: warning: 'Zdegree' may be used uninitialized [-Wmaybe-uninitialized]
25538 |                                 branching_Z = polynomial_value(Zdegree, &Zcoeff[d][current_g*(Zdegree+1)], branching_age-age_offset);
      |                                                                                              ~~~~~~~~^~~
phylogenetics_cpp_routines.cpp:25504:14: note: 'Zdegree' was declared here
25504 |         long Zdegree, EZdegree, Wdegree;
      |              ^~~~~~~
phylogenetics_cpp_routines.cpp:25539:102: warning: 'Wdegree' may be used uninitialized [-Wmaybe-uninitialized]
25539 |                                 branching_W = polynomial_value(Wdegree, &Wcoeff[d][current_g*(Wdegree+1)], branching_age-age_offset);
      |                                                                                              ~~~~~~~~^~~
phylogenetics_cpp_routines.cpp:25504:33: note: 'Wdegree' was declared here
25504 |         long Zdegree, EZdegree, Wdegree;
      |                                 ^~~~~~~
In file included from D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/RcppCommon.h:188,
                 from D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp.h:27,
                 from phylogenetics_cpp_routines.cpp:39:
In function 'SEXPREC* Rcpp::internal::primitive_wrap__impl__cast(const T&, Rcpp::traits::false_type) [with T = double]',
    inlined from 'SEXPREC* Rcpp::internal::primitive_wrap__impl(const T&, Rcpp::traits::r_type_primitive_tag) [with T = double]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/internal/wrap.h:471:46,
    inlined from 'SEXPREC* Rcpp::internal::primitive_wrap(const T&) [with T = double]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/internal/wrap.h:495:40,
    inlined from 'SEXPREC* Rcpp::internal::wrap_dispatch(const T&, Rcpp::traits::wrap_type_primitive_tag) [with T = double]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/internal/wrap.h:744:34,
    inlined from 'SEXPREC* Rcpp::wrap(const T&) [with T = double]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/internal/wrap_end.h:30:38,
    inlined from 'static SEXPREC* Rcpp::internal::generic_element_converter<RTYPE>::get(const T&) [with T = double; int RTYPE = 19]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/converter.h:80:23,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element__dispatch__isArgument(Rcpp::traits::false_type, iterator, SEXP, R_xlen_t, const U&) [with U = Rcpp::traits::named_object<double>; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:545:13,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element__dispatch(Rcpp::traits::true_type, iterator, SEXP, R_xlen_t, const U&) [with U = Rcpp::traits::named_object<double>; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:538:46,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element(iterator, SEXP, R_xlen_t, const U&) [with U = Rcpp::traits::named_object<double>; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:527:34,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<double>; TArgs = {Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1184:24,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<long int>; TArgs = {Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<SEXPREC*>; TArgs = {Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<SEXPREC*>; TArgs = {Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<SEXPREC*>; TArgs = {Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<SEXPREC*>; TArgs = {Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<SEXPREC*>; TArgs = {Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<SEXPREC*>; TArgs = {Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<long int>; TArgs = {Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<long int>; TArgs = {Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static void Rcpp::Vector<RTYPE, StoragePolicy>::replace_element_impl(iterator&, Rcpp::Shield<SEXPREC*>&, int&, const T&, const TArgs& ...) [with T = Rcpp::traits::named_object<long int>; TArgs = {Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1185:29,
    inlined from 'static Rcpp::Vector<RTYPE, StoragePolicy> Rcpp::Vector<RTYPE, StoragePolicy>::create__dispatch(Rcpp::traits::true_type, const T& ...) [with T = {Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1161:29,
    inlined from 'static Rcpp::Vector<RTYPE, StoragePolicy> Rcpp::Vector<RTYPE, StoragePolicy>::create(const T& ...) [with T = {Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<SEXPREC*>, Rcpp::traits::named_object<long int>, Rcpp::traits::named_object<double>, Rcpp::traits::named_object<bool>}; int RTYPE = 19; StoragePolicy = Rcpp::PreserveStorage]' at D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/vector/Vector.h:1143:50,
    inlined from 'Rcpp::List read_Newick_string_CPP(std::string, bool, bool, bool, bool)' at phylogenetics_cpp_routines.cpp:19395:39:
D:/RCompile/CRANpkg/lib/4.6/Rcpp/include/Rcpp/internal/wrap.h:448:41: warning: 'root_edge' may be used uninitialized [-Wmaybe-uninitialized]
  448 |             r_vector_start<RTYPE>(x)[0] = object;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List read_Newick_string_CPP(std::string, bool, bool, bool, bool)':
phylogenetics_cpp_routines.cpp:19311:29: note: 'root_edge' was declared here
19311 |         double edge_length, root_edge;
      |                             ^~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List get_HBDS_model_loglikelihood_CPP(const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, double, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, const std::vector<double>&, long int, const std::string&, double, double, double)':
phylogenetics_cpp_routines.cpp:26260:110: warning: 'logPhi_degree' may be used uninitialized [-Wmaybe-uninitialized]
26260 |                         CSA_logPhi       = polynomial_value(logPhi_degree, &logPhi_coeff[k][sg*(logPhi_degree+1)], age-(splines_slideX ? Phi_ages[k][sg] : 0.0));
      |                                                                                                ~~~~~~~~~~~~~~^~~
phylogenetics_cpp_routines.cpp:26146:42: note: 'logPhi_degree' was declared here
26146 |         long dummyL1, dummyL2, I_degree, logPhi_degree, E_degree;
      |                                          ^~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::List HBD_PSR_loglikelihood_CPP(const std::vector<double>&, double, const std::vector<double>&, const std::vector<double>&, long int, const std::string&, double, double)':
phylogenetics_cpp_routines.cpp:25711:51: warning: 'W_degree' may be used uninitialized [-Wmaybe-uninitialized]
25711 |         const double origin_W   = polynomial_value(W_degree,&refined_W_coeff[origin_rg*(W_degree+1)],oldest_age-age_offset);
      |                                   ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
phylogenetics_cpp_routines.cpp:25639:24: note: 'W_degree' was declared here
25639 |         long I_degree, W_degree, NRG;
      |                        ^~~~~~~~
phylogenetics_cpp_routines.cpp: In function 'Rcpp::NumericMatrix get_distance_matrix_between_clades_CPP(long int, long int, long int, const std::vector<long int>&, const std::vector<double>&, const std::vector<long int>&, bool, const std::string&)':
phylogenetics_cpp_routines.cpp:13402:155: warning: 'mrca' may be used uninitialized [-Wmaybe-uninitialized]
13402 |                         distances(i,j) = distance_from_root_per_clade[cladeA] + distance_from_root_per_clade[cladeB] - 2*distance_from_root_per_clade[mrca];
      |                                                                                                                                                           ^
phylogenetics_cpp_routines.cpp:13375:30: note: 'mrca' was declared here
13375 |         long cladeA, cladeB, mrca;
      |                              ^~~~
gcc  -I"D:/RCompile/recent/R-4.6.1/include" -DNDEBUG  -I'D:/RCompile/CRANpkg/lib/4.6/Rcpp/include'   -I"d:/rtools45/x86_64-w64-mingw32.static.posix/include"      -pedantic -Wstrict-prototypes -O2 -Wall -std=gnu2x  -mfpmath=sse -msse2 -mstackrealign   -c registerDynamicSymbol.c -o registerDynamicSymbol.o
g++ -std=gnu++20 -shared -s -static-libgcc -o castor.dll tmp.def RcppExports.o STMathExpression.o phylogenetics_cpp_routines.o registerDynamicSymbol.o -Ld:/rtools45/x86_64-w64-mingw32.static.posix/lib/x64 -Ld:/rtools45/x86_64-w64-mingw32.static.posix/lib -LD:/RCompile/recent/R-4.6.1/bin/x64 -lR
make[1]: Leaving directory '/d/temp/2026_08_07_01_50_00_13727/RtmpstvyOH/R.INSTALL1ca603277349a/castor/src'
make[1]: Entering directory '/d/temp/2026_08_07_01_50_00_13727/RtmpstvyOH/R.INSTALL1ca603277349a/castor/src'
make[1]: Leaving directory '/d/temp/2026_08_07_01_50_00_13727/RtmpstvyOH/R.INSTALL1ca603277349a/castor/src'
installing to d:/Rcompile/CRANpkg/lib/4.6/00LOCK-castor/00new/castor/libs/x64
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* MD5 sums
packaged installation of 'castor' as castor_1.8.7.zip
* DONE (castor)