* installing to library ‘/home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages’ * installing *source* package ‘castor’ ... ** package ‘castor’ successfully unpacked and MD5 sums checked ** using staged installation ** libs using C compiler: ‘gcc-14 (Debian 14.2.0-8) 14.2.0’ using C++ compiler: ‘g++-14 (Debian 14.2.0-8) 14.2.0’ make[1]: Entering directory '/tmp/RtmpTMuffh/R.INSTALLc6ce76a504de3/castor/src' g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-devel-gcc/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O2 -Wall -pedantic -mtune=native -c RcppExports.cpp -o RcppExports.o g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-devel-gcc/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O2 -Wall -pedantic -mtune=native -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 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 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 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 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 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 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 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 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 ‘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 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 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 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 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 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 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 unsigned int’} [-Wsign-compare] 1227 | for(long i=0; i<components.size(); ++i){ | ~^~~~~~~~~~~~~~~~~~ g++-14 -std=gnu++17 -I"/home/hornik/tmp/R.check/r-devel-gcc/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O2 -Wall -pedantic -mtune=native -c phylogenetics_cpp_routines.cpp -o phylogenetics_cpp_routines.o phylogenetics_cpp_routines.cpp:153: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 153 | #pragma mark - phylogenetics_cpp_routines.cpp:154: warning: ignoring ‘#pragma mark Declarations’ [-Wunknown-pragmas] 154 | #pragma mark Declarations phylogenetics_cpp_routines.cpp:155: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 155 | #pragma mark phylogenetics_cpp_routines.cpp:167: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 167 | #pragma mark - phylogenetics_cpp_routines.cpp:168: warning: ignoring ‘#pragma mark Functions’ [-Wunknown-pragmas] 168 | #pragma mark Functions for debugging phylogenetics_cpp_routines.cpp:169: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 169 | #pragma mark phylogenetics_cpp_routines.cpp:242: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 242 | #pragma mark - phylogenetics_cpp_routines.cpp:243: warning: ignoring ‘#pragma mark Auxiliary’ [-Wunknown-pragmas] 243 | #pragma mark Auxiliary functions phylogenetics_cpp_routines.cpp:244: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 244 | #pragma mark phylogenetics_cpp_routines.cpp:1416: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 1416 | #pragma mark - phylogenetics_cpp_routines.cpp:1417: warning: ignoring ‘#pragma mark Graphs’ [-Wunknown-pragmas] 1417 | #pragma mark Graphs phylogenetics_cpp_routines.cpp:1418: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 1418 | #pragma mark phylogenetics_cpp_routines.cpp:1563: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 1563 | #pragma mark - phylogenetics_cpp_routines.cpp:1564: warning: ignoring ‘#pragma mark Polynomials’ [-Wunknown-pragmas] 1564 | #pragma mark Polynomials phylogenetics_cpp_routines.cpp:1565: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 1565 | #pragma mark phylogenetics_cpp_routines.cpp:2902: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 2902 | #pragma mark - phylogenetics_cpp_routines.cpp:2903: warning: ignoring ‘#pragma mark Integration’ [-Wunknown-pragmas] 2903 | #pragma mark Integration, antiderivatives, derivatives phylogenetics_cpp_routines.cpp:2904: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 2904 | #pragma mark phylogenetics_cpp_routines.cpp:3407: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 3407 | #pragma mark - phylogenetics_cpp_routines.cpp:3408: warning: ignoring ‘#pragma mark Vectorized’ [-Wunknown-pragmas] 3408 | #pragma mark Vectorized basic arithmetics phylogenetics_cpp_routines.cpp:3409: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 3409 | #pragma mark phylogenetics_cpp_routines.cpp:3558: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 3558 | #pragma mark - phylogenetics_cpp_routines.cpp:3559: warning: ignoring ‘#pragma mark Random’ [-Wunknown-pragmas] 3559 | #pragma mark Random numbers phylogenetics_cpp_routines.cpp:3560: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 3560 | #pragma mark phylogenetics_cpp_routines.cpp:3954: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 3954 | #pragma mark - phylogenetics_cpp_routines.cpp:3955: warning: ignoring ‘#pragma mark Matrix’ [-Wunknown-pragmas] 3955 | #pragma mark Matrix algebra phylogenetics_cpp_routines.cpp:3956: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 3956 | #pragma mark phylogenetics_cpp_routines.cpp:7164: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 7164 | #pragma mark - phylogenetics_cpp_routines.cpp:7165: warning: ignoring ‘#pragma mark Numerical’ [-Wunknown-pragmas] 7165 | #pragma mark Numerical solvers phylogenetics_cpp_routines.cpp:7166: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 7166 | #pragma mark phylogenetics_cpp_routines.cpp:8577: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 8577 | #pragma mark - phylogenetics_cpp_routines.cpp:8578: warning: ignoring ‘#pragma mark Time’ [-Wunknown-pragmas] 8578 | #pragma mark Time series analysis phylogenetics_cpp_routines.cpp:8579: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 8579 | #pragma mark phylogenetics_cpp_routines.cpp:9984: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 9984 | #pragma mark - phylogenetics_cpp_routines.cpp:9985: warning: ignoring ‘#pragma mark Class’ [-Wunknown-pragmas] 9985 | #pragma mark Class: LinearInterpolationFunctor phylogenetics_cpp_routines.cpp:9986: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 9986 | #pragma mark - phylogenetics_cpp_routines.cpp:10464: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 10464 | #pragma mark - phylogenetics_cpp_routines.cpp:10465: warning: ignoring ‘#pragma mark Stochastic’ [-Wunknown-pragmas] 10465 | #pragma mark Stochastic processes phylogenetics_cpp_routines.cpp:10466: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 10466 | #pragma mark phylogenetics_cpp_routines.cpp:10659: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 10659 | #pragma mark - phylogenetics_cpp_routines.cpp:10660: warning: ignoring ‘#pragma mark Deterministic’ [-Wunknown-pragmas] 10660 | #pragma mark Deterministic diversity dynamics phylogenetics_cpp_routines.cpp:10661: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 10661 | #pragma mark phylogenetics_cpp_routines.cpp:11760: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 11760 | #pragma mark - phylogenetics_cpp_routines.cpp:11761: warning: ignoring ‘#pragma mark Building’ [-Wunknown-pragmas] 11761 | #pragma mark Building auxiliary data structures phylogenetics_cpp_routines.cpp:11762: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 11762 | #pragma mark phylogenetics_cpp_routines.cpp:12445: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 12445 | #pragma mark - phylogenetics_cpp_routines.cpp:12446: warning: ignoring ‘#pragma mark Tree’ [-Wunknown-pragmas] 12446 | #pragma mark Tree statistics phylogenetics_cpp_routines.cpp:12447: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 12447 | #pragma mark phylogenetics_cpp_routines.cpp:14631: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 14631 | #pragma mark - phylogenetics_cpp_routines.cpp:14632: warning: ignoring ‘#pragma mark Generating’ [-Wunknown-pragmas] 14632 | #pragma mark Generating & manipulating trees phylogenetics_cpp_routines.cpp:14633: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 14633 | #pragma mark phylogenetics_cpp_routines.cpp:18025: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 18025 | #pragma mark - phylogenetics_cpp_routines.cpp:18026: warning: ignoring ‘#pragma mark Comparing’ [-Wunknown-pragmas] 18026 | #pragma mark Comparing trees phylogenetics_cpp_routines.cpp:18027: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 18027 | #pragma mark phylogenetics_cpp_routines.cpp:18445: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 18445 | #pragma mark - phylogenetics_cpp_routines.cpp:18446: warning: ignoring ‘#pragma mark Tree’ [-Wunknown-pragmas] 18446 | #pragma mark Tree dating phylogenetics_cpp_routines.cpp:18447: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 18447 | #pragma mark phylogenetics_cpp_routines.cpp:18546: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 18546 | #pragma mark - phylogenetics_cpp_routines.cpp:18547: warning: ignoring ‘#pragma mark Plotting’ [-Wunknown-pragmas] 18547 | #pragma mark Plotting trees phylogenetics_cpp_routines.cpp:18548: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 18548 | #pragma mark phylogenetics_cpp_routines.cpp:18643: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 18643 | #pragma mark - phylogenetics_cpp_routines.cpp:18644: warning: ignoring ‘#pragma mark Writing’ [-Wunknown-pragmas] 18644 | #pragma mark Writing/reading trees phylogenetics_cpp_routines.cpp:18645: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 18645 | #pragma mark phylogenetics_cpp_routines.cpp:19134: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 19134 | #pragma mark - phylogenetics_cpp_routines.cpp:19135: warning: ignoring ‘#pragma mark Statistics’ [-Wunknown-pragmas] 19135 | #pragma mark Statistics of trait distribution phylogenetics_cpp_routines.cpp:19136: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 19136 | #pragma mark phylogenetics_cpp_routines.cpp:20512: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 20512 | #pragma mark - phylogenetics_cpp_routines.cpp:20513: warning: ignoring ‘#pragma mark Most’ [-Wunknown-pragmas] 20513 | #pragma mark Most recent common ancestors phylogenetics_cpp_routines.cpp:20514: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 20514 | #pragma mark phylogenetics_cpp_routines.cpp:20951: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 20951 | #pragma mark - phylogenetics_cpp_routines.cpp:20952: warning: ignoring ‘#pragma mark Ancestral’ [-Wunknown-pragmas] 20952 | #pragma mark Ancestral state reconstruction phylogenetics_cpp_routines.cpp:20953: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 20953 | #pragma mark phylogenetics_cpp_routines.cpp:22664: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 22664 | #pragma mark - phylogenetics_cpp_routines.cpp:22665: warning: ignoring ‘#pragma mark MuSSE’ [-Wunknown-pragmas] 22665 | #pragma mark MuSSE model fitting phylogenetics_cpp_routines.cpp:22666: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 22666 | #pragma mark phylogenetics_cpp_routines.cpp:23930: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 23930 | #pragma mark - phylogenetics_cpp_routines.cpp:23931: warning: ignoring ‘#pragma mark Homogenous’ [-Wunknown-pragmas] 23931 | #pragma mark Homogenous Birth-Death models phylogenetics_cpp_routines.cpp:23932: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 23932 | #pragma mark phylogenetics_cpp_routines.cpp:25388: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 25388 | #pragma mark - phylogenetics_cpp_routines.cpp:25389: warning: ignoring ‘#pragma mark Homogenous’ [-Wunknown-pragmas] 25389 | #pragma mark Homogenous Birth-Death-Sampling model phylogenetics_cpp_routines.cpp:25390: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 25390 | #pragma mark phylogenetics_cpp_routines.cpp:26499: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 26499 | #pragma mark - phylogenetics_cpp_routines.cpp:26500: warning: ignoring ‘#pragma mark Simulate’ [-Wunknown-pragmas] 26500 | #pragma mark Simulate models of trait evolution phylogenetics_cpp_routines.cpp:26501: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 26501 | #pragma mark phylogenetics_cpp_routines.cpp:27013: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 27013 | #pragma mark - phylogenetics_cpp_routines.cpp:27014: warning: ignoring ‘#pragma mark Generating’ [-Wunknown-pragmas] 27014 | #pragma mark Generating random trees via cladogenic models phylogenetics_cpp_routines.cpp:27015: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 27015 | #pragma mark phylogenetics_cpp_routines.cpp:29679: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 29679 | #pragma mark - phylogenetics_cpp_routines.cpp:29680: warning: ignoring ‘#pragma mark Generating’ [-Wunknown-pragmas] 29680 | #pragma mark Generating gene trees phylogenetics_cpp_routines.cpp:29681: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 29681 | #pragma mark phylogenetics_cpp_routines.cpp:30928: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 30928 | #pragma mark - phylogenetics_cpp_routines.cpp:30929: warning: ignoring ‘#pragma mark Spherical’ [-Wunknown-pragmas] 30929 | #pragma mark Spherical Brownian motion phylogenetics_cpp_routines.cpp:30930: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 30930 | #pragma mark phylogenetics_cpp_routines.cpp:32472: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 32472 | #pragma mark - phylogenetics_cpp_routines.cpp:32473: warning: ignoring ‘#pragma mark Loading’ [-Wunknown-pragmas] 32473 | #pragma mark Loading files phylogenetics_cpp_routines.cpp:32474: warning: ignoring ‘#pragma mark ’ [-Wunknown-pragmas] 32474 | #pragma mark phylogenetics_cpp_routines.cpp: In function ‘long int count_occurrences(const std::string&, char, bool)’: phylogenetics_cpp_routines.cpp:334:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::__cxx11::basic_string<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | 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:357:46: warning: comparison of integer expressions of different signedness: ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 357 | while((max_Nparts<0) || (parts.size()<max_Nparts)){ | ~~~~~~~~~~~~^~~~~~~~~~~ phylogenetics_cpp_routines.cpp:359:23: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘const std::__cxx11::basic_string<char>::size_type’ {aka ‘const long unsigned int’} [-Wsign-compare] 359 | if(pos==string::npos) break; | ~~~^~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:363:43: warning: comparison of integer expressions of different signedness: ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 363 | 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:460:28: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 460 | 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:707:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<char>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 707 | 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:722:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 722 | 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:740:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 740 | 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:747:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 747 | 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:776:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 776 | 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:807:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 807 | 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:812:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 812 | 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:819:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 819 | 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:829:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 829 | 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:882:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 882 | 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:902:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘const long unsigned int’ [-Wsign-compare] 902 | 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:948: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 unsigned int’} [-Wsign-compare] 948 | 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:976:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 976 | 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:997:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 997 | for(long i=0; i<dense_row.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:1599:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1599 | 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:2820:30: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 2820 | 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:3260:29: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3260 | 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:3287:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3287 | for(long t=0, g=0, p; t<Xtarget.size(); ++t){ | ~^~~~~~~~~~~~~~~ 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:4484:17: warning: variable ‘info’ set but not used [-Wunused-but-set-variable] 4484 | 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:5835:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<std::complex<double> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5835 | 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:5915:19: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5915 | 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:5947:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5947 | 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:8860:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 8860 | 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:8897:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 8897 | 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:9941:56: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 9941 | for(long k=0; k<invalids.size(); ++k){ | ~^~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:9967:56: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 9967 | for(long k=0; k<invalids.size(); ++k){ | ~^~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp: In member function ‘void TreeSpeciationExtinctionModel::calculate_coalescent_diversities()’: phylogenetics_cpp_routines.cpp:10929:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 10929 | 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:12662:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 12662 | 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_traversal&, dvector&)’: phylogenetics_cpp_routines.cpp:12791:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 12791 | for(long q=0, clade; q<traversal.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:12897:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 12897 | for(long t=0; t<onlyToTips.size(); ++t){ | ~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:12928:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 12928 | 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:13016:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13016 | for(long t=0; t<onlyToTips.size(); ++t){ | ~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:13047:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13047 | for(long q=1; q<traversal_queue_root2tips.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:13075:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13075 | 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:13144:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13144 | for(long t=0; t<onlyToTips.size(); ++t){ | ~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:13174:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13174 | for(long q=0; q<traversal.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:13266:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13266 | for(long q=0; q<traversal_queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:13286:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13286 | 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:13397:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13397 | for(long q=0; q<traversal_queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:13417:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13417 | 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:13624:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13624 | for(long q=0, clade; q<traversal.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:13732:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13732 | for(long q=0, clade; q<traversal.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:13889:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13889 | for(long q=0; q<queue_root2tips.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:13913:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13913 | for(long c=0; c<only_clades.size(); ++c) include_clade[only_clades[c]] = true; | ~^~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:13914:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 13914 | 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:14066:45: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 14066 | for(long q=1, clade, pnode, cnode; q<traversal.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:14324:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 14324 | for(long q=0, clade; q<traversal.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:14493:16: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 14493 | 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:14550:28: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 14550 | while(queue_pointer<clades.size()){ | ~~~~~~~~~~~~~^~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:14567:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 14567 | 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:14615:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 14615 | for(long q=0; q<traversal.queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ 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:15174:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 15174 | for(long c=0; c<clades_to_keep.size(); ++c){ | ~^~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:15191:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 15191 | 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:16015:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16015 | for(long t=0; t<target_tips.size(); ++t){ | ~^~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:16038:38: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16038 | 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:16145:29: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16145 | for(long t=0, tip; t<target_tips.size(); ++t){ | ~^~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:16159:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16159 | for(long q=1; q<traversal_queue_root2tips.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:16194:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16194 | 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:16461:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16461 | 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:16571:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16571 | for(long q=0; q<traversal.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:16911:38: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16911 | for(long n=0, node; n<nodes_to_merge.size(); ++n){ | ~^~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:16921:49: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16921 | for(long n=0, e, pnode, child; n<nodes_to_merge.size(); ++n){ | ~^~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:16985:89: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 16985 | for(long q=0, clade, node, absorbing_ancestor, parent, child, e, edge, inedge; q<traversal.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:17082:48: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 17082 | for(long s=0, clade, inedge, node, e; s<clades_to_shift.size(); ++s){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:17105:56: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 17105 | for(long q=1, clade, node, inedge, e; q<traversal.queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:17139:47: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 17139 | for(long q=1, clade, inedge; q<traversal.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:17475:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 17475 | 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:17954:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 17954 | for(long f=0; f<fits.size(); ++f){ | ~^~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:17955:66: warning: comparison of integer expressions of different signedness: ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare] 17955 | 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:17991:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 17991 | 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:18189:38: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 18189 | 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:18419:60: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 18419 | 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:18475:44: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 18475 | 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:18499:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 18499 | 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:18528:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 18528 | for(long a=0; a<anchor_nodes.size(); ++a){ | ~^~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:18533:44: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 18533 | 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:18595:39: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 18595 | for(long q=1, clade, parent; q<traversal_queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:18612:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 18612 | for(long q=0, clade, node; q<traversal_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:19209:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 19209 | 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:19522:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 19522 | 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:20571:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 20571 | 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:20642:26: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 20642 | for(long fc=0; fc<focal_clades.size(); ++fc){ | ~~^~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:20648:26: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 20648 | 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:20776:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 20776 | for(long q=0; q<traversal_queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:20795:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 20795 | 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:20931:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 20931 | 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:21161:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 21161 | 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:21523:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 21523 | for(long n=0; n<posteriors.size(); ++n) posteriors[n] = exp(logposteriors[n]); | ~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:21564:34: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 21564 | for(long q=0, new_root; q<depth_first_search_queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp: In function ‘Rcpp::NumericVector 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:21968:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 21968 | 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:22024:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22024 | 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:22198:42: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22198 | 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:22459:30: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 22459 | if(node_states.size()>Nnodes) node_states.resize(Nnodes); | ~~~~~~~~~~~~~~~~~~^~~~~~~ phylogenetics_cpp_routines.cpp:22460:39: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 22460 | if(node_standard_errors.size()>Nnodes) node_standard_errors.resize(Nnodes); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ phylogenetics_cpp_routines.cpp:22461:29: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 22461 | 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:22502:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22502 | 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:22537:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22537 | 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:22556:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22556 | 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:22576:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22576 | 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:22781:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22781 | 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:22795:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22795 | 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:22887:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22887 | 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:22900:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22900 | for(long i=0; i<candidateY.size(); ++i){ | ~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:22905:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22905 | 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:22925:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22925 | for(long s=0; s<candidate_state.size(); ++s){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:22947:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22947 | 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:22970:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22970 | for(long s=0; s<candidateY.size(); ++s){ | ~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:22994:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 22994 | 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:23177:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 23177 | 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:23190:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 23190 | 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:23207:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 23207 | for(long s=0; s<candidate_state.size(); ++s){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:23229:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 23229 | 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:23478:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 23478 | 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:24303:40: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 24303 | 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:26559:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 26559 | 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:26639:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 26639 | 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:26721:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 26721 | 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:26792:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 26792 | 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:26872:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 26872 | 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:26964:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 26964 | 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:27076:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27076 | for(long i=0; i<sampled_tips.size(); ++i){ | ~^~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:27079:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27079 | for(long i=0; i<sampled_node_clades.size(); ++i){ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:27085:53: warning: comparison of integer expressions of different signedness: ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare] 27085 | if(only_sampled_tips && (sampled_tips.size()<Ntips)){ | ~~~~~~~~~~~~~~~~~~~^~~~~~ phylogenetics_cpp_routines.cpp:27122:48: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27122 | for(long new_clade=0; new_clade<pruning_new2old_clade.size(); ++new_clade){ | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:27128:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27128 | for(long i=0; i<sampled_tips.size(); ++i){ | ~^~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:27131:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27131 | 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:27217:75: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const long int’ [-Wsign-compare] 27217 | 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:27217:133: warning: comparison of integer expressions of different signedness: ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 27217 | 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:27432:100: warning: comparison of integer expressions of different signedness: ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 27432 | 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:27432:167: warning: comparison of integer expressions of different signedness: ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 27432 | 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:27432:235: warning: comparison of integer expressions of different signedness: ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 27432 | 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:27618:34: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27618 | for(long nc=0; nc<new2old_clade.size(); ++nc){ | ~~^~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:27625:34: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27625 | for(long nc=0; nc<new2old_clade.size(); ++nc){ | ~~^~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:27632:26: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 27632 | 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:28286:75: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const long int’ [-Wsign-compare] 28286 | 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:28480:75: warning: comparison of integer expressions of different signedness: ‘long unsigned int’ and ‘const long int’ [-Wsign-compare] 28480 | 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:28941:34: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 28941 | for(long nc=0; nc<new2old_clade.size(); ++nc){ | ~~^~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:28947:34: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 28947 | for(long nc=0; nc<new2old_clade.size(); ++nc){ | ~~^~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:28952:26: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 28952 | 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:29620:38: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 29620 | 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:29864:44: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare] 29864 | if(clade2tail_length.size()<=next_clade) clade2tail_length.resize(next_clade+1); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:29866:42: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare] 29866 | if(clade2tail_time.size()<=next_clade) clade2tail_time.resize(next_clade+1); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:29875:41: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 29875 | 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:29928:40: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare] 29928 | 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:29978:64: warning: comparison of integer expressions of different signedness: ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 29978 | const bool got_allele_counts = (allele_counts.size()==NStips); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~ phylogenetics_cpp_routines.cpp:29979:67: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 29979 | const bool got_population_sizes = (population_sizes.size()==NSclades); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:29980:67: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 29980 | const bool got_generation_times = (generation_times.size()==NSclades); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:29981:65: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 29981 | const bool got_mutation_rates = (mutation_rates.size()==NSclades); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:30007:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30007 | for(long q=0, clade; q<traversal.queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:30024:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30024 | for(allele=0; allele<gene_orphans[stip].size(); ++allele){ | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:30109:50: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30109 | for(long orphan=0; orphan<gene_orphans[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:30263:83: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 30263 | const bool got_population_sizes = (population_sizes.size()==NSclades); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:30264:83: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 30264 | const bool got_generation_times = (generation_times.size()==NSclades); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:30265:81: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 30265 | const bool got_mutation_rates = (mutation_rates.size()==NSclades); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:30266:80: warning: comparison of integer expressions of different signedness: ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 30266 | const bool got_allele_counts = (allele_counts.size()==NStips); | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~ phylogenetics_cpp_routines.cpp:30267:84: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 30267 | const bool got_HGT_rates = (HGT_rates.size()==NSclades); | ~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:30268:84: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 30268 | const bool got_duplication_rates = (duplication_rates.size()==NSclades); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:30269:85: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 30269 | const bool got_loss_rates = (loss_rates.size()==NSclades); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:30290:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30290 | for(long q=0; q<traversal.queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:30297:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30297 | for(long q=0, clade; q<traversal.queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:30400:66: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30400 | for(long l=0, locus, new_locus; l<clade_current_loci[mclade].size(); ++l){ | ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:30426:39: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 30426 | 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:31245:48: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31245 | for(long q=0, parent, child, e, edge; q<traversal.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:31361:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31361 | 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:31834:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31834 | 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:31876:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31876 | 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:31914:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31914 | 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:32076:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 32076 | 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&, long int, double, double, long int, long int, const std::string&)’: phylogenetics_cpp_routines.cpp:32557:32: warning: comparison of integer expressions of different signedness: ‘std::vector<std::__cxx11::basic_string<char> >::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 32557 | if(parts.size()<=distances_column){ | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:32585:56: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 32585 | if((max_Nedges>=0) && (distances.size()>=max_Nedges)) break; | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~ 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:5326:29: required from here 5326 | multiply_array_with_scalar(A,factor); | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:580:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 580 | 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:5521:34: required from here 5521 | epsilon /= get_norm_L2_of_vector(balances) * get_norm_L2_of_inverted_vector(balances); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:4927:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 4927 | 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:5521:77: required from here 5521 | epsilon /= get_norm_L2_of_vector(balances) * get_norm_L2_of_inverted_vector(balances); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ phylogenetics_cpp_routines.cpp:4935:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 4935 | 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:8734:48: required from here 8734 | const long NR = (end_c-start_c+1) + vector_sum(dN); | ~~~~~~~~~~^~~~ phylogenetics_cpp_routines.cpp:692:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 692 | 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:8956:25: required from here 8956 | if(!LUsolveLinearSystem( &matrix[0], | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 8957 | &scratchSpace[0], | ~~~~~~~~~~~~~~~~~ 8958 | 3, | ~~ 8959 | &b[0], | ~~~~~~ 8960 | epsilon*3, | ~~~~~~~~~~ 8961 | 5, | ~~ 8962 | &sol[0])){ | ~~~~~~~~ phylogenetics_cpp_routines.cpp:4777:19: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4777 | for(i=0; i<N; ++i){ | ~^~ phylogenetics_cpp_routines.cpp:4778:27: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4778 | for(j=0; j<N; ++j){ | ~^~ phylogenetics_cpp_routines.cpp:4793:87: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4793 | 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:9326:40: required from here 9326 | if(fitLeastSquares_affine_real_scalar(X, logY, start, end, Xshift[n], false, false, A[n], rate[n], RSS, count[n])){ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:9188:21: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 9188 | if((x.size()<=end) || (y.size()<=end)) return false; | ~~~~~~~~~^~~~~~ phylogenetics_cpp_routines.cpp:9188:40: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘const long int’ [-Wsign-compare] 9188 | 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:9760:24: required from here 9760 | Acoeff *= (Ngrid-1.0)/Aend; | ^~~~ phylogenetics_cpp_routines.cpp:3450:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3450 | 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:12143:33: required from here 12143 | get_tree_traversal_root_to_tips(Ntips, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ 12144 | Nnodes, | ~~~~~~~ 12145 | Nedges, | ~~~~~~~ 12146 | -1, | ~~~ 12147 | tree_edge, | ~~~~~~~~~~ 12148 | include_tips, | ~~~~~~~~~~~~~ 12149 | false, | ~~~~~~ 12150 | queue, | ~~~~~~ 12151 | node2first_edge, | ~~~~~~~~~~~~~~~~ 12152 | node2last_edge, | ~~~~~~~~~~~~~~~ 12153 | edges, | ~~~~~~ 12154 | false, | ~~~~~~ 12155 | ""); | ~~~ phylogenetics_cpp_routines.cpp:12116:28: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 12116 | 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:12801:36: required from here 12801 | const double root_age = vector_max(ages); | ~~~~~~~~~~^~~~~~ phylogenetics_cpp_routines.cpp:770:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 770 | 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:13898:14: required from here 13898 | qsortIndices(distances_from_root, chronological_clade_order); | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:1071:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1071 | 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:14197:33: required from here 14197 | const long Nsplits = vector_max(node2child_count); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:770:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 770 | 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:14866:30: required from here 14866 | sort_tree_edges_root_to_tips( Ntips, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ 14867 | Nnodes, | ~~~~~~~ 14868 | Nedges, | ~~~~~~~ 14869 | depth_first_search, | ~~~~~~~~~~~~~~~~~~~ 14870 | root_to_tips, | ~~~~~~~~~~~~~ 14871 | tree_edge, | ~~~~~~~~~~ 14872 | new2old_edge); | ~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:14838:36: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 14838 | 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:15102:40: required from here 15102 | get_tree_with_collapsed_monofurcations( Ntips, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 15103 | Nnodes, | ~~~~~~~ 15104 | Nedges, | ~~~~~~~ 15105 | root, | ~~~~~ 15106 | force_keep_root, | ~~~~~~~~~~~~~~~~ 15107 | force_keep_nodes, | ~~~~~~~~~~~~~~~~~ 15108 | tree_edge, | ~~~~~~~~~~ 15109 | edge_length, | ~~~~~~~~~~~~ 15110 | new_tree_edge, | ~~~~~~~~~~~~~~ 15111 | new_edge_length, | ~~~~~~~~~~~~~~~~ 15112 | new2old_node, | ~~~~~~~~~~~~~ 15113 | new_root, | ~~~~~~~~~ 15114 | root_shift); | ~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:14998:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 14998 | for(long fn=0, node; fn<force_keep_nodes.size(); ++fn){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:15012:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 15012 | for(long q=0; q<traversal_queue.size(); ++q){ | ~^~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:15035:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 15035 | 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:15714:32: required from here 15714 | get_subtree_with_specific_tips( Ntips, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ 15715 | Nnodes, | ~~~~~~~ 15716 | Nedges, | ~~~~~~~ 15717 | tree_edge, | ~~~~~~~~~~ 15718 | edge_length, | ~~~~~~~~~~~~ 15719 | tips_to_keep, | ~~~~~~~~~~~~~ 15720 | collapse_monofurcations, | ~~~~~~~~~~~~~~~~~~~~~~~~ 15721 | force_keep_root, | ~~~~~~~~~~~~~~~~ 15722 | lvector(), | ~~~~~~~~~~ 15723 | new_tree_edge, | ~~~~~~~~~~~~~~ 15724 | new_edge_length, | ~~~~~~~~~~~~~~~~ 15725 | new2old_clade, | ~~~~~~~~~~~~~~ 15726 | new_root, | ~~~~~~~~~ 15727 | old_stem_edge, | ~~~~~~~~~~~~~~ 15728 | Ntips_kept, | ~~~~~~~~~~~ 15729 | Nnodes_kept, | ~~~~~~~~~~~~ 15730 | Nedges_kept, | ~~~~~~~~~~~~ 15731 | root_shift); | ~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:15572:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 15572 | for(long t=0; t<tips_to_keep.size(); ++t){ | ~^~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:15575:26: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 15575 | for(long fn=0; fn<force_keep_nodes.size(); ++fn){ | ~~^~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:15648:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 15648 | 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_traversal&, dvector&) [with ARRAY_TYPE_INT = std::vector<long int>; ARRAY_TYPE_D = std::vector<double>; dvector = std::vector<double>]’: phylogenetics_cpp_routines.cpp:16941:26: required from here 16941 | get_distances_from_root(Ntips, Nnodes, Nedges, tree_edge, edge_length, traversal, clade_times); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:12742:31: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 12742 | for(long q=0, clade; q<traversal.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:18421:33: required from here 18421 | fa = find_in_ascending_list(membershipsA[nodeA],f,fa+1); | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:486:28: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 486 | 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:22770:19: required from here 22770 | shape = initial/initial_mean; | ^~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:3532:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3532 | 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:22833:27: required from here 22833 | rateY = YA - currentY*rateS; | ^~~~~ phylogenetics_cpp_routines.cpp:3432:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3432 | 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:22833:27: required from here 22833 | rateY = YA - currentY*rateS; | ^~~~~ phylogenetics_cpp_routines.cpp:3486:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3486 | 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:22942:66: required from here 22942 | candidate_state = previous_state*(1-lambda) + candidate_state*lambda; | ^~~~~~ phylogenetics_cpp_routines.cpp:3459:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3459 | 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:23006:22: required from here 23006 | return contains_nan(state); | ~~~~~~~~~~~~^~~~~~~ phylogenetics_cpp_routines.cpp:865:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 865 | 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:23366:32: required from here 23366 | posteriors[node] *= modelD.initial; | ^~~~~~~ phylogenetics_cpp_routines.cpp:3423:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3423 | 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:23387:30: required from here 23387 | const double S = vector_sum(posteriors[node]); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:692:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 692 | 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:23388:23: required from here 23388 | posteriors[node] /= S; | ^ phylogenetics_cpp_routines.cpp:3541:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3541 | 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:23396:56: required from here 23396 | loglikelihood += log(vector_sum(posteriors[root_node]*root_prior)); | ^~~~~~~~~~ phylogenetics_cpp_routines.cpp:3414:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3414 | 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:23906:38: required from here 23906 | loglikelihood += log(scalar_product(substem_D,substem_prior)); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:715:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘const long unsigned int’ [-Wsign-compare] 715 | 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:24305:83: required from here 24305 | dvector coarse_diversification_rates = lambdas; coarse_diversification_rates -= mus; | ^~~ phylogenetics_cpp_routines.cpp:3504:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3504 | 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:24925:48: required from here 24925 | dvector coarse_abs_diversification_rates = abs(coarse_diversification_rates); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:3550:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3550 | 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:25417:26: required from here 25417 | return lambda.getMaxAbs() + mu.getMaxAbs() + psi.getMaxAbs(); | ~~~~~~~~~~~~~~~~^~ phylogenetics_cpp_routines.cpp:2646:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 2646 | 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:25422:26: required from here 25422 | return lambda.getMaxAbs(start_time,end_time) + mu.getMaxAbs(start_time,end_time) + psi.getMaxAbs(start_time,end_time); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:2657:32: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 2657 | 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:25845:20: required from here 25845 | NCSAcrossings += 1l; | ^~ phylogenetics_cpp_routines.cpp:3477:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3477 | 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:27088:52: required from here 27088 | lvector force_keep_nodes = sampled_node_clades - Ntips; | ^~~~~ phylogenetics_cpp_routines.cpp:3495:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3495 | 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:27554:27: required from here 27554 | remove_item_from_vector(extant_tips, tip); | ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:918:17: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 918 | 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:31394:22: required from here 31394 | simulate_SBM_on_tree( Ntips, | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ 31395 | Nnodes, | ~~~~~~~ 31396 | Nedges, | ~~~~~~~ 31397 | tree_edge, | ~~~~~~~~~~ 31398 | edge_length, | ~~~~~~~~~~~~ 31399 | radius, | ~~~~~~~ 31400 | diffusivity_integral, | ~~~~~~~~~~~~~~~~~~~~~ 31401 | root_theta, | ~~~~~~~~~~~ 31402 | root_phi, | ~~~~~~~~~ 31403 | clade_theta, | ~~~~~~~~~~~~ 31404 | clade_phi); | ~~~~~~~~~~ phylogenetics_cpp_routines.cpp:31296:48: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<long int>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 31296 | for(long q=0, parent, child, e, edge; q<traversal.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:4784:21: required from ‘bool LUsolveLinearSystem(const TYPE*, TYPE*, long unsigned int, const TYPE*, double, unsigned int, TYPE*) [with TYPE = double]’ 4784 | if(!LUDecomposition(scratchSpace, N, pivoting_indices, Psign)){ | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:8956:25: required from here 8956 | if(!LUsolveLinearSystem( &matrix[0], | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 8957 | &scratchSpace[0], | ~~~~~~~~~~~~~~~~~ 8958 | 3, | ~~ 8959 | &b[0], | ~~~~~~ 8960 | epsilon*3, | ~~~~~~~~~~ 8961 | 5, | ~~ 8962 | &sol[0])){ | ~~~~~~~~ phylogenetics_cpp_routines.cpp:4632:19: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4632 | for(i=0; i<N; ++i){ | ~^~ phylogenetics_cpp_routines.cpp:4633:34: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4633 | for(j=0, big=0; j<N; ++j){ | ~^~ phylogenetics_cpp_routines.cpp:4642:19: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4642 | for(j=0; j<N; ++j){ | ~^~ phylogenetics_cpp_routines.cpp:4649:27: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4649 | for(i=j; i<N; ++i){ | ~^~ phylogenetics_cpp_routines.cpp:4659:35: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4659 | for(k=0; k<N; ++k){ | ~^~ phylogenetics_cpp_routines.cpp:4671:22: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4671 | if(j < N-1){ | ~~^~~~~ phylogenetics_cpp_routines.cpp:4673:37: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4673 | 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:4789:21: required from ‘bool LUsolveLinearSystem(const TYPE*, TYPE*, long unsigned int, const TYPE*, double, unsigned int, TYPE*) [with TYPE = double]’ 4789 | LUSolveLinearSystem(scratchSpace, N, pivoting_indices, x); | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:8956:25: required from here 8956 | if(!LUsolveLinearSystem( &matrix[0], | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 8957 | &scratchSpace[0], | ~~~~~~~~~~~~~~~~~ 8958 | 3, | ~~ 8959 | &b[0], | ~~~~~~ 8960 | epsilon*3, | ~~~~~~~~~~ 8961 | 5, | ~~ 8962 | &sol[0])){ | ~~~~~~~~ phylogenetics_cpp_routines.cpp:4694:19: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4694 | for(i=0; i<N; ++i){ | ~^~ phylogenetics_cpp_routines.cpp:4707:29: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4707 | 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:4794:35: required from ‘bool LUsolveLinearSystem(const TYPE*, TYPE*, long unsigned int, const TYPE*, double, unsigned int, TYPE*) [with TYPE = double]’ 4794 | LUImproveSolutionToLinearSystem(matrix, scratchSpace, N, pivoting_indices, b, x); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:8956:25: required from here 8956 | if(!LUsolveLinearSystem( &matrix[0], | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ 8957 | &scratchSpace[0], | ~~~~~~~~~~~~~~~~~ 8958 | 3, | ~~ 8959 | &b[0], | ~~~~~~ 8960 | epsilon*3, | ~~~~~~~~~~ 8961 | 5, | ~~ 8962 | &sol[0])){ | ~~~~~~~~ phylogenetics_cpp_routines.cpp:4745:19: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4745 | for(i=0; i<N; ++i){ | ~^~ phylogenetics_cpp_routines.cpp:4747:27: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4747 | for(j=0; j<N; ++j){ s += matrix[i*N+j] * x[j]; } | ~^~ phylogenetics_cpp_routines.cpp:4751:19: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘long unsigned int’ [-Wsign-compare] 4751 | 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:5400:27: required from ‘long int min_polynomials_for_positive_exponential_of_irreducible_matrix(long int, const ARRAY_TYPE&) [with ARRAY_TYPE = std::vector<double>]’ 5400 | if(find_first_occurrence(sum_of_powers, 0.0)<0) return (p+1); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:21465:94: required from here 21465 | const long min_polynomials = min_polynomials_for_positive_exponential_of_irreducible_matrix(Nstates, transition_matrix); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:468:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 468 | 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:10194: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>]’ 10194 | referenceValues[0] = referenceValues[referenceCount-1] = 0.5*(referenceValues[0] + referenceValues[referenceCount-1]); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:23339:141: required from here 23339 | modelD.E = LinearInterpolationFunctor<MuSSEstateE>(modelE.ages,modelE.trajectory,false,modelE.trajectory[0],modelE.trajectory.back(),true,0); | ^ phylogenetics_cpp_routines.cpp:3441:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3441 | 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:7458: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>]’ 7458 | linear_combination(1.0,currentPoint,current_dt1,k1,point2); // point2 = currentPoint + k1*current_dt1; | ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:23441:9: required from here 23440 | bool success = RungeKutta2<MuSSEstateE,MuSSEmodelE,ProgressReporter> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23441 | (0, // start_time | ^~~~~~~~~~~~~~~~~ 23442 | oldest_age, // end_time | ~~~~~~~~~~~~~~~~~~~~~~~ 23443 | max(0.000001*oldest_age,min(0.2*oldest_age,relative_ODE_step/maxErate)), // default integration time step | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23444 | modelE, | ~~~~~~~ 23445 | minRecordingTimeStep, | ~~~~~~~~~~~~~~~~~~~~~ 23446 | maxRecordingTimeStep, | ~~~~~~~~~~~~~~~~~~~~~ 23447 | guessNrecordings, | ~~~~~~~~~~~~~~~~~ 23448 | E_value_step, // recordingRelValueStep | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23449 | 5, // maxTimeStepRefinements | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23450 | 4, // refinement_factor | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23451 | ProgressReporter(true), | ~~~~~~~~~~~~~~~~~~~~~~~ 23452 | (runtime_out_seconds>0 ? max(runtime_out_seconds*0.01, runtime_out_seconds+start_runtime-get_thread_monotonic_walltime_seconds()) : 0.0), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 23453 | warningMessage); | ~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:431:24: warning: comparison of integer expressions of different signedness: ‘long int’ and ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 431 | 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:1322:25: warning: ‘t1’ may be used uninitialized [-Wmaybe-uninitialized] 1322 | W += (t2-t1) * abs(CDFY-CDFX); | ~~~^~~~ phylogenetics_cpp_routines.cpp:1306:32: note: ‘t1’ was declared here 1306 | double CDFX=0, CDFY=0, t1, t2; | ^~ 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:2260:16: warning: ‘c’ may be used uninitialized [-Wmaybe-uninitialized] 2260 | return c; // did not converge, but the last c is the best estimate | ^ phylogenetics_cpp_routines.cpp:2206:36: note: ‘c’ was declared here 2206 | double a = Xmin, b = Xmax, c; | ^ phylogenetics_cpp_routines.cpp: In function ‘double legendre_polynomial(long int, double)’: phylogenetics_cpp_routines.cpp:30948:16: warning: ‘Pn’ may be used uninitialized [-Wmaybe-uninitialized] 30948 | return Pn; | ^~ phylogenetics_cpp_routines.cpp:30942:16: note: ‘Pn’ was declared here 30942 | double Pn; | ^~ 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:2343:16: warning: ‘c’ may be used uninitialized [-Wmaybe-uninitialized] 2343 | return c; // did not converge, but the last c is the best estimate | ^ phylogenetics_cpp_routines.cpp:2281:36: note: ‘c’ was declared here 2281 | 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:2440:16: warning: ‘c’ may be used uninitialized [-Wmaybe-uninitialized] 2440 | return c; // did not converge, but the last c is the best estimate | ^ phylogenetics_cpp_routines.cpp:2373:36: note: ‘c’ was declared here 2373 | 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:6031:37: warning: ‘error’ may be used uninitialized [-Wmaybe-uninitialized] 6031 | return (best_error<tolerance); | ^ phylogenetics_cpp_routines.cpp:5961:21: note: ‘error’ was declared here 5961 | double XAX, error, best_lambda=0, best_error=INFTY_D; | ^~~~~ In file included from /usr/include/c++/14/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:1738:17: /usr/include/c++/14/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:1736:28: note: ‘Yvertex’ was declared here 1736 | VALUE_TYPE Yvertex; | ^~~~~~~ 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:25359:51: warning: ‘W_degree’ may be used uninitialized [-Wmaybe-uninitialized] 25359 | const double origin_W = polynomial_value(W_degree,&refined_W_coeff[origin_rg*(W_degree+1)],oldest_age-age_offset); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:25287:24: note: ‘W_degree’ was declared here 25287 | long I_degree, W_degree, NRG; | ^~~~~~~~ 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:25186:102: warning: ‘Zdegree’ may be used uninitialized [-Wmaybe-uninitialized] 25186 | branching_Z = polynomial_value(Zdegree, &Zcoeff[d][current_g*(Zdegree+1)], branching_age-age_offset); | ~~~~~~~~^~~ phylogenetics_cpp_routines.cpp:25152:14: note: ‘Zdegree’ was declared here 25152 | long Zdegree, EZdegree, Wdegree; | ^~~~~~~ phylogenetics_cpp_routines.cpp:25187:102: warning: ‘Wdegree’ may be used uninitialized [-Wmaybe-uninitialized] 25187 | branching_W = polynomial_value(Wdegree, &Wcoeff[d][current_g*(Wdegree+1)], branching_age-age_offset); | ~~~~~~~~^~~ phylogenetics_cpp_routines.cpp:25152:33: note: ‘Wdegree’ was declared here 25152 | long Zdegree, EZdegree, Wdegree; | ^~~~~~~ phylogenetics_cpp_routines.cpp: In function ‘bool LUDecomposition(TYPE*, long unsigned int, long unsigned int*, int&) [with TYPE = double]’: phylogenetics_cpp_routines.cpp:4658:17: warning: ‘imax’ may be used uninitialized [-Wmaybe-uninitialized] 4658 | if(j != imax){ | ^~ phylogenetics_cpp_routines.cpp:4626:16: note: ‘imax’ was declared here 4626 | 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:10918:96: warning: ‘coalescent_diversity_at_resolution_age’ may be used uninitialized [-Wmaybe-uninitialized] 10918 | coalescent[t].Pmissing = coalescent_diversity_at_resolution_age/coalescent[t].diversity; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:10895:59: note: ‘coalescent_diversity_at_resolution_age’ was declared here 10895 | double total_diversity_at_resolution_age, coalescent_diversity_at_resolution_age; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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:26558:27: warning: ‘parent’ may be used uninitialized [-Wmaybe-uninitialized] 26558 | long clade, edge, parent, parent_state, state=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:20142:49: warning: ‘tip’ may be used uninitialized [-Wmaybe-uninitialized] 20142 | tip_included[tip] = true; | ^ phylogenetics_cpp_routines.cpp:20005:14: note: ‘tip’ was declared here 20005 | 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:20102:41: phylogenetics_cpp_routines.cpp:3574:72: warning: ‘count_tips_remaining’ may be used uninitialized [-Wmaybe-uninitialized] 3574 | 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:20005:26: note: ‘count_tips_remaining’ was declared here 20005 | long tip, clade, count_tips_remaining; | ^~~~~~~~~~~~~~~~~~~~ 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:25908:110: warning: ‘logPhi_degree’ may be used uninitialized [-Wmaybe-uninitialized] 25908 | 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:25794:42: note: ‘logPhi_degree’ was declared here 25794 | long dummyL1, dummyL2, I_degree, logPhi_degree, E_degree; | ^~~~~~~~~~~~~ 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:16205:108: warning: ‘best_Ntargets_upstream’ may be used uninitialized [-Wmaybe-uninitialized] 16205 | else if((!descends_from_best_edge[tip]) && (Ntargets_downstream_per_clade[tip]==1) && (!targets_should_be_upstream)) misplaced_targets.push_back(tip); // misplaced upstream target | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:16167:30: note: ‘best_Ntargets_upstream’ was declared here 16167 | long best_edge = -1, best_Ntargets_upstream, best_Ntargets_downstream, best_Nmisplaced_targets, best_Nmisplaced_nontargets; | ^~~~~~~~~~~~~~~~~~~~~~ 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:11139:86: warning: ‘Pmissing_at_resolution_age’ may be used uninitialized [-Wmaybe-uninitialized] 11139 | const double effective_rarefaction = rarefaction * (1-Pmissing_at_resolution_age); | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:11114:24: note: ‘Pmissing_at_resolution_age’ was declared here 11114 | double Pmissing_at_resolution_age, total_diversity_at_resolution_age, coalescent_diversity_at_resolution_age; | ^~~~~~~~~~~~~~~~~~~~~~~~~~ phylogenetics_cpp_routines.cpp:11147:88: warning: ‘coalescent_diversity_at_resolution_age’ may be used uninitialized [-Wmaybe-uninitialized] 11147 | 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:11114:87: note: ‘coalescent_diversity_at_resolution_age’ was declared here 11114 | double Pmissing_at_resolution_age, total_diversity_at_resolution_age, coalescent_diversity_at_resolution_age; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/RcppCommon.h:189, from /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/internal/wrap.h:465:46, inlined from ‘SEXPREC* Rcpp::internal::primitive_wrap(const T&) [with T = double]’ at /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/internal/wrap.h:489:40, inlined from ‘SEXPREC* Rcpp::internal::wrap_dispatch(const T&, Rcpp::traits::wrap_type_primitive_tag) [with T = double]’ at /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/internal/wrap.h:744:34, inlined from ‘SEXPREC* Rcpp::wrap(const T&) [with T = double]’ at /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:532: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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:525: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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:514: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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1168:32, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1169:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1148:37, 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 /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/vector/Vector.h:1131:33, inlined from ‘Rcpp::List read_Newick_string_CPP(std::string, bool, bool, bool, bool)’ at phylogenetics_cpp_routines.cpp:19126:39: /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include/Rcpp/internal/wrap.h:442:41: warning: ‘root_edge’ may be used uninitialized [-Wmaybe-uninitialized] 442 | 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:19042:29: note: ‘root_edge’ was declared here 19042 | double edge_length, root_edge; | ^~~~~~~~~ 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:13326:155: warning: ‘mrca’ may be used uninitialized [-Wmaybe-uninitialized] 13326 | 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:13299:30: note: ‘mrca’ was declared here 13299 | long cladeA, cladeB, mrca; | ^~~~ gcc-14 -I"/home/hornik/tmp/R.check/r-devel-gcc/Work/build/include" -DNDEBUG -I'/home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/Rcpp/include' -I/usr/local/include -D_FORTIFY_SOURCE=3 -fpic -g -O2 -Wall -Wstrict-prototypes -pedantic -mtune=native -c registerDynamicSymbol.c -o registerDynamicSymbol.o g++-14 -std=gnu++17 -shared -L/home/hornik/tmp/R.check/r-devel-gcc/Work/build/lib -Wl,-O1 -o castor.so RcppExports.o STMathExpression.o phylogenetics_cpp_routines.o registerDynamicSymbol.o -L/home/hornik/tmp/R.check/r-devel-gcc/Work/build/lib -lR make[1]: Leaving directory '/tmp/RtmpTMuffh/R.INSTALLc6ce76a504de3/castor/src' make[1]: Entering directory '/tmp/RtmpTMuffh/R.INSTALLc6ce76a504de3/castor/src' make[1]: Leaving directory '/tmp/RtmpTMuffh/R.INSTALLc6ce76a504de3/castor/src' installing to /home/hornik/tmp/R.check/r-devel-gcc/Work/build/Packages/00LOCK-castor/00new/castor/libs ** 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 ** checking absolute paths in shared objects and dynamic libraries ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (castor)