[pypy-svn] r10463 - pypy/dist/pypy/tool/test

pedronis at codespeak.net pedronis at codespeak.net
Fri Apr 8 20:24:58 CEST 2005


Author: pedronis
Date: Fri Apr  8 20:24:57 2005
New Revision: 10463

Modified:
   pypy/dist/pypy/tool/test/test_rarithmetic.py
Log:
some intmask tests



Modified: pypy/dist/pypy/tool/test/test_rarithmetic.py
==============================================================================
--- pypy/dist/pypy/tool/test/test_rarithmetic.py	(original)
+++ pypy/dist/pypy/tool/test/test_rarithmetic.py	Fri Apr  8 20:24:57 2005
@@ -3,7 +3,17 @@
 from pypy.tool.rarithmetic import *
 import sys
 
+
 maxint_mask = (sys.maxint*2 + 1)
+machbits = 0
+i = 1
+l = 1L
+while i == l and type(i) is int:
+    i *= 2
+    l *= 2
+    machbits += 1
+print machbits
+
 
 objspacename = 'std'
 
@@ -126,3 +136,19 @@
                     else:
                         res = res & mask
                     assert res == cmp
+
+def test_intmask():
+    assert intmask(1) == 1
+    assert intmask(sys.maxint) == sys.maxint
+    minint = -sys.maxint-1
+    assert intmask(minint) == minint
+    assert intmask(2*sys.maxint+1) == -1
+    assert intmask(sys.maxint*2) == -2
+    assert intmask(sys.maxint*2+2) == 0
+    assert intmask(2*(sys.maxint*1+1)) == 0    
+    assert intmask(1 << (machbits-1)) == 1 << (machbits-1)
+    assert intmask(sys.maxint+1) == minint
+    assert intmask(minint-1) == sys.maxint
+
+    
+



More information about the Pypy-commit mailing list