Ver código fonte

sign extend now generates the same output for 2.2.2 and 2.4.1 (python versions)

Dave Schuyler 20 anos atrás
pai
commit
8580dddb60
1 arquivos alterados com 3 adições e 8 exclusões
  1. 3 8
      direct/src/distributed/ClockDelta.py

+ 3 - 8
direct/src/distributed/ClockDelta.py

@@ -311,14 +311,9 @@ class ClockDelta(DirectObject.DirectObject):
         Preserves the lower NetworkTimeBits of the networkTime value,
         and extends the sign bit all the way up.
         """
-        if 1:
-            r = ((networkTime & NetworkTimeMask) << NetworkTimeTopBits) >> NetworkTimeTopBits
-        else:
-            if networkTime < 0:
-                # flip the sign, mask it as if it were positive, flip the sign back:
-                r = (networkTime * -1 & NetworkTimeSignedMask) * -1
-            else:
-                r = networkTime & NetworkTimeSignedMask
+        # this may not be exacly what is wanted (it wraps the value), but
+        # it matches the output that the old code did with Python 2.2.2.
+        r = ((networkTime+32768) & NetworkTimeMask) - 32768
         assert -32768 <= r <= 32767
         return r