|
Packit Service |
99d393 |
# cython: binding=True, language_level=3
|
|
Packit Service |
99d393 |
# mode: run
|
|
Packit Service |
99d393 |
# tag: cyfunction
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
import inspect
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
try:
|
|
Packit Service |
99d393 |
sig = inspect.Signature.from_callable
|
|
Packit Service |
99d393 |
except AttributeError:
|
|
Packit Service |
99d393 |
sig = inspect.Signature.from_function
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def signatures_match(f1, f2):
|
|
Packit Service |
99d393 |
if sig(f1) == sig(f2):
|
|
Packit Service |
99d393 |
return None # nothing to show in doctest
|
|
Packit Service |
99d393 |
return sig(f1), sig(f2)
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def b(a, b, c):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_b(a, b, c): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(b, py_b)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def c(a, b, c=1):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_c(a, b, c=1): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(c, py_c)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def d(a, b, *, c = 88):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_d(a, b, *, c = 88): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(d, py_d)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def e(a, b, c = 88, **kwds):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_e(a, b, c = 88, **kwds): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(e, py_e)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def f(a, b, *, c, d = 42):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_f(a, b, *, c, d = 42): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(f, py_f)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def g(a, b, *, c, d = 42, e = 17, f, **kwds):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_g(a, b, *, c, d = 42, e = 17, f, **kwds): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(g, py_g)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def h(a, b, *args, c, d = 42, e = 17, f, **kwds):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_h(a, b, *args, c, d = 42, e = 17, f, **kwds): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(h, py_h)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def k(a, b, c=1, *args, d = 42, e = 17, f, **kwds):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_k(a, b, c=1, *args, d = 42, e = 17, f, **kwds): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(k, py_k)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def l(*, a, b, c = 88):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_l(*, a, b, c = 88): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(l, py_l)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def m(a, *, b, c = 88):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_m(a, *, b, c = 88): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(m, py_m)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
a, b, c = b, c, a
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
def n(a, *, b, c = 88):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_n(a, *, b, c = 88): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(n, py_n)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
cpdef cp1(a, b):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_cp1(a, b): pass
|
|
Packit Service |
99d393 |
>>> signatures_match(cp1, py_cp1)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
# Currently broken, see GH #1864
|
|
Packit Service |
99d393 |
cpdef cp2(a, b=True):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_cp2(a, b=True): pass
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
#>>> signatures_match(cp2, py_cp2)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
# Currently broken, see GH #1864
|
|
Packit Service |
99d393 |
cpdef cp3(a=1, b=True):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> def py_cp3(a=1, b=True): pass
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
#>>> signatures_match(cp3, py_cp3)
|
|
Packit Service |
99d393 |
"""
|