Why are the data fields of ROS::Time signed values?
Maybe a dumb question, but what is the motivation of having the data field of the ROS::Time structure be signed values? I suppose I can see some reason for having the "sec" field be signed in case there is a need to express a time before the epoch, but having the "nsec" field be a signed value seems to be an error to me.
How am I supposed to interpret a value where "nsec" field is negative? Does this mean that the values:
{sec: 5, nsec: 500_000_000} and {sec: 6, nsec: -500_000_000}
are equivalent values (please forgive the pseudo-Pythonic notation)?
It's just something that seemed weird to me as I went through the ROS message definitions and I was wondering if there was any motivation for this, or if it's just an "accident of history".
Thanks!