more tests
authorHaoyu Bai <baihaoyu@gmail.com>
Thu, 7 Apr 2011 13:00:43 +0000 (21:00 +0800)
committerHaoyu Bai <baihaoyu@gmail.com>
Thu, 7 Apr 2011 13:23:13 +0000 (21:23 +0800)
tests/run/directive_locals_in_pxd.pxd
tests/run/directive_locals_in_pxd.py

index 2b5678c4cbf4a9c8c9449951bad92339834b176c..4fa9f0270ba2e112cabbe3ee0f6056d404dd3ef7 100644 (file)
@@ -2,3 +2,9 @@ cimport cython
 
 @cython.locals(egg=double)
 cdef foo(egg)
+
+@cython.locals(egg=cython.double)
+cdef foo_defval(egg=*)
+
+@cython.locals(egg=cython.bint, v=cython.int)
+cpdef cpfoo(egg=*)
index 8614fdf7566a0b879544bb9a936f66ad5f35aed0..87e732070237c6d7bd4c5edc44f0f3d51519decd 100644 (file)
@@ -1,17 +1,31 @@
 import cython
 
-# @cython.locals(x=double)
-# cdef func_defval(x=0):
-    # return x**2
-
 def foo(egg):
     if not cython.compiled:
         egg = float(egg)
     return egg
 
+def foo_defval(egg=1):
+    if not cython.compiled:
+        egg = float(egg)
+    return egg**2
+
+def cpfoo(egg=False):
+    if not cython.compiled:
+        egg = bool(egg)
+        v = int(not egg)
+    else:
+        v = not egg
+    return egg, v
+
 def test_pxd_locals():
     """
-    >>> isinstance(test_pxd_locals(), float)
+    >>> v1, v2, v3 = test_pxd_locals()
+    >>> isinstance(v1, float)
+    True
+    >>> isinstance(v2, float)
     True
+    >>> v3
+    (True, 0)
     """
-    return foo(1)
+    return foo(1), foo_defval(), cpfoo(1)