def test_cmp_cross_reso(self): # numpy gets this wrong because of silent overflow dt64 = np.datetime64(106752, "D") # won't fit in M8[ns] ts = Timestamp._from_dt64(dt64) other = Timestamp(dt64 - 1) assert other < ts assert other.asm8 > ts.asm8 # <- numpy gets this wrong assert ts > other assert ts.asm8 < other.asm8 # <- numpy gets this wrong assert not other == ts assert ts != other
def test_cmp_cross_reso(self): # numpy gets this wrong because of silent overflow dt64 = np.datetime64(9223372800, "s") # won't fit in M8[ns] ts = Timestamp._from_dt64(dt64) # subtracting 3600*24 gives a datetime64 that _can_ fit inside the # nanosecond implementation bounds. other = Timestamp(dt64 - 3600 * 24) assert other < ts assert other.asm8 > ts.asm8 # <- numpy gets this wrong assert ts > other assert ts.asm8 < other.asm8 # <- numpy gets this wrong assert not other == ts assert ts != other
def test_cmp_cross_reso_reversed_dt64(self): dt64 = np.datetime64(106752, "D") # won't fit in M8[ns] ts = Timestamp._from_dt64(dt64) other = Timestamp(dt64 - 1) assert other.asm8 < ts
def ts(self, dt64): return Timestamp._from_dt64(dt64)