This function has used std::upper_bound for a very long time, which has the effect of treating recombination breakpoints as [l,r] when I intend them to be [l,r).
The difference between the two can only really be triggered when mutation and recombination rates are > 1. However, experiments in integrating tree sequence methods into the code base revealed the error.
This function has used
std::upper_bound
for a very long time, which has the effect of treating recombination breakpoints as[l,r]
when I intend them to be[l,r)
.The difference between the two can only really be triggered when mutation and recombination rates are > 1. However, experiments in integrating tree sequence methods into the code base revealed the error.