diff options
author | Armin Rigo <arigo@tunes.org> | 2015-11-18 08:07:19 +0100 |
---|---|---|
committer | Armin Rigo <arigo@tunes.org> | 2015-11-18 08:07:19 +0100 |
commit | 68911d52ddf66bde11b4fcd2474ef1f7f55918f4 (patch) | |
tree | 34e9de2bf6cbe058603508844a2f5a2895ce3c45 /demo | |
parent | 4b095962bdb6bd497fdbd6c80fdce0d14c1f4b78 (diff) | |
download | cffi-68911d52ddf66bde11b4fcd2474ef1f7f55918f4.tar.gz |
Change the docs to use extern "Python" as discussed yesterday on irc
(thanks antocuni)
Diffstat (limited to 'demo')
-rw-r--r-- | demo/cdef_call_python.py | 29 | ||||
-rw-r--r-- | demo/extern_python.py | 26 |
2 files changed, 26 insertions, 29 deletions
diff --git a/demo/cdef_call_python.py b/demo/cdef_call_python.py deleted file mode 100644 index 24f420f..0000000 --- a/demo/cdef_call_python.py +++ /dev/null @@ -1,29 +0,0 @@ -import cffi - -ffi = cffi.FFI() - -ffi.cdef(""" - int add(int x, int y); - CFFI_CALL_PYTHON long mangle(int); -""") - -ffi.set_source("_cdef_call_python_cffi", """ - - static long mangle(int); - - static int add(int x, int y) - { - return mangle(x) + mangle(y); - } -""") - -ffi.compile() - - -from _cdef_call_python_cffi import ffi, lib - -@ffi.call_python("mangle") # optional argument, default to func.__name__ -def mangle(x): - return x * x - -assert lib.add(40, 2) == 1604 diff --git a/demo/extern_python.py b/demo/extern_python.py new file mode 100644 index 0000000..e0ee20d --- /dev/null +++ b/demo/extern_python.py @@ -0,0 +1,26 @@ +import cffi + +ffi = cffi.FFI() + +ffi.cdef("""int my_algo(int); extern "Python" int f(int);""") + +ffi.set_source("_extern_python_cffi", """ + static int f(int); + static int my_algo(int n) { + int i, sum = 0; + for (i = 0; i < n; i++) + sum += f(n); + return sum; + } +""") + +ffi.compile() + + +from _extern_python_cffi import ffi, lib + +@ffi.def_extern() +def f(n): + return n * n + +assert lib.my_algo(10) == 0+1+4+9+16+25+36+49+64+81 |