Blame tests/run/cpdef_optargs_pure.py
|
Packit Service |
99d393 |
# mode: run
|
|
Packit Service |
99d393 |
# tag: cyfunction
|
|
Packit Service |
99d393 |
# cython: binding=True
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
import cython
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
class PyClass(object):
|
|
Packit Service |
99d393 |
a = 2
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
class PyClass99(object):
|
|
Packit Service |
99d393 |
a = 99
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def pymethod(self, x, y=1, z=PyClass):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> obj = PyClass99()
|
|
Packit Service |
99d393 |
>>> obj.pymethod(0)
|
|
Packit Service |
99d393 |
(0, 1, 2)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return x, y, z.a
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def func(x, y=1, z=PyClass):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> func(0)
|
|
Packit Service |
99d393 |
(0, 1, 2)
|
|
Packit Service |
99d393 |
>>> func(0, 3)
|
|
Packit Service |
99d393 |
(0, 3, 2)
|
|
Packit Service |
99d393 |
>>> func(0, 3, PyClass)
|
|
Packit Service |
99d393 |
(0, 3, 2)
|
|
Packit Service |
99d393 |
>>> func(0, 3, 5)
|
|
Packit Service |
99d393 |
Traceback (most recent call last):
|
|
Packit Service |
99d393 |
AttributeError: 'int' object has no attribute 'a'
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return x, y, z.a
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.ccall
|
|
Packit Service |
99d393 |
def pyfunc(x, y=1, z=PyClass):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> pyfunc(0)
|
|
Packit Service |
99d393 |
(0, 1, 2)
|
|
Packit Service |
99d393 |
>>> pyfunc(0, 3)
|
|
Packit Service |
99d393 |
(0, 3, 2)
|
|
Packit Service |
99d393 |
>>> pyfunc(0, 3, PyClass)
|
|
Packit Service |
99d393 |
(0, 3, 2)
|
|
Packit Service |
99d393 |
>>> pyfunc(0, 3, 5)
|
|
Packit Service |
99d393 |
Traceback (most recent call last):
|
|
Packit Service |
99d393 |
AttributeError: 'int' object has no attribute 'a'
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return x, y, z.a
|