[Python-checkins] CVS: python/nondist/sandbox/datetime datetime.py,1.47,1.48
Tim Peters
tim_one@users.sourceforge.net
Mon, 04 Mar 2002 20:15:56 -0800
Update of /cvsroot/python/python/nondist/sandbox/datetime
In directory usw-pr-cvs1:/tmp/cvs-serv31117
Modified Files:
datetime.py
Log Message:
timedelta.__init__(): Small simplification to handling of seconds;
repaired some incorrect asserts not triggered by the tests.
Index: datetime.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/datetime/datetime.py,v
retrieving revision 1.47
retrieving revision 1.48
diff -C2 -d -r1.47 -r1.48
*** datetime.py 5 Mar 2002 03:23:21 -0000 1.47
--- datetime.py 5 Mar 2002 04:15:53 -0000 1.48
***************
*** 330,343 ****
daysecondsfrac, daysecondswhole = _math.modf(dayfrac * (24.*3600.))
assert daysecondswhole == int(daysecondswhole) # can't overflow
! daysecondswhole = int(daysecondswhole)
assert days == long(days)
d = long(days)
else:
! daysecondsfrac, daysecondswhole = 0.0, 0
d = days
assert isinstance(daysecondsfrac, float)
- assert isinstance(daysecondswhole, int)
- assert 0 <= daysecondswhole < 24*3600
assert isinstance(d, (int, long))
# days isn't referenced again before redefinition
--- 330,342 ----
daysecondsfrac, daysecondswhole = _math.modf(dayfrac * (24.*3600.))
assert daysecondswhole == int(daysecondswhole) # can't overflow
! s = int(daysecondswhole)
assert days == long(days)
d = long(days)
else:
! daysecondsfrac = 0.0
d = days
assert isinstance(daysecondsfrac, float)
assert isinstance(d, (int, long))
+ assert abs(s) <= 24 * 3600
# days isn't referenced again before redefinition
***************
*** 352,359 ****
days, seconds = divmod(seconds, 24*3600)
d += days
! s = int(seconds) # can't overflow
! s += daysecondswhole # can't overflow
assert isinstance(s, int)
! assert 0 <= s < 2*24*3600
# seconds isn't referenced again before redefinition
--- 351,357 ----
days, seconds = divmod(seconds, 24*3600)
d += days
! s += int(seconds) # can't overflow
assert isinstance(s, int)
! assert abs(s) <= 2 * 24 * 3600
# seconds isn't referenced again before redefinition
***************
*** 376,379 ****
--- 374,378 ----
s += int(seconds) # can't overflow
assert isinstance(s, int)
+ assert abs(s) <= 3 * 24 * 3600
else:
seconds, microseconds = divmod(microseconds, 1000000)
***************
*** 382,392 ****
s += int(seconds) # can't overflow
assert isinstance(s, int)
microseconds = float(microseconds)
microseconds += usdouble
microseconds = round(microseconds)
# Just a little bit of carrying possible for microseconds and seconds.
assert isinstance(microseconds, float)
- assert 0 <= microseconds <= 3.1e6
assert int(microseconds) == microseconds
us = int(microseconds)
--- 381,393 ----
s += int(seconds) # can't overflow
assert isinstance(s, int)
+ assert abs(s) <= 3 * 24 * 3600
microseconds = float(microseconds)
microseconds += usdouble
microseconds = round(microseconds)
+ assert abs(s) <= 3 * 24 * 3600
+ assert abs(microseconds) <= 3.1e6
# Just a little bit of carrying possible for microseconds and seconds.
assert isinstance(microseconds, float)
assert int(microseconds) == microseconds
us = int(microseconds)