Author: Ronan Lamy <ronan.l...@gmail.com>
Branch: py3.5
Changeset: r93430:09836355d06a
Date: 2017-12-15 23:27 +0000
http://bitbucket.org/pypy/pypy/changeset/09836355d06a/

Log:    I hate RPython

diff --git a/pypy/module/time/interp_time.py b/pypy/module/time/interp_time.py
--- a/pypy/module/time/interp_time.py
+++ b/pypy/module/time/interp_time.py
@@ -480,8 +480,8 @@
             with lltype.scoped_alloc(TIMEVAL) as t:
                 seconds = ns // SECS_TO_NS
                 us = (ns % SECS_TO_NS) // US_TO_NS
-                rffi.setintfield(t, 'c_tv_sec', seconds)
-                rffi.setintfield(t, 'c_tv_usec', us)
+                rffi.setintfield(t, 'c_tv_sec', int(seconds))
+                rffi.setintfield(t, 'c_tv_usec', int(us))
 
                 res = rffi.cast(rffi.LONG, c_select(0, void, void, void, t))
             if res == 0:
diff --git a/rpython/rlib/rtime.py b/rpython/rlib/rtime.py
--- a/rpython/rlib/rtime.py
+++ b/rpython/rlib/rtime.py
@@ -165,7 +165,7 @@
         'QueryPerformanceCounter', [rffi.CArrayPtr(lltype.SignedLongLong)],
          lltype.Void, releasegil=False)
     QueryPerformanceFrequency = external(
-        'QueryPerformanceFrequency', [rffi.CArrayPtr(lltype.SignedLongLong)], 
+        'QueryPerformanceFrequency', [rffi.CArrayPtr(lltype.SignedLongLong)],
         rffi.INT, releasegil=False)
     class State(object):
         divisor = 0.0
@@ -267,9 +267,10 @@
     else:
         void = lltype.nullptr(rffi.VOIDP.TO)
         with lltype.scoped_alloc(TIMEVAL) as t:
-            frac = math.fmod(secs, 1.0)
+            frac = int(math.fmod(secs, 1.0) * 1000000.)
+            assert frac >= 0
             rffi.setintfield(t, 'c_tv_sec', int(secs))
-            rffi.setintfield(t, 'c_tv_usec', int(frac*1000000.0))
+            rffi.setintfield(t, 'c_tv_usec', frac)
 
             if rffi.cast(rffi.LONG, c_select(0, void, void, void, t)) != 0:
                 errno = rposix.get_saved_errno()
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to