diff options
Diffstat (limited to 'docs/examples/userguide/numpy_ufuncs')
6 files changed, 44 insertions, 0 deletions
diff --git a/docs/examples/userguide/numpy_ufuncs/ufunc.py b/docs/examples/userguide/numpy_ufuncs/ufunc.py new file mode 100644 index 000000000..874183c84 --- /dev/null +++ b/docs/examples/userguide/numpy_ufuncs/ufunc.py @@ -0,0 +1,8 @@ +# tag: numpy +import cython + +@cython.ufunc +@cython.cfunc +def add_one(x: cython.double) -> cython.double: + # of course, this simple operation can already by done efficiently in Numpy! + return x+1 diff --git a/docs/examples/userguide/numpy_ufuncs/ufunc.pyx b/docs/examples/userguide/numpy_ufuncs/ufunc.pyx new file mode 100644 index 000000000..b29c071e1 --- /dev/null +++ b/docs/examples/userguide/numpy_ufuncs/ufunc.pyx @@ -0,0 +1,8 @@ +# tag: numpy +cimport cython + + +@cython.ufunc +cdef double add_one(double x): + # of course, this simple operation can already by done efficiently in Numpy! + return x+1 diff --git a/docs/examples/userguide/numpy_ufuncs/ufunc_ctuple.py b/docs/examples/userguide/numpy_ufuncs/ufunc_ctuple.py new file mode 100644 index 000000000..b3f4fb6de --- /dev/null +++ b/docs/examples/userguide/numpy_ufuncs/ufunc_ctuple.py @@ -0,0 +1,7 @@ +# tag: numpy +import cython + +@cython.ufunc +@cython.cfunc +def add_one_add_two(x: cython.int) -> tuple[cython.int, cython.int]: + return x+1, x+2 diff --git a/docs/examples/userguide/numpy_ufuncs/ufunc_ctuple.pyx b/docs/examples/userguide/numpy_ufuncs/ufunc_ctuple.pyx new file mode 100644 index 000000000..61127261c --- /dev/null +++ b/docs/examples/userguide/numpy_ufuncs/ufunc_ctuple.pyx @@ -0,0 +1,7 @@ +# tag: numpy +cimport cython + + +@cython.ufunc +cdef (int, int) add_one_add_two(int x): + return x+1, x+2 diff --git a/docs/examples/userguide/numpy_ufuncs/ufunc_fused.py b/docs/examples/userguide/numpy_ufuncs/ufunc_fused.py new file mode 100644 index 000000000..01cc3bc57 --- /dev/null +++ b/docs/examples/userguide/numpy_ufuncs/ufunc_fused.py @@ -0,0 +1,7 @@ +# tag: numpy +import cython + +@cython.ufunc +@cython.cfunc +def generic_add_one(x: cython.numeric) -> cython.numeric: + return x+1 diff --git a/docs/examples/userguide/numpy_ufuncs/ufunc_fused.pyx b/docs/examples/userguide/numpy_ufuncs/ufunc_fused.pyx new file mode 100644 index 000000000..3baf58136 --- /dev/null +++ b/docs/examples/userguide/numpy_ufuncs/ufunc_fused.pyx @@ -0,0 +1,7 @@ +# tag: numpy +cimport cython + + +@cython.ufunc +cdef cython.numeric generic_add_one(cython.numeric x): + return x+1 |