Skip to content

Tiny time differences: Intentional, or safe to round? #526

Answered by hyanwong
clawsoon asked this question in Q&A
Discussion options

You must be logged in to vote

Hi @clawsoon - I suspect that (a) you are using an older version of tsinfer, where most times are integers (in more recent versions nodes are placed at frequencies of 0..1, apart from the 2 oldest nodes at times 2 and 3 which I hope to change soon ) and (b) these are "synthetic ancestors" created by the path compression process (you can check by looking to see if they have the flag tsinfer.NODE_IS_PC_ANCESTOR).

Synthetic ancestors are intentionally placed at a time X-minus-epsilon: you can't place these at time (say) 5, because their parent is at time 5, and children must always be strictly younger than their parents. So it's not just floating point error, but a deliberate choice. The tim…

Replies: 0 comments 7 replies

Comment options

You must be logged in to vote
6 replies
@clawsoon
Comment options

@hyanwong
Comment options

@clawsoon
Comment options

@hyanwong
Comment options

@clawsoon
Comment options

Answer selected by benjeffery
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants