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,
         Preserves the lower NetworkTimeBits of the networkTime value,
         and extends the sign bit all the way up.
         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
         assert -32768 <= r <= 32767
         return r
         return r