[pypy-svn] rev 2477 - in pypy/trunk/src/pypy/module: . test

pmaupin at codespeak.net pmaupin at codespeak.net
Thu Dec 18 11:48:18 CET 2003


Author: pmaupin
Date: Thu Dec 18 11:48:17 2003
New Revision: 2477

Modified:
   pypy/trunk/src/pypy/module/builtin.py
   pypy/trunk/src/pypy/module/test/test_builtin.py
Log:
Added 'sign' built-in function

Modified: pypy/trunk/src/pypy/module/builtin.py
==============================================================================
--- pypy/trunk/src/pypy/module/builtin.py	(original)
+++ pypy/trunk/src/pypy/module/builtin.py	Thu Dec 18 11:48:17 2003
@@ -295,6 +295,17 @@
             total = total+item
         return total
 
+    # This function was not in the original builtins,
+    # but is quite useful for some aspects of PyPy
+    # implementation.
+    def app_sign(self,a):
+        if a > 0:
+            return 1
+        elif a < 0:
+            return -1
+        else:
+            return 0
+
     #XXX works only for new-style classes.
     #So we have to fix it, when we add support for old-style classes
     def issubclass(self, w_cls1, w_cls2):

Modified: pypy/trunk/src/pypy/module/test/test_builtin.py
==============================================================================
--- pypy/trunk/src/pypy/module/test/test_builtin.py	(original)
+++ pypy/trunk/src/pypy/module/test/test_builtin.py	Thu Dec 18 11:48:17 2003
@@ -6,6 +6,11 @@
     def setUp(self):
         self.space = test.objspace()
     
+    def test_sign(self):
+        self.assertEquals(sign(-4),-1)
+        self.assertEquals(sign(0),0)
+        self.assertEquals(sign(10),1)
+
     def test_import(self):
         m = __import__('pprint')
         self.assertEquals(m.pformat({}), '{}')


More information about the Pypy-commit mailing list