Victor Stinner
adfefa527a
Issue #23517 : Fix implementation of the ROUND_HALF_UP rounding mode in
...
datetime.datetime.fromtimestamp() and datetime.datetime.utcfromtimestamp().
microseconds sign should be kept before rounding.
2015-09-04 23:57:25 +02:00
Victor Stinner
5786aef382
Don't abuse volatile keyword in pytime.c
...
Only use it on the most important number. This change fixes also a compiler
warning on modf().
2015-09-03 16:33:16 +02:00
Victor Stinner
29ee6745af
Enhance _PyTime_AsTimespec()
...
Ensure that the tv_nsec field is set, even if the function fails
with an overflow.
2015-09-03 16:25:45 +02:00
Victor Stinner
5a682c9ca5
Merge 3.5 (monotonic)
2015-09-03 00:15:23 +02:00
Victor Stinner
5ad5821d09
oops, rename pymonotonic_new() to pymonotonic()
...
I was not supposed to commit the function with the name pymonotonic_new(). I
forgot to rename it.
2015-09-03 00:14:58 +02:00
Victor Stinner
c3c616c3d1
Issue #24707 : Remove assertion in monotonic clock
...
Don't check anymore at runtime that the monotonic clock doesn't go backward.
Yes, it happens. It occurs sometimes each month on a Debian buildbot slave
running in a VM.
The problem is that Python cannot do anything useful if a monotonic clock goes
backward. It was decided in the PEP 418 to not fix the system, but only expose
the clock provided by the OS.
2015-09-03 00:13:46 +02:00
Victor Stinner
2ec558739e
Issue #23517 : datetime.timedelta constructor now rounds microseconds to nearest
...
with ties going away from zero (ROUND_HALF_UP), as Python 2 and Python older
than 3.3, instead of rounding to nearest with ties going to nearest even
integer (ROUND_HALF_EVEN).
2015-09-02 19:16:07 +02:00
Victor Stinner
24b822e21e
Issue #23517 : Try to fix test_time on "x86 Ubuntu Shared 3.x" buildbot
2015-09-02 11:58:56 +02:00
Victor Stinner
67edcc905d
Issue #23517 : Fix _PyTime_ObjectToDenominator()
...
* initialize numerator on overflow error ensure that numerator is smaller than
* denominator.
2015-09-02 10:37:46 +02:00
Victor Stinner
744742320f
Issue #23517 : Add "half up" rounding mode to the _PyTime API
2015-09-02 01:43:56 +02:00
Victor Stinner
bbdda21a7a
Move assertion inside _PyTime_ObjectToTimeval()
...
Change also _PyTime_FromSeconds() assertion to ensure that the _PyTime_t type
is used.
2015-09-02 00:50:43 +02:00
Victor Stinner
53e137c8dd
Refactor pytime.c
...
Move code to convert double timestamp to subfunctions.
2015-09-02 00:49:16 +02:00
Victor Stinner
13019fdef3
Issue #22117 : Add a new _PyTime_FromSeconds() function
...
Fix also _Py_InitializeEx_Private(): initialize time before initializing
import, import_init() uses the _PyTime API (for thread locks).
2015-04-03 13:10:54 +02:00
Victor Stinner
62d1c70eff
Issue #22117 , issue #23485 : Fix _PyTime_AsMilliseconds() and
...
_PyTime_AsMicroseconds() rounding.
Add also unit tests.
2015-04-01 17:47:07 +02:00
Victor Stinner
fa09beb150
Issue #23485 : Add _PyTime_FromMillisecondsObject() function
2015-03-30 21:36:10 +02:00
Victor Stinner
45cff0c0e6
Issue #22117 : Try to fix rounding in conversion from Python double to _PyTime_t
...
using the C volatile keyword.
2015-03-30 10:22:16 +02:00
Victor Stinner
a695f83f0d
Issue #22117 : Remove _PyTime_ROUND_DOWN and _PyTime_ROUND_UP rounding methods
...
Use _PyTime_ROUND_FLOOR and _PyTime_ROUND_CEILING instead.
2015-03-30 03:57:14 +02:00
Victor Stinner
bcdd777d3c
Issue #22117 : Add _PyTime_ROUND_CEILING rounding method for timestamps
...
Add also more tests for ROUNd_FLOOR.
2015-03-30 03:52:49 +02:00
Victor Stinner
edddf991d9
Issue #22117 : Add assertions to _PyTime_AsTimeval() and _PyTime_AsTimespec() to
...
check that microseconds and nanoseconds fits into the specified range.
2015-03-30 02:54:57 +02:00
Victor Stinner
ea9c0dd2c2
Issue #22117 : Fix usage of _PyTime_AsTimeval()
...
Add _PyTime_AsTimeval_noraise() function. Call it when it's not possible (or
not useful) to raise a Python exception on overflow.
2015-03-30 02:51:13 +02:00
Victor Stinner
f81f0f9c63
Issue #22117 : Fix rounding and implement _PyTime_ROUND_FLOOR in:
...
- _PyTime_ObjectToTime_t()
- _PyTime_ObjectToTimespec()
- _PyTime_ObjectToTimeval()
2015-03-30 00:44:06 +02:00
Victor Stinner
1bd18ba9a7
Issue #22117 : Cleanup pytime.c/.h
2015-03-30 00:25:38 +02:00
Victor Stinner
09e5cf28ae
Issue #22117 : Use the _PyTime_t API in _datetime.datetime() constructor
...
* Remove _PyTime_gettimeofday()
* Add _PyTime_GetSystemClock()
2015-03-30 00:09:18 +02:00
Victor Stinner
cb0c60258b
Issue #22117 : Fix _PyTime_GetMonotonicClock() and
...
_PyTime_GetSystemClockWithInfo() to not raise an exception and return 0 on
error (it should never occur)
2015-03-28 05:24:19 +01:00
Victor Stinner
02937aab13
Issue #22117 : Add the new _PyTime_ROUND_FLOOR rounding method for the datetime
...
module. time.clock_settime() now uses this rounding method instead of
_PyTime_ROUND_DOWN to handle correctly dates before 1970.
2015-03-28 05:02:39 +01:00