Double.NaN should be treated as 0.0. I would expect, for example, that `new DateTimeStamp(0.0).add(Double.NaN).equals(new DateTimeStamp(0.0))` to be true.