aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes
diff options
context:
space:
mode:
authorAnton Samokhvalov <pg83@yandex.ru>2022-02-10 16:45:15 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:15 +0300
commit72cb13b4aff9bc9cf22e49251bc8fd143f82538f (patch)
treeda2c34829458c7d4e74bdfbdf85dff449e9e7fb8 /contrib/tools/cython/Cython/Includes
parent778e51ba091dc39e7b7fcab2b9cf4dbedfb6f2b5 (diff)
downloadydb-72cb13b4aff9bc9cf22e49251bc8fd143f82538f.tar.gz
Restoring authorship annotation for Anton Samokhvalov <pg83@yandex.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/tools/cython/Cython/Includes')
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_bool.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_buffer.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_bytes.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_cobject.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_complex.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_dict.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_exc.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_float.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_function.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_getargs.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_instance.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_int.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_iterator.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_list.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_long.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_mapping.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_mem.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_method.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_module.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_number.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_object.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_oldbuffer.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_pycapsule.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_ref.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_sequence.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_set.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_string.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_tuple.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_type.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_unicode.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_version.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/python_weakref.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/stdio.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/stdlib.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/Deprecated/stl.pxd182
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/__init__.pxd364
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/array.pxd270
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/bool.pxd76
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/buffer.pxd216
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/bytes.pxd394
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/cobject.pxd72
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/complex.pxd100
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/datetime.pxd410
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/dict.pxd322
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/exc.pxd496
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/float.pxd78
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/function.pxd128
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/getargs.pxd24
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/instance.pxd50
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/int.pxd158
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/iterator.pxd72
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/list.pxd182
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/long.pxd226
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/mapping.pxd128
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/mem.pxd150
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/method.pxd94
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/module.pxd334
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/number.pxd500
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/object.pxd574
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/oldbuffer.pxd126
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/pycapsule.pxd276
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/pystate.pxd168
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/pythread.pxd74
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/ref.pxd98
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/sequence.pxd270
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/set.pxd226
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/string.pxd394
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/tuple.pxd138
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/type.pxd96
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/unicode.pxd706
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/version.pxd64
-rw-r--r--contrib/tools/cython/Cython/Includes/cpython/weakref.pxd80
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/__init__.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/errno.pxd252
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/float.pxd26
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/limits.pxd16
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/locale.pxd90
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/math.pxd158
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/setjmp.pxd8
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/signal.pxd28
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/stddef.pxd16
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/stdint.pxd202
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/stdio.pxd158
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/stdlib.pxd142
-rw-r--r--contrib/tools/cython/Cython/Includes/libc/string.pxd98
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/__init__.pxd4
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/algorithm.pxd24
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/cast.pxd22
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/complex.pxd146
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/deque.pxd102
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/list.pxd120
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/map.pxd86
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/pair.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/queue.pxd40
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/set.pxd82
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/stack.pxd20
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/string.pxd88
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/unordered_map.pxd90
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/unordered_set.pxd88
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/utility.pxd26
-rw-r--r--contrib/tools/cython/Cython/Includes/libcpp/vector.pxd86
-rw-r--r--contrib/tools/cython/Cython/Includes/numpy.pxd1812
-rw-r--r--contrib/tools/cython/Cython/Includes/numpy/__init__.pxd1818
-rw-r--r--contrib/tools/cython/Cython/Includes/numpy/math.pxd232
-rw-r--r--contrib/tools/cython/Cython/Includes/openmp.pxd100
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/__init__.pxd2
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/fcntl.pxd132
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/ioctl.pxd6
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/resource.pxd106
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/signal.pxd122
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/stat.pxd128
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/stdlib.pxd56
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/time.pxd92
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/types.pxd28
-rw-r--r--contrib/tools/cython/Cython/Includes/posix/unistd.pxd540
116 files changed, 7891 insertions, 7891 deletions
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python.pxd
index 56236e925c..4b61e4e1b7 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython cimport *
+from cpython cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_bool.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_bool.pxd
index 9a6d253f45..9a2ef489ee 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_bool.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_bool.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.bool cimport *
+from cpython.bool cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_buffer.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_buffer.pxd
index 2baeaae00c..21fb0931cd 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_buffer.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_buffer.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.buffer cimport *
+from cpython.buffer cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_bytes.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_bytes.pxd
index 87af662de0..e9d0b5e328 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_bytes.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_bytes.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.bytes cimport *
+from cpython.bytes cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_cobject.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_cobject.pxd
index ed32c6b878..5835605aa4 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_cobject.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_cobject.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.cobject cimport *
+from cpython.cobject cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_complex.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_complex.pxd
index 0a780b3b2d..311c8197a6 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_complex.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_complex.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.complex cimport *
+from cpython.complex cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_dict.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_dict.pxd
index 05b5f4796a..3a96b37765 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_dict.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_dict.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.dict cimport *
+from cpython.dict cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_exc.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_exc.pxd
index 6eb236bccb..4be358ce54 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_exc.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_exc.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.exc cimport *
+from cpython.exc cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_float.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_float.pxd
index 7e133ef9bb..e55f078a25 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_float.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_float.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.float cimport *
+from cpython.float cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_function.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_function.pxd
index 1461c4e635..5c05e1f02d 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_function.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_function.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.function cimport *
+from cpython.function cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_getargs.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_getargs.pxd
index 3852d6a6a1..d9a9f9c152 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_getargs.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_getargs.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.getargs cimport *
+from cpython.getargs cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_instance.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_instance.pxd
index 99cb5a9091..b773d59ff7 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_instance.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_instance.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.instance cimport *
+from cpython.instance cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_int.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_int.pxd
index c1fd5178d6..daaa8b3bef 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_int.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_int.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.int cimport *
+from cpython.int cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_iterator.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_iterator.pxd
index e09aad2790..8ba3d874d7 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_iterator.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_iterator.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.iterator cimport *
+from cpython.iterator cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_list.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_list.pxd
index 64febcf969..53ea6059bd 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_list.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_list.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.list cimport *
+from cpython.list cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_long.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_long.pxd
index 1a24380c4c..380a7797ed 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_long.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_long.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.long cimport *
+from cpython.long cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_mapping.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_mapping.pxd
index cd01bee015..bbd90d0e2a 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_mapping.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_mapping.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.mapping cimport *
+from cpython.mapping cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_mem.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_mem.pxd
index d74429ea36..8d824ff83b 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_mem.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_mem.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.mem cimport *
+from cpython.mem cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_method.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_method.pxd
index e7da5154e4..459efdd4b3 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_method.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_method.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.method cimport *
+from cpython.method cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_module.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_module.pxd
index 6310c0247d..ab80a90a37 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_module.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_module.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.module cimport *
+from cpython.module cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_number.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_number.pxd
index ae67da1c38..0059334465 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_number.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_number.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.number cimport *
+from cpython.number cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_object.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_object.pxd
index 3981bfa44e..dc2ff781fd 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_object.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_object.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.object cimport *
+from cpython.object cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_oldbuffer.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_oldbuffer.pxd
index e03e66a2e2..39ee152109 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_oldbuffer.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_oldbuffer.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.oldbuffer cimport *
+from cpython.oldbuffer cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_pycapsule.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_pycapsule.pxd
index fe9cf8f8d9..372ad3aef5 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_pycapsule.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_pycapsule.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.pycapsule cimport *
+from cpython.pycapsule cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_ref.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_ref.pxd
index 9447418198..93655dd49b 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_ref.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_ref.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.ref cimport *
+from cpython.ref cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_sequence.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_sequence.pxd
index fdef5b63eb..2e454ec562 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_sequence.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_sequence.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.sequence cimport *
+from cpython.sequence cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_set.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_set.pxd
index a2feb93712..b85bc28301 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_set.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_set.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.set cimport *
+from cpython.set cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_string.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_string.pxd
index 24c818338e..34d159b0a8 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_string.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_string.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.string cimport *
+from cpython.string cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_tuple.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_tuple.pxd
index 190713b020..9fd5afdb2a 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_tuple.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_tuple.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.tuple cimport *
+from cpython.tuple cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_type.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_type.pxd
index 3ac47d1b3f..8d69ae3ad5 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_type.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_type.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.type cimport *
+from cpython.type cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_unicode.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_unicode.pxd
index 2b488b2dc8..db8f07b70b 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_unicode.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_unicode.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.unicode cimport *
+from cpython.unicode cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_version.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_version.pxd
index c27ca4df95..bf30d7a525 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_version.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_version.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.version cimport *
+from cpython.version cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/python_weakref.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/python_weakref.pxd
index 1f84f1a179..c234efa18b 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/python_weakref.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/python_weakref.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from cpython.weakref cimport *
+from cpython.weakref cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/stdio.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/stdio.pxd
index 41a4aebf1d..ebc4fc8bea 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/stdio.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/stdio.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from libc.stdio cimport *
+from libc.stdio cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/stdlib.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/stdlib.pxd
index 499511cde9..9f8d1c65ff 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/stdlib.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/stdlib.pxd
@@ -1,2 +1,2 @@
# Present for backwards compatibility
-from libc.stdlib cimport *
+from libc.stdlib cimport *
diff --git a/contrib/tools/cython/Cython/Includes/Deprecated/stl.pxd b/contrib/tools/cython/Cython/Includes/Deprecated/stl.pxd
index 22248d2655..b387c9a6c9 100644
--- a/contrib/tools/cython/Cython/Includes/Deprecated/stl.pxd
+++ b/contrib/tools/cython/Cython/Includes/Deprecated/stl.pxd
@@ -1,91 +1,91 @@
-cdef extern from "<vector>" namespace std:
-
- cdef cppclass vector[TYPE]:
- #constructors
- __init__()
- __init__(vector&)
- __init__(int)
- __init__(int, TYPE&)
- __init__(iterator, iterator)
- #operators
- TYPE& __getitem__(int)
- TYPE& __setitem__(int, TYPE&)
- vector __new__(vector&)
- bool __eq__(vector&, vector&)
- bool __ne__(vector&, vector&)
- bool __lt__(vector&, vector&)
- bool __gt__(vector&, vector&)
- bool __le__(vector&, vector&)
- bool __ge__(vector&, vector&)
- #others
- void assign(int, TYPE)
- #void assign(iterator, iterator)
- TYPE& at(int)
- TYPE& back()
- iterator begin()
- int capacity()
- void clear()
- bool empty()
- iterator end()
- iterator erase(iterator)
- iterator erase(iterator, iterator)
- TYPE& front()
- iterator insert(iterator, TYPE&)
- void insert(iterator, int, TYPE&)
- void insert(iterator, iterator)
- int max_size()
- void pop_back()
- void push_back(TYPE&)
- iterator rbegin()
- iterator rend()
- void reserve(int)
- void resize(int)
- void resize(int, TYPE&) #void resize(size_type num, const TYPE& = TYPE())
- int size()
- void swap(container&)
-
-cdef extern from "<deque>" namespace std:
-
- cdef cppclass deque[TYPE]:
- #constructors
- __init__()
- __init__(deque&)
- __init__(int)
- __init__(int, TYPE&)
- __init__(iterator, iterator)
- #operators
- TYPE& operator[]( size_type index );
- const TYPE& operator[]( size_type index ) const;
- deque __new__(deque&);
- bool __eq__(deque&, deque&);
- bool __ne__(deque&, deque&);
- bool __lt__(deque&, deque&);
- bool __gt__(deque&, deque&);
- bool __le__(deque&, deque&);
- bool __ge__(deque&, deque&);
- #others
- void assign(int, TYPE&)
- void assign(iterator, iterator)
- TYPE& at(int)
- TYPE& back()
- iterator begin()
- void clear()
- bool empty()
- iterator end()
- iterator erase(iterator)
- iterator erase(iterator, iterator)
- TYPE& front()
- iterator insert(iterator, TYPE&)
- void insert(iterator, int, TYPE&)
- void insert(iterator, iterator, iterator)
- int max_size()
- void pop_back()
- void pop_front()
- void push_back(TYPE&)
- void push_front(TYPE&)
- iterator rbegin()
- iterator rend()
- void resize(int)
- void resize(int, TYPE&)
- int size()
- void swap(container&)
+cdef extern from "<vector>" namespace std:
+
+ cdef cppclass vector[TYPE]:
+ #constructors
+ __init__()
+ __init__(vector&)
+ __init__(int)
+ __init__(int, TYPE&)
+ __init__(iterator, iterator)
+ #operators
+ TYPE& __getitem__(int)
+ TYPE& __setitem__(int, TYPE&)
+ vector __new__(vector&)
+ bool __eq__(vector&, vector&)
+ bool __ne__(vector&, vector&)
+ bool __lt__(vector&, vector&)
+ bool __gt__(vector&, vector&)
+ bool __le__(vector&, vector&)
+ bool __ge__(vector&, vector&)
+ #others
+ void assign(int, TYPE)
+ #void assign(iterator, iterator)
+ TYPE& at(int)
+ TYPE& back()
+ iterator begin()
+ int capacity()
+ void clear()
+ bool empty()
+ iterator end()
+ iterator erase(iterator)
+ iterator erase(iterator, iterator)
+ TYPE& front()
+ iterator insert(iterator, TYPE&)
+ void insert(iterator, int, TYPE&)
+ void insert(iterator, iterator)
+ int max_size()
+ void pop_back()
+ void push_back(TYPE&)
+ iterator rbegin()
+ iterator rend()
+ void reserve(int)
+ void resize(int)
+ void resize(int, TYPE&) #void resize(size_type num, const TYPE& = TYPE())
+ int size()
+ void swap(container&)
+
+cdef extern from "<deque>" namespace std:
+
+ cdef cppclass deque[TYPE]:
+ #constructors
+ __init__()
+ __init__(deque&)
+ __init__(int)
+ __init__(int, TYPE&)
+ __init__(iterator, iterator)
+ #operators
+ TYPE& operator[]( size_type index );
+ const TYPE& operator[]( size_type index ) const;
+ deque __new__(deque&);
+ bool __eq__(deque&, deque&);
+ bool __ne__(deque&, deque&);
+ bool __lt__(deque&, deque&);
+ bool __gt__(deque&, deque&);
+ bool __le__(deque&, deque&);
+ bool __ge__(deque&, deque&);
+ #others
+ void assign(int, TYPE&)
+ void assign(iterator, iterator)
+ TYPE& at(int)
+ TYPE& back()
+ iterator begin()
+ void clear()
+ bool empty()
+ iterator end()
+ iterator erase(iterator)
+ iterator erase(iterator, iterator)
+ TYPE& front()
+ iterator insert(iterator, TYPE&)
+ void insert(iterator, int, TYPE&)
+ void insert(iterator, iterator, iterator)
+ int max_size()
+ void pop_back()
+ void pop_front()
+ void push_back(TYPE&)
+ void push_front(TYPE&)
+ iterator rbegin()
+ iterator rend()
+ void resize(int)
+ void resize(int, TYPE&)
+ int size()
+ void swap(container&)
diff --git a/contrib/tools/cython/Cython/Includes/cpython/__init__.pxd b/contrib/tools/cython/Cython/Includes/cpython/__init__.pxd
index c81f4e6655..c049ca39fe 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/__init__.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/__init__.pxd
@@ -1,184 +1,184 @@
-#####################################################################
-#
-# These are the Cython pxd files for (most of) the Python/C API.
-#
-# REFERENCE COUNTING:
-#
-# JUST TO SCARE YOU:
-# If you are going to use any of the Python/C API in your Cython
-# program, you might be responsible for doing reference counting.
-# Read http://docs.python.org/api/refcounts.html which is so
-# important I've copied it below.
-#
+#####################################################################
+#
+# These are the Cython pxd files for (most of) the Python/C API.
+#
+# REFERENCE COUNTING:
+#
+# JUST TO SCARE YOU:
+# If you are going to use any of the Python/C API in your Cython
+# program, you might be responsible for doing reference counting.
+# Read http://docs.python.org/api/refcounts.html which is so
+# important I've copied it below.
+#
# For all the declaration below, whenever the Py_ function returns
-# a *new reference* to a PyObject*, the return type is "object".
-# When the function returns a borrowed reference, the return
-# type is PyObject*. When Cython sees "object" as a return type
-# it doesn't increment the reference count. When it sees PyObject*
-# in order to use the result you must explicitly cast to <object>,
+# a *new reference* to a PyObject*, the return type is "object".
+# When the function returns a borrowed reference, the return
+# type is PyObject*. When Cython sees "object" as a return type
+# it doesn't increment the reference count. When it sees PyObject*
+# in order to use the result you must explicitly cast to <object>,
# and when you do that Cython increments the reference count whether
-# you want it to or not, forcing you to an explicit DECREF (or leak memory).
-# To avoid this we make the above convention. Note, you can
-# always locally override this convention by putting something like
-#
-# cdef extern from "Python.h":
-# PyObject* PyNumber_Add(PyObject *o1, PyObject *o2)
-#
-# in your .pyx file or into a cimported .pxd file. You just have to
-# use the one from the right (pxd-)namespace then.
-#
-# Cython automatically takes care of reference counting for anything
-# of type object.
-#
-## More precisely, I think the correct convention for
-## using the Python/C API from Cython is as follows.
-##
-## (1) Declare all input arguments as type "object". This way no explicit
-## <PyObject*> casting is needed, and moreover Cython doesn't generate
-## any funny reference counting.
-## (2) Declare output as object if a new reference is returned.
-## (3) Declare output as PyObject* if a borrowed reference is returned.
-##
-## This way when you call objects, no cast is needed, and if the api
-## calls returns a new reference (which is about 95% of them), then
-## you can just assign to a variable of type object. With borrowed
-## references if you do an explicit typecast to <object>, Cython generates an
-## INCREF and DECREF so you have to be careful. However, you got a
-## borrowed reference in this case, so there's got to be another reference
-## to your object, so you're OK, as long as you relealize this
-## and use the result of an explicit cast to <object> as a borrowed
-## reference (and you can call Py_INCREF if you want to turn it
-## into another reference for some reason).
-#
-# "The reference count is important because today's computers have
-# a finite (and often severely limited) memory size; it counts how
-# many different places there are that have a reference to an
-# object. Such a place could be another object, or a global (or
-# static) C variable, or a local variable in some C function. When
-# an object's reference count becomes zero, the object is
-# deallocated. If it contains references to other objects, their
-# reference count is decremented. Those other objects may be
-# deallocated in turn, if this decrement makes their reference
-# count become zero, and so on. (There's an obvious problem with
-# objects that reference each other here; for now, the solution is
-# ``don't do that.'')
-#
-# Reference counts are always manipulated explicitly. The normal
-# way is to use the macro Py_INCREF() to increment an object's
-# reference count by one, and Py_DECREF() to decrement it by
-# one. The Py_DECREF() macro is considerably more complex than the
-# incref one, since it must check whether the reference count
-# becomes zero and then cause the object's deallocator to be
-# called. The deallocator is a function pointer contained in the
-# object's type structure. The type-specific deallocator takes
-# care of decrementing the reference counts for other objects
-# contained in the object if this is a compound object type, such
-# as a list, as well as performing any additional finalization
-# that's needed. There's no chance that the reference count can
-# overflow; at least as many bits are used to hold the reference
-# count as there are distinct memory locations in virtual memory
-# (assuming sizeof(long) >= sizeof(char*)). Thus, the reference
-# count increment is a simple operation.
-#
-# It is not necessary to increment an object's reference count for
-# every local variable that contains a pointer to an object. In
-# theory, the object's reference count goes up by one when the
-# variable is made to point to it and it goes down by one when the
-# variable goes out of scope. However, these two cancel each other
-# out, so at the end the reference count hasn't changed. The only
-# real reason to use the reference count is to prevent the object
-# from being deallocated as long as our variable is pointing to
-# it. If we know that there is at least one other reference to the
-# object that lives at least as long as our variable, there is no
-# need to increment the reference count temporarily. An important
-# situation where this arises is in objects that are passed as
-# arguments to C functions in an extension module that are called
-# from Python; the call mechanism guarantees to hold a reference
-# to every argument for the duration of the call.
-#
-# However, a common pitfall is to extract an object from a list
-# and hold on to it for a while without incrementing its reference
-# count. Some other operation might conceivably remove the object
-# from the list, decrementing its reference count and possible
-# deallocating it. The real danger is that innocent-looking
-# operations may invoke arbitrary Python code which could do this;
-# there is a code path which allows control to flow back to the
-# user from a Py_DECREF(), so almost any operation is potentially
-# dangerous.
-#
-# A safe approach is to always use the generic operations
-# (functions whose name begins with "PyObject_", "PyNumber_",
-# "PySequence_" or "PyMapping_"). These operations always
-# increment the reference count of the object they return. This
-# leaves the caller with the responsibility to call Py_DECREF()
-# when they are done with the result; this soon becomes second
-# nature.
-#
-# Now you should read http://docs.python.org/api/refcountDetails.html
-# just to be sure you understand what is going on.
-#
-#################################################################
-
-
-
-#################################################################
-# BIG FAT DEPRECATION WARNING
-#################################################################
-# Do NOT cimport any names directly from the cpython package,
-# despite of the star-imports below. They will be removed at
-# some point.
-# Instead, use the correct sub-module to draw your cimports from.
-#
-# A direct cimport from the package will make your code depend on
-# all of the existing declarations. This may have side-effects
-# and reduces the portability of your code.
-#################################################################
-# START OF DEPRECATED SECTION
-#################################################################
-
-from cpython.version cimport *
-from cpython.ref cimport *
-from cpython.exc cimport *
-from cpython.module cimport *
-from cpython.mem cimport *
-from cpython.tuple cimport *
-from cpython.list cimport *
-from cpython.object cimport *
-from cpython.sequence cimport *
-from cpython.mapping cimport *
-from cpython.iterator cimport *
-from cpython.type cimport *
-from cpython.number cimport *
-from cpython.int cimport *
-from cpython.bool cimport *
-from cpython.long cimport *
-from cpython.float cimport *
-from cpython.complex cimport *
-from cpython.string cimport *
-from cpython.unicode cimport *
-from cpython.dict cimport *
-from cpython.instance cimport *
-from cpython.function cimport *
-from cpython.method cimport *
-from cpython.weakref cimport *
-from cpython.getargs cimport *
-from cpython.pythread cimport *
-from cpython.pystate cimport *
-
-# Python <= 2.x
-from cpython.cobject cimport *
-from cpython.oldbuffer cimport *
-
-# Python >= 2.4
-from cpython.set cimport *
-
-# Python >= 2.6
-from cpython.buffer cimport *
-from cpython.bytes cimport *
-
-# Python >= 3.0
-from cpython.pycapsule cimport *
-
-#################################################################
-# END OF DEPRECATED SECTION
-#################################################################
+# you want it to or not, forcing you to an explicit DECREF (or leak memory).
+# To avoid this we make the above convention. Note, you can
+# always locally override this convention by putting something like
+#
+# cdef extern from "Python.h":
+# PyObject* PyNumber_Add(PyObject *o1, PyObject *o2)
+#
+# in your .pyx file or into a cimported .pxd file. You just have to
+# use the one from the right (pxd-)namespace then.
+#
+# Cython automatically takes care of reference counting for anything
+# of type object.
+#
+## More precisely, I think the correct convention for
+## using the Python/C API from Cython is as follows.
+##
+## (1) Declare all input arguments as type "object". This way no explicit
+## <PyObject*> casting is needed, and moreover Cython doesn't generate
+## any funny reference counting.
+## (2) Declare output as object if a new reference is returned.
+## (3) Declare output as PyObject* if a borrowed reference is returned.
+##
+## This way when you call objects, no cast is needed, and if the api
+## calls returns a new reference (which is about 95% of them), then
+## you can just assign to a variable of type object. With borrowed
+## references if you do an explicit typecast to <object>, Cython generates an
+## INCREF and DECREF so you have to be careful. However, you got a
+## borrowed reference in this case, so there's got to be another reference
+## to your object, so you're OK, as long as you relealize this
+## and use the result of an explicit cast to <object> as a borrowed
+## reference (and you can call Py_INCREF if you want to turn it
+## into another reference for some reason).
+#
+# "The reference count is important because today's computers have
+# a finite (and often severely limited) memory size; it counts how
+# many different places there are that have a reference to an
+# object. Such a place could be another object, or a global (or
+# static) C variable, or a local variable in some C function. When
+# an object's reference count becomes zero, the object is
+# deallocated. If it contains references to other objects, their
+# reference count is decremented. Those other objects may be
+# deallocated in turn, if this decrement makes their reference
+# count become zero, and so on. (There's an obvious problem with
+# objects that reference each other here; for now, the solution is
+# ``don't do that.'')
+#
+# Reference counts are always manipulated explicitly. The normal
+# way is to use the macro Py_INCREF() to increment an object's
+# reference count by one, and Py_DECREF() to decrement it by
+# one. The Py_DECREF() macro is considerably more complex than the
+# incref one, since it must check whether the reference count
+# becomes zero and then cause the object's deallocator to be
+# called. The deallocator is a function pointer contained in the
+# object's type structure. The type-specific deallocator takes
+# care of decrementing the reference counts for other objects
+# contained in the object if this is a compound object type, such
+# as a list, as well as performing any additional finalization
+# that's needed. There's no chance that the reference count can
+# overflow; at least as many bits are used to hold the reference
+# count as there are distinct memory locations in virtual memory
+# (assuming sizeof(long) >= sizeof(char*)). Thus, the reference
+# count increment is a simple operation.
+#
+# It is not necessary to increment an object's reference count for
+# every local variable that contains a pointer to an object. In
+# theory, the object's reference count goes up by one when the
+# variable is made to point to it and it goes down by one when the
+# variable goes out of scope. However, these two cancel each other
+# out, so at the end the reference count hasn't changed. The only
+# real reason to use the reference count is to prevent the object
+# from being deallocated as long as our variable is pointing to
+# it. If we know that there is at least one other reference to the
+# object that lives at least as long as our variable, there is no
+# need to increment the reference count temporarily. An important
+# situation where this arises is in objects that are passed as
+# arguments to C functions in an extension module that are called
+# from Python; the call mechanism guarantees to hold a reference
+# to every argument for the duration of the call.
+#
+# However, a common pitfall is to extract an object from a list
+# and hold on to it for a while without incrementing its reference
+# count. Some other operation might conceivably remove the object
+# from the list, decrementing its reference count and possible
+# deallocating it. The real danger is that innocent-looking
+# operations may invoke arbitrary Python code which could do this;
+# there is a code path which allows control to flow back to the
+# user from a Py_DECREF(), so almost any operation is potentially
+# dangerous.
+#
+# A safe approach is to always use the generic operations
+# (functions whose name begins with "PyObject_", "PyNumber_",
+# "PySequence_" or "PyMapping_"). These operations always
+# increment the reference count of the object they return. This
+# leaves the caller with the responsibility to call Py_DECREF()
+# when they are done with the result; this soon becomes second
+# nature.
+#
+# Now you should read http://docs.python.org/api/refcountDetails.html
+# just to be sure you understand what is going on.
+#
+#################################################################
+
+
+
+#################################################################
+# BIG FAT DEPRECATION WARNING
+#################################################################
+# Do NOT cimport any names directly from the cpython package,
+# despite of the star-imports below. They will be removed at
+# some point.
+# Instead, use the correct sub-module to draw your cimports from.
+#
+# A direct cimport from the package will make your code depend on
+# all of the existing declarations. This may have side-effects
+# and reduces the portability of your code.
+#################################################################
+# START OF DEPRECATED SECTION
+#################################################################
+
+from cpython.version cimport *
+from cpython.ref cimport *
+from cpython.exc cimport *
+from cpython.module cimport *
+from cpython.mem cimport *
+from cpython.tuple cimport *
+from cpython.list cimport *
+from cpython.object cimport *
+from cpython.sequence cimport *
+from cpython.mapping cimport *
+from cpython.iterator cimport *
+from cpython.type cimport *
+from cpython.number cimport *
+from cpython.int cimport *
+from cpython.bool cimport *
+from cpython.long cimport *
+from cpython.float cimport *
+from cpython.complex cimport *
+from cpython.string cimport *
+from cpython.unicode cimport *
+from cpython.dict cimport *
+from cpython.instance cimport *
+from cpython.function cimport *
+from cpython.method cimport *
+from cpython.weakref cimport *
+from cpython.getargs cimport *
+from cpython.pythread cimport *
+from cpython.pystate cimport *
+
+# Python <= 2.x
+from cpython.cobject cimport *
+from cpython.oldbuffer cimport *
+
+# Python >= 2.4
+from cpython.set cimport *
+
+# Python >= 2.6
+from cpython.buffer cimport *
+from cpython.bytes cimport *
+
+# Python >= 3.0
+from cpython.pycapsule cimport *
+
+#################################################################
+# END OF DEPRECATED SECTION
+#################################################################
diff --git a/contrib/tools/cython/Cython/Includes/cpython/array.pxd b/contrib/tools/cython/Cython/Includes/cpython/array.pxd
index 19230a0a82..f5865c65e3 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/array.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/array.pxd
@@ -1,163 +1,163 @@
-"""
- array.pxd
+"""
+ array.pxd
- Cython interface to Python's array.array module.
+ Cython interface to Python's array.array module.
- * 1D contiguous data view
- * tools for fast array creation, maximum C-speed and handiness
- * suitable as allround light weight auto-array within Cython code too
+ * 1D contiguous data view
+ * tools for fast array creation, maximum C-speed and handiness
+ * suitable as allround light weight auto-array within Cython code too
- Usage:
-
- >>> cimport array
+ Usage:
+ >>> cimport array
+
Usage through Cython buffer interface (Py2.3+):
- >>> def f(arg1, unsigned i, double dx)
- ... array.array[double] a = arg1
- ... a[i] += dx
+ >>> def f(arg1, unsigned i, double dx)
+ ... array.array[double] a = arg1
+ ... a[i] += dx
- Fast C-level new_array(_zeros), resize_array, copy_array, Py_SIZE(obj),
- zero_array
+ Fast C-level new_array(_zeros), resize_array, copy_array, Py_SIZE(obj),
+ zero_array
cdef array.array[double] k = array.copy(d)
- cdef array.array[double] n = array.array(d, Py_SIZE(d) * 2 )
- cdef array.array[double] m = array.zeros_like(FLOAT_TEMPLATE)
- array.resize(f, 200000)
+ cdef array.array[double] n = array.array(d, Py_SIZE(d) * 2 )
+ cdef array.array[double] m = array.zeros_like(FLOAT_TEMPLATE)
+ array.resize(f, 200000)
Zero overhead with naked data pointer views by union:
_f, _d, _i, _c, _u, ...
- => Original C array speed + Python dynamic memory management
-
- cdef array.array a = inarray
+ => Original C array speed + Python dynamic memory management
+
+ cdef array.array a = inarray
if
- a._d[2] += 0.66 # use as double array without extra casting
+ a._d[2] += 0.66 # use as double array without extra casting
- float *subview = vector._f + 10 # starting from 10th element
+ float *subview = vector._f + 10 # starting from 10th element
unsigned char *subview_buffer = vector._B + 4
Suitable as lightweight arrays intra Cython without speed penalty.
Replacement for C stack/malloc arrays; no trouble with refcounting,
- mem.leaks; seamless Python compatibility, buffer() optional
-
-
- last changes: 2009-05-15 rk
- : 2009-12-06 bp
- : 2012-05-02 andreasvc
- : (see revision control)
-"""
-from libc.string cimport strcat, strncat, \
- memset, memchr, memcmp, memcpy, memmove
-
-from cpython.object cimport Py_SIZE
-from cpython.ref cimport PyTypeObject, Py_TYPE
-from cpython.exc cimport PyErr_BadArgument
+ mem.leaks; seamless Python compatibility, buffer() optional
+
+
+ last changes: 2009-05-15 rk
+ : 2009-12-06 bp
+ : 2012-05-02 andreasvc
+ : (see revision control)
+"""
+from libc.string cimport strcat, strncat, \
+ memset, memchr, memcmp, memcpy, memmove
+
+from cpython.object cimport Py_SIZE
+from cpython.ref cimport PyTypeObject, Py_TYPE
+from cpython.exc cimport PyErr_BadArgument
from cpython.mem cimport PyObject_Malloc, PyObject_Free
-
-cdef extern from *: # Hard-coded utility code hack.
- ctypedef class array.array [object arrayobject]
- ctypedef object GETF(array a, Py_ssize_t ix)
- ctypedef object SETF(array a, Py_ssize_t ix, object o)
- ctypedef struct arraydescr: # [object arraydescr]:
+
+cdef extern from *: # Hard-coded utility code hack.
+ ctypedef class array.array [object arrayobject]
+ ctypedef object GETF(array a, Py_ssize_t ix)
+ ctypedef object SETF(array a, Py_ssize_t ix, object o)
+ ctypedef struct arraydescr: # [object arraydescr]:
char typecode
- int itemsize
- GETF getitem # PyObject * (*getitem)(struct arrayobject *, Py_ssize_t);
- SETF setitem # int (*setitem)(struct arrayobject *, Py_ssize_t, PyObject *);
-
- ctypedef union __data_union:
- # views of ob_item:
- float* as_floats # direct float pointer access to buffer
- double* as_doubles # double ...
- int* as_ints
- unsigned int *as_uints
- unsigned char *as_uchars
- signed char *as_schars
- char *as_chars
- unsigned long *as_ulongs
- long *as_longs
+ int itemsize
+ GETF getitem # PyObject * (*getitem)(struct arrayobject *, Py_ssize_t);
+ SETF setitem # int (*setitem)(struct arrayobject *, Py_ssize_t, PyObject *);
+
+ ctypedef union __data_union:
+ # views of ob_item:
+ float* as_floats # direct float pointer access to buffer
+ double* as_doubles # double ...
+ int* as_ints
+ unsigned int *as_uints
+ unsigned char *as_uchars
+ signed char *as_schars
+ char *as_chars
+ unsigned long *as_ulongs
+ long *as_longs
unsigned long long *as_ulonglongs
long long *as_longlongs
- short *as_shorts
- unsigned short *as_ushorts
- Py_UNICODE *as_pyunicodes
- void *as_voidptr
-
- ctypedef class array.array [object arrayobject]:
- cdef __cythonbufferdefaults__ = {'ndim' : 1, 'mode':'c'}
-
- cdef:
- Py_ssize_t ob_size
- arraydescr* ob_descr # struct arraydescr *ob_descr;
- __data_union data
-
- def __getbuffer__(self, Py_buffer* info, int flags):
- # This implementation of getbuffer is geared towards Cython
+ short *as_shorts
+ unsigned short *as_ushorts
+ Py_UNICODE *as_pyunicodes
+ void *as_voidptr
+
+ ctypedef class array.array [object arrayobject]:
+ cdef __cythonbufferdefaults__ = {'ndim' : 1, 'mode':'c'}
+
+ cdef:
+ Py_ssize_t ob_size
+ arraydescr* ob_descr # struct arraydescr *ob_descr;
+ __data_union data
+
+ def __getbuffer__(self, Py_buffer* info, int flags):
+ # This implementation of getbuffer is geared towards Cython
# requirements, and does not yet fulfill the PEP.
- # In particular strided access is always provided regardless
- # of flags
- item_count = Py_SIZE(self)
-
- info.suboffsets = NULL
- info.buf = self.data.as_chars
- info.readonly = 0
- info.ndim = 1
- info.itemsize = self.ob_descr.itemsize # e.g. sizeof(float)
- info.len = info.itemsize * item_count
-
+ # In particular strided access is always provided regardless
+ # of flags
+ item_count = Py_SIZE(self)
+
+ info.suboffsets = NULL
+ info.buf = self.data.as_chars
+ info.readonly = 0
+ info.ndim = 1
+ info.itemsize = self.ob_descr.itemsize # e.g. sizeof(float)
+ info.len = info.itemsize * item_count
+
info.shape = <Py_ssize_t*> PyObject_Malloc(sizeof(Py_ssize_t) + 2)
- if not info.shape:
- raise MemoryError()
- info.shape[0] = item_count # constant regardless of resizing
- info.strides = &info.itemsize
-
- info.format = <char*> (info.shape + 1)
- info.format[0] = self.ob_descr.typecode
- info.format[1] = 0
- info.obj = self
-
- def __releasebuffer__(self, Py_buffer* info):
+ if not info.shape:
+ raise MemoryError()
+ info.shape[0] = item_count # constant regardless of resizing
+ info.strides = &info.itemsize
+
+ info.format = <char*> (info.shape + 1)
+ info.format[0] = self.ob_descr.typecode
+ info.format[1] = 0
+ info.obj = self
+
+ def __releasebuffer__(self, Py_buffer* info):
PyObject_Free(info.shape)
-
- array newarrayobject(PyTypeObject* type, Py_ssize_t size, arraydescr *descr)
-
- # fast resize/realloc
- # not suitable for small increments; reallocation 'to the point'
- int resize(array self, Py_ssize_t n) except -1
- # efficient for small increments (not in Py2.3-)
- int resize_smart(array self, Py_ssize_t n) except -1
-
-
-cdef inline array clone(array template, Py_ssize_t length, bint zero):
- """ fast creation of a new array, given a template array.
- type will be same as template.
- if zero is true, new array will be initialized with zeroes."""
+
+ array newarrayobject(PyTypeObject* type, Py_ssize_t size, arraydescr *descr)
+
+ # fast resize/realloc
+ # not suitable for small increments; reallocation 'to the point'
+ int resize(array self, Py_ssize_t n) except -1
+ # efficient for small increments (not in Py2.3-)
+ int resize_smart(array self, Py_ssize_t n) except -1
+
+
+cdef inline array clone(array template, Py_ssize_t length, bint zero):
+ """ fast creation of a new array, given a template array.
+ type will be same as template.
+ if zero is true, new array will be initialized with zeroes."""
cdef array op = newarrayobject(Py_TYPE(template), length, template.ob_descr)
- if zero and op is not None:
- memset(op.data.as_chars, 0, length * op.ob_descr.itemsize)
- return op
-
-cdef inline array copy(array self):
- """ make a copy of an array. """
+ if zero and op is not None:
+ memset(op.data.as_chars, 0, length * op.ob_descr.itemsize)
+ return op
+
+cdef inline array copy(array self):
+ """ make a copy of an array. """
cdef array op = newarrayobject(Py_TYPE(self), Py_SIZE(self), self.ob_descr)
- memcpy(op.data.as_chars, self.data.as_chars, Py_SIZE(op) * op.ob_descr.itemsize)
- return op
-
-cdef inline int extend_buffer(array self, char* stuff, Py_ssize_t n) except -1:
+ memcpy(op.data.as_chars, self.data.as_chars, Py_SIZE(op) * op.ob_descr.itemsize)
+ return op
+
+cdef inline int extend_buffer(array self, char* stuff, Py_ssize_t n) except -1:
""" efficient appending of new stuff of same type
- (e.g. of same array type)
- n: number of elements (not number of bytes!) """
- cdef Py_ssize_t itemsize = self.ob_descr.itemsize
- cdef Py_ssize_t origsize = Py_SIZE(self)
- resize_smart(self, origsize + n)
- memcpy(self.data.as_chars + origsize * itemsize, stuff, n * itemsize)
- return 0
-
-cdef inline int extend(array self, array other) except -1:
- """ extend array with data from another array; types must match. """
- if self.ob_descr.typecode != other.ob_descr.typecode:
- PyErr_BadArgument()
- return extend_buffer(self, other.data.as_chars, Py_SIZE(other))
-
-cdef inline void zero(array self):
- """ set all elements of array to zero. """
- memset(self.data.as_chars, 0, Py_SIZE(self) * self.ob_descr.itemsize)
+ (e.g. of same array type)
+ n: number of elements (not number of bytes!) """
+ cdef Py_ssize_t itemsize = self.ob_descr.itemsize
+ cdef Py_ssize_t origsize = Py_SIZE(self)
+ resize_smart(self, origsize + n)
+ memcpy(self.data.as_chars + origsize * itemsize, stuff, n * itemsize)
+ return 0
+
+cdef inline int extend(array self, array other) except -1:
+ """ extend array with data from another array; types must match. """
+ if self.ob_descr.typecode != other.ob_descr.typecode:
+ PyErr_BadArgument()
+ return extend_buffer(self, other.data.as_chars, Py_SIZE(other))
+
+cdef inline void zero(array self):
+ """ set all elements of array to zero. """
+ memset(self.data.as_chars, 0, Py_SIZE(self) * self.ob_descr.itemsize)
diff --git a/contrib/tools/cython/Cython/Includes/cpython/bool.pxd b/contrib/tools/cython/Cython/Includes/cpython/bool.pxd
index c775088ce6..34b13155a6 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/bool.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/bool.pxd
@@ -1,38 +1,38 @@
-
-cdef extern from "Python.h":
-
- ############################################################################
- # 7.2.2 Boolean Objects
- ############################################################################
-
- ctypedef class __builtin__.bool [object PyBoolObject]:
- pass
-
- # Booleans in Python are implemented as a subclass of
- # integers. There are only two booleans, Py_False and Py_True. As
- # such, the normal creation and deletion functions don't apply to
- # booleans. The following macros are available, however.
-
- bint PyBool_Check(object o)
- # Return true if o is of type PyBool_Type.
-
- #PyObject* Py_False
- # The Python False object. This object has no methods. It needs to
- # be treated just like any other object with respect to reference
- # counts.
-
- #PyObject* Py_True
- # The Python True object. This object has no methods. It needs to
- # be treated just like any other object with respect to reference
- # counts.
-
- # Py_RETURN_FALSE
- # Return Py_False from a function, properly incrementing its reference count.
-
- # Py_RETURN_TRUE
- # Return Py_True from a function, properly incrementing its reference count.
-
- object PyBool_FromLong(long v)
- # Return value: New reference.
- # Return a new reference to Py_True or Py_False depending on the truth value of v.
-
+
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 7.2.2 Boolean Objects
+ ############################################################################
+
+ ctypedef class __builtin__.bool [object PyBoolObject]:
+ pass
+
+ # Booleans in Python are implemented as a subclass of
+ # integers. There are only two booleans, Py_False and Py_True. As
+ # such, the normal creation and deletion functions don't apply to
+ # booleans. The following macros are available, however.
+
+ bint PyBool_Check(object o)
+ # Return true if o is of type PyBool_Type.
+
+ #PyObject* Py_False
+ # The Python False object. This object has no methods. It needs to
+ # be treated just like any other object with respect to reference
+ # counts.
+
+ #PyObject* Py_True
+ # The Python True object. This object has no methods. It needs to
+ # be treated just like any other object with respect to reference
+ # counts.
+
+ # Py_RETURN_FALSE
+ # Return Py_False from a function, properly incrementing its reference count.
+
+ # Py_RETURN_TRUE
+ # Return Py_True from a function, properly incrementing its reference count.
+
+ object PyBool_FromLong(long v)
+ # Return value: New reference.
+ # Return a new reference to Py_True or Py_False depending on the truth value of v.
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/buffer.pxd b/contrib/tools/cython/Cython/Includes/cpython/buffer.pxd
index 3f1ada774a..82c0ced9df 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/buffer.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/buffer.pxd
@@ -1,112 +1,112 @@
-# Please see the Python header files (object.h/abstract.h) for docs
-
-cdef extern from "Python.h":
-
- cdef enum:
+# Please see the Python header files (object.h/abstract.h) for docs
+
+cdef extern from "Python.h":
+
+ cdef enum:
PyBUF_MAX_NDIM
cdef enum:
- PyBUF_SIMPLE,
- PyBUF_WRITABLE,
+ PyBUF_SIMPLE,
+ PyBUF_WRITABLE,
PyBUF_WRITEABLE, # backwards compatibility
- PyBUF_FORMAT,
- PyBUF_ND,
- PyBUF_STRIDES,
- PyBUF_C_CONTIGUOUS,
- PyBUF_F_CONTIGUOUS,
- PyBUF_ANY_CONTIGUOUS,
- PyBUF_INDIRECT,
- PyBUF_CONTIG,
- PyBUF_CONTIG_RO,
- PyBUF_STRIDED,
- PyBUF_STRIDED_RO,
- PyBUF_RECORDS,
- PyBUF_RECORDS_RO,
- PyBUF_FULL,
- PyBUF_FULL_RO,
- PyBUF_READ,
- PyBUF_WRITE,
- PyBUF_SHADOW
-
- bint PyObject_CheckBuffer(object obj)
- # Return 1 if obj supports the buffer interface otherwise 0.
-
- int PyObject_GetBuffer(object obj, Py_buffer *view, int flags) except -1
- # Export obj into a Py_buffer, view. These arguments must never be
- # NULL. The flags argument is a bit field indicating what kind of
- # buffer the caller is prepared to deal with and therefore what
- # kind of buffer the exporter is allowed to return. The buffer
- # interface allows for complicated memory sharing possibilities,
- # but some caller may not be able to handle all the complexity but
- # may want to see if the exporter will let them take a simpler
- # view to its memory.
-
- # Some exporters may not be able to share memory in every possible
- # way and may need to raise errors to signal to some consumers
- # that something is just not possible. These errors should be a
- # BufferError unless there is another error that is actually
- # causing the problem. The exporter can use flags information to
- # simplify how much of the Py_buffer structure is filled in with
- # non-default values and/or raise an error if the object can’t
- # support a simpler view of its memory.
-
- # 0 is returned on success and -1 on error.
-
- void PyBuffer_Release(Py_buffer *view)
- # Release the buffer view. This should be called when the buffer
- # is no longer being used as it may free memory from it.
-
- void* PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices)
- # ??
-
- Py_ssize_t PyBuffer_SizeFromFormat(char *) # actually const char
- # Return the implied ~Py_buffer.itemsize from the struct-stype
- # ~Py_buffer.format
-
- int PyBuffer_ToContiguous(void *buf, Py_buffer *view, Py_ssize_t len, char fort)
- # ??
-
- int PyBuffer_FromContiguous(Py_buffer *view, void *buf, Py_ssize_t len, char fort)
- # ??
-
- int PyObject_CopyToObject(object obj, void *buf, Py_ssize_t len, char fortran) except -1
- # Copy len bytes of data pointed to by the contiguous chunk of
- # memory pointed to by buf into the buffer exported by obj. The
- # buffer must of course be writable. Return 0 on success and
- # return -1 and raise an error on failure. If the object does not
- # have a writable buffer, then an error is raised. If fortran is
- # 'F', then if the object is multi-dimensional, then the data will
- # be copied into the array in Fortran-style (first dimension
- # varies the fastest). If fortran is 'C', then the data will be
- # copied into the array in C-style (last dimension varies the
- # fastest). If fortran is 'A', then it does not matter and the
- # copy will be made in whatever way is more efficient.
-
- int PyObject_CopyData(object dest, object src) except -1
- # Copy the data from the src buffer to the buffer of destination
-
- bint PyBuffer_IsContiguous(Py_buffer *view, char fort)
- # Return 1 if the memory defined by the view is C-style (fortran
- # is 'C') or Fortran-style (fortran is 'F') contiguous or either
- # one (fortran is 'A'). Return 0 otherwise.
-
- void PyBuffer_FillContiguousStrides(int ndims,
- Py_ssize_t *shape,
- Py_ssize_t *strides,
- Py_ssize_t itemsize,
- char fort)
- # Fill the strides array with byte-strides of a contiguous
- # (Fortran-style if fort is 'F' or C-style otherwise) array of the
- # given shape with the given number of bytes per element.
-
- int PyBuffer_FillInfo(Py_buffer *view, object exporter, void *buf,
- Py_ssize_t len, int readonly, int flags) except -1
- # Fill in a buffer-info structure, view, correctly for an exporter
- # that can only share a contiguous chunk of memory of “unsigned
- # bytes” of the given length. Return 0 on success and -1 (with
- # raising an error) on error.
-
- # DEPRECATED HERE: do not cimport from here, cimport from cpython.object instead
- object PyObject_Format(object obj, object format_spec)
- # Takes an arbitrary object and returns the result of calling
- # obj.__format__(format_spec).
+ PyBUF_FORMAT,
+ PyBUF_ND,
+ PyBUF_STRIDES,
+ PyBUF_C_CONTIGUOUS,
+ PyBUF_F_CONTIGUOUS,
+ PyBUF_ANY_CONTIGUOUS,
+ PyBUF_INDIRECT,
+ PyBUF_CONTIG,
+ PyBUF_CONTIG_RO,
+ PyBUF_STRIDED,
+ PyBUF_STRIDED_RO,
+ PyBUF_RECORDS,
+ PyBUF_RECORDS_RO,
+ PyBUF_FULL,
+ PyBUF_FULL_RO,
+ PyBUF_READ,
+ PyBUF_WRITE,
+ PyBUF_SHADOW
+
+ bint PyObject_CheckBuffer(object obj)
+ # Return 1 if obj supports the buffer interface otherwise 0.
+
+ int PyObject_GetBuffer(object obj, Py_buffer *view, int flags) except -1
+ # Export obj into a Py_buffer, view. These arguments must never be
+ # NULL. The flags argument is a bit field indicating what kind of
+ # buffer the caller is prepared to deal with and therefore what
+ # kind of buffer the exporter is allowed to return. The buffer
+ # interface allows for complicated memory sharing possibilities,
+ # but some caller may not be able to handle all the complexity but
+ # may want to see if the exporter will let them take a simpler
+ # view to its memory.
+
+ # Some exporters may not be able to share memory in every possible
+ # way and may need to raise errors to signal to some consumers
+ # that something is just not possible. These errors should be a
+ # BufferError unless there is another error that is actually
+ # causing the problem. The exporter can use flags information to
+ # simplify how much of the Py_buffer structure is filled in with
+ # non-default values and/or raise an error if the object can’t
+ # support a simpler view of its memory.
+
+ # 0 is returned on success and -1 on error.
+
+ void PyBuffer_Release(Py_buffer *view)
+ # Release the buffer view. This should be called when the buffer
+ # is no longer being used as it may free memory from it.
+
+ void* PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices)
+ # ??
+
+ Py_ssize_t PyBuffer_SizeFromFormat(char *) # actually const char
+ # Return the implied ~Py_buffer.itemsize from the struct-stype
+ # ~Py_buffer.format
+
+ int PyBuffer_ToContiguous(void *buf, Py_buffer *view, Py_ssize_t len, char fort)
+ # ??
+
+ int PyBuffer_FromContiguous(Py_buffer *view, void *buf, Py_ssize_t len, char fort)
+ # ??
+
+ int PyObject_CopyToObject(object obj, void *buf, Py_ssize_t len, char fortran) except -1
+ # Copy len bytes of data pointed to by the contiguous chunk of
+ # memory pointed to by buf into the buffer exported by obj. The
+ # buffer must of course be writable. Return 0 on success and
+ # return -1 and raise an error on failure. If the object does not
+ # have a writable buffer, then an error is raised. If fortran is
+ # 'F', then if the object is multi-dimensional, then the data will
+ # be copied into the array in Fortran-style (first dimension
+ # varies the fastest). If fortran is 'C', then the data will be
+ # copied into the array in C-style (last dimension varies the
+ # fastest). If fortran is 'A', then it does not matter and the
+ # copy will be made in whatever way is more efficient.
+
+ int PyObject_CopyData(object dest, object src) except -1
+ # Copy the data from the src buffer to the buffer of destination
+
+ bint PyBuffer_IsContiguous(Py_buffer *view, char fort)
+ # Return 1 if the memory defined by the view is C-style (fortran
+ # is 'C') or Fortran-style (fortran is 'F') contiguous or either
+ # one (fortran is 'A'). Return 0 otherwise.
+
+ void PyBuffer_FillContiguousStrides(int ndims,
+ Py_ssize_t *shape,
+ Py_ssize_t *strides,
+ Py_ssize_t itemsize,
+ char fort)
+ # Fill the strides array with byte-strides of a contiguous
+ # (Fortran-style if fort is 'F' or C-style otherwise) array of the
+ # given shape with the given number of bytes per element.
+
+ int PyBuffer_FillInfo(Py_buffer *view, object exporter, void *buf,
+ Py_ssize_t len, int readonly, int flags) except -1
+ # Fill in a buffer-info structure, view, correctly for an exporter
+ # that can only share a contiguous chunk of memory of “unsigned
+ # bytes” of the given length. Return 0 on success and -1 (with
+ # raising an error) on error.
+
+ # DEPRECATED HERE: do not cimport from here, cimport from cpython.object instead
+ object PyObject_Format(object obj, object format_spec)
+ # Takes an arbitrary object and returns the result of calling
+ # obj.__format__(format_spec).
diff --git a/contrib/tools/cython/Cython/Includes/cpython/bytes.pxd b/contrib/tools/cython/Cython/Includes/cpython/bytes.pxd
index ea72c6aae7..ff4c78dc5f 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/bytes.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/bytes.pxd
@@ -1,198 +1,198 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
- ctypedef struct va_list
-
- ############################################################################
- # 7.3.1 String Objects
- ############################################################################
-
- # These functions raise TypeError when expecting a string
- # parameter and are called with a non-string parameter.
- # PyStringObject
- # This subtype of PyObject represents a Python bytes object.
- # PyTypeObject PyBytes_Type
- # This instance of PyTypeObject represents the Python bytes type;
- # it is the same object as bytes and types.BytesType in the Python
- # layer.
-
- bint PyBytes_Check(object o)
- # Return true if the object o is a string object or an instance of
- # a subtype of the string type.
-
- bint PyBytes_CheckExact(object o)
- # Return true if the object o is a string object, but not an instance of a subtype of the string type.
-
- bytes PyBytes_FromString(char *v)
- # Return value: New reference.
- # Return a new string object with the value v on success, and NULL
- # on failure. The parameter v must not be NULL; it will not be
- # checked.
-
- bytes PyBytes_FromStringAndSize(char *v, Py_ssize_t len)
- # Return value: New reference.
- # Return a new string object with the value v and length len on
- # success, and NULL on failure. If v is NULL, the contents of the
- # string are uninitialized.
-
- bytes PyBytes_FromFormat(char *format, ...)
- # Return value: New reference.
- # Take a C printf()-style format string and a variable number of
- # arguments, calculate the size of the resulting Python string and
- # return a string with the values formatted into it. The variable
- # arguments must be C types and must correspond exactly to the
- # format characters in the format string. The following format
- # characters are allowed:
- # Format Characters Type Comment
- # %% n/a The literal % character.
- # %c int A single character, represented as an C int.
- # %d int Exactly equivalent to printf("%d").
- # %u unsigned int Exactly equivalent to printf("%u").
- # %ld long Exactly equivalent to printf("%ld").
- # %lu unsigned long Exactly equivalent to printf("%lu").
- # %zd Py_ssize_t Exactly equivalent to printf("%zd").
- # %zu size_t Exactly equivalent to printf("%zu").
- # %i int Exactly equivalent to printf("%i").
- # %x int Exactly equivalent to printf("%x").
- # %s char* A null-terminated C character array.
-
- # %p void* The hex representation of a C pointer.
- # Mostly equivalent to printf("%p") except that it is guaranteed to
- # start with the literal 0x regardless of what the platform's printf
- # yields.
- # An unrecognized format character causes all the rest of the
- # format string to be copied as-is to the result string, and any
- # extra arguments discarded.
-
- bytes PyBytes_FromFormatV(char *format, va_list vargs)
- # Return value: New reference.
- # Identical to PyBytes_FromFormat() except that it takes exactly two arguments.
-
- Py_ssize_t PyBytes_Size(object string) except -1
- # Return the length of the string in string object string.
-
- Py_ssize_t PyBytes_GET_SIZE(object string)
- # Macro form of PyBytes_Size() but without error checking.
-
- char* PyBytes_AsString(object string) except NULL
- # Return a NUL-terminated representation of the contents of
- # string. The pointer refers to the internal buffer of string, not
- # a copy. The data must not be modified in any way, unless the
- # string was just created using PyBytes_FromStringAndSize(NULL,
- # size). It must not be deallocated. If string is a Unicode
- # object, this function computes the default encoding of string
- # and operates on that. If string is not a string object at all,
- # PyBytes_AsString() returns NULL and raises TypeError.
-
- char* PyBytes_AS_STRING(object string)
- # Macro form of PyBytes_AsString() but without error
- # checking. Only string objects are supported; no Unicode objects
- # should be passed.
-
- int PyBytes_AsStringAndSize(object obj, char **buffer, Py_ssize_t *length) except -1
- # Return a NULL-terminated representation of the contents of the
- # object obj through the output variables buffer and length.
- #
- # The function accepts both string and Unicode objects as
- # input. For Unicode objects it returns the default encoded
- # version of the object. If length is NULL, the resulting buffer
- # may not contain NUL characters; if it does, the function returns
- # -1 and a TypeError is raised.
-
- # The buffer refers to an internal string buffer of obj, not a
- # copy. The data must not be modified in any way, unless the
- # string was just created using PyBytes_FromStringAndSize(NULL,
- # size). It must not be deallocated. If string is a Unicode
- # object, this function computes the default encoding of string
- # and operates on that. If string is not a string object at all,
- # PyBytes_AsStringAndSize() returns -1 and raises TypeError.
-
- void PyBytes_Concat(PyObject **string, object newpart)
- # Create a new string object in *string containing the contents of
- # newpart appended to string; the caller will own the new
- # reference. The reference to the old value of string will be
- # stolen. If the new string cannot be created, the old reference
- # to string will still be discarded and the value of *string will
- # be set to NULL; the appropriate exception will be set.
-
- void PyBytes_ConcatAndDel(PyObject **string, object newpart)
- # Create a new string object in *string containing the contents of
- # newpart appended to string. This version decrements the
- # reference count of newpart.
-
- int _PyBytes_Resize(PyObject **string, Py_ssize_t newsize) except -1
- # A way to resize a string object even though it is
- # ``immutable''. Only use this to build up a brand new string
- # object; don't use this if the string may already be known in
- # other parts of the code. It is an error to call this function if
- # the refcount on the input string object is not one. Pass the
- # address of an existing string object as an lvalue (it may be
- # written into), and the new size desired. On success, *string
- # holds the resized string object and 0 is returned; the address
- # in *string may differ from its input value. If the reallocation
- # fails, the original string object at *string is deallocated,
- # *string is set to NULL, a memory exception is set, and -1 is
- # returned.
-
- bytes PyBytes_Format(object format, object args)
- # Return value: New reference. Return a new string object from
- # format and args. Analogous to format % args. The args argument
- # must be a tuple.
-
- void PyBytes_InternInPlace(PyObject **string)
- # Intern the argument *string in place. The argument must be the
- # address of a pointer variable pointing to a Python string
- # object. If there is an existing interned string that is the same
- # as *string, it sets *string to it (decrementing the reference
- # count of the old string object and incrementing the reference
- # count of the interned string object), otherwise it leaves
- # *string alone and interns it (incrementing its reference
- # count). (Clarification: even though there is a lot of talk about
- # reference counts, think of this function as
- # reference-count-neutral; you own the object after the call if
- # and only if you owned it before the call.)
-
- bytes PyBytes_InternFromString(char *v)
- # Return value: New reference.
- # A combination of PyBytes_FromString() and
- # PyBytes_InternInPlace(), returning either a new string object
- # that has been interned, or a new (``owned'') reference to an
- # earlier interned string object with the same value.
-
- object PyBytes_Decode(char *s, Py_ssize_t size, char *encoding, char *errors)
- # Return value: New reference.
- # Create an object by decoding size bytes of the encoded buffer s
- # using the codec registered for encoding. encoding and errors
- # have the same meaning as the parameters of the same name in the
- # unicode() built-in function. The codec to be used is looked up
- # using the Python codec registry. Return NULL if an exception was
- # raised by the codec.
-
- object PyBytes_AsDecodedObject(object str, char *encoding, char *errors)
- # Return value: New reference.
- # Decode a string object by passing it to the codec registered for
- # encoding and return the result as Python object. encoding and
- # errors have the same meaning as the parameters of the same name
- # in the string encode() method. The codec to be used is looked up
- # using the Python codec registry. Return NULL if an exception was
- # raised by the codec.
-
- object PyBytes_Encode(char *s, Py_ssize_t size, char *encoding, char *errors)
- # Return value: New reference.
- # Encode the char buffer of the given size by passing it to the
- # codec registered for encoding and return a Python
- # object. encoding and errors have the same meaning as the
- # parameters of the same name in the string encode() method. The
- # codec to be used is looked up using the Python codec
- # registry. Return NULL if an exception was raised by the codec.
-
- object PyBytes_AsEncodedObject(object str, char *encoding, char *errors)
- # Return value: New reference.
- # Encode a string object using the codec registered for encoding
- # and return the result as Python object. encoding and errors have
- # the same meaning as the parameters of the same name in the
- # string encode() method. The codec to be used is looked up using
- # the Python codec registry. Return NULL if an exception was
- # raised by the codec.
-
-
+
+cdef extern from "Python.h":
+ ctypedef struct va_list
+
+ ############################################################################
+ # 7.3.1 String Objects
+ ############################################################################
+
+ # These functions raise TypeError when expecting a string
+ # parameter and are called with a non-string parameter.
+ # PyStringObject
+ # This subtype of PyObject represents a Python bytes object.
+ # PyTypeObject PyBytes_Type
+ # This instance of PyTypeObject represents the Python bytes type;
+ # it is the same object as bytes and types.BytesType in the Python
+ # layer.
+
+ bint PyBytes_Check(object o)
+ # Return true if the object o is a string object or an instance of
+ # a subtype of the string type.
+
+ bint PyBytes_CheckExact(object o)
+ # Return true if the object o is a string object, but not an instance of a subtype of the string type.
+
+ bytes PyBytes_FromString(char *v)
+ # Return value: New reference.
+ # Return a new string object with the value v on success, and NULL
+ # on failure. The parameter v must not be NULL; it will not be
+ # checked.
+
+ bytes PyBytes_FromStringAndSize(char *v, Py_ssize_t len)
+ # Return value: New reference.
+ # Return a new string object with the value v and length len on
+ # success, and NULL on failure. If v is NULL, the contents of the
+ # string are uninitialized.
+
+ bytes PyBytes_FromFormat(char *format, ...)
+ # Return value: New reference.
+ # Take a C printf()-style format string and a variable number of
+ # arguments, calculate the size of the resulting Python string and
+ # return a string with the values formatted into it. The variable
+ # arguments must be C types and must correspond exactly to the
+ # format characters in the format string. The following format
+ # characters are allowed:
+ # Format Characters Type Comment
+ # %% n/a The literal % character.
+ # %c int A single character, represented as an C int.
+ # %d int Exactly equivalent to printf("%d").
+ # %u unsigned int Exactly equivalent to printf("%u").
+ # %ld long Exactly equivalent to printf("%ld").
+ # %lu unsigned long Exactly equivalent to printf("%lu").
+ # %zd Py_ssize_t Exactly equivalent to printf("%zd").
+ # %zu size_t Exactly equivalent to printf("%zu").
+ # %i int Exactly equivalent to printf("%i").
+ # %x int Exactly equivalent to printf("%x").
+ # %s char* A null-terminated C character array.
+
+ # %p void* The hex representation of a C pointer.
+ # Mostly equivalent to printf("%p") except that it is guaranteed to
+ # start with the literal 0x regardless of what the platform's printf
+ # yields.
+ # An unrecognized format character causes all the rest of the
+ # format string to be copied as-is to the result string, and any
+ # extra arguments discarded.
+
+ bytes PyBytes_FromFormatV(char *format, va_list vargs)
+ # Return value: New reference.
+ # Identical to PyBytes_FromFormat() except that it takes exactly two arguments.
+
+ Py_ssize_t PyBytes_Size(object string) except -1
+ # Return the length of the string in string object string.
+
+ Py_ssize_t PyBytes_GET_SIZE(object string)
+ # Macro form of PyBytes_Size() but without error checking.
+
+ char* PyBytes_AsString(object string) except NULL
+ # Return a NUL-terminated representation of the contents of
+ # string. The pointer refers to the internal buffer of string, not
+ # a copy. The data must not be modified in any way, unless the
+ # string was just created using PyBytes_FromStringAndSize(NULL,
+ # size). It must not be deallocated. If string is a Unicode
+ # object, this function computes the default encoding of string
+ # and operates on that. If string is not a string object at all,
+ # PyBytes_AsString() returns NULL and raises TypeError.
+
+ char* PyBytes_AS_STRING(object string)
+ # Macro form of PyBytes_AsString() but without error
+ # checking. Only string objects are supported; no Unicode objects
+ # should be passed.
+
+ int PyBytes_AsStringAndSize(object obj, char **buffer, Py_ssize_t *length) except -1
+ # Return a NULL-terminated representation of the contents of the
+ # object obj through the output variables buffer and length.
+ #
+ # The function accepts both string and Unicode objects as
+ # input. For Unicode objects it returns the default encoded
+ # version of the object. If length is NULL, the resulting buffer
+ # may not contain NUL characters; if it does, the function returns
+ # -1 and a TypeError is raised.
+
+ # The buffer refers to an internal string buffer of obj, not a
+ # copy. The data must not be modified in any way, unless the
+ # string was just created using PyBytes_FromStringAndSize(NULL,
+ # size). It must not be deallocated. If string is a Unicode
+ # object, this function computes the default encoding of string
+ # and operates on that. If string is not a string object at all,
+ # PyBytes_AsStringAndSize() returns -1 and raises TypeError.
+
+ void PyBytes_Concat(PyObject **string, object newpart)
+ # Create a new string object in *string containing the contents of
+ # newpart appended to string; the caller will own the new
+ # reference. The reference to the old value of string will be
+ # stolen. If the new string cannot be created, the old reference
+ # to string will still be discarded and the value of *string will
+ # be set to NULL; the appropriate exception will be set.
+
+ void PyBytes_ConcatAndDel(PyObject **string, object newpart)
+ # Create a new string object in *string containing the contents of
+ # newpart appended to string. This version decrements the
+ # reference count of newpart.
+
+ int _PyBytes_Resize(PyObject **string, Py_ssize_t newsize) except -1
+ # A way to resize a string object even though it is
+ # ``immutable''. Only use this to build up a brand new string
+ # object; don't use this if the string may already be known in
+ # other parts of the code. It is an error to call this function if
+ # the refcount on the input string object is not one. Pass the
+ # address of an existing string object as an lvalue (it may be
+ # written into), and the new size desired. On success, *string
+ # holds the resized string object and 0 is returned; the address
+ # in *string may differ from its input value. If the reallocation
+ # fails, the original string object at *string is deallocated,
+ # *string is set to NULL, a memory exception is set, and -1 is
+ # returned.
+
+ bytes PyBytes_Format(object format, object args)
+ # Return value: New reference. Return a new string object from
+ # format and args. Analogous to format % args. The args argument
+ # must be a tuple.
+
+ void PyBytes_InternInPlace(PyObject **string)
+ # Intern the argument *string in place. The argument must be the
+ # address of a pointer variable pointing to a Python string
+ # object. If there is an existing interned string that is the same
+ # as *string, it sets *string to it (decrementing the reference
+ # count of the old string object and incrementing the reference
+ # count of the interned string object), otherwise it leaves
+ # *string alone and interns it (incrementing its reference
+ # count). (Clarification: even though there is a lot of talk about
+ # reference counts, think of this function as
+ # reference-count-neutral; you own the object after the call if
+ # and only if you owned it before the call.)
+
+ bytes PyBytes_InternFromString(char *v)
+ # Return value: New reference.
+ # A combination of PyBytes_FromString() and
+ # PyBytes_InternInPlace(), returning either a new string object
+ # that has been interned, or a new (``owned'') reference to an
+ # earlier interned string object with the same value.
+
+ object PyBytes_Decode(char *s, Py_ssize_t size, char *encoding, char *errors)
+ # Return value: New reference.
+ # Create an object by decoding size bytes of the encoded buffer s
+ # using the codec registered for encoding. encoding and errors
+ # have the same meaning as the parameters of the same name in the
+ # unicode() built-in function. The codec to be used is looked up
+ # using the Python codec registry. Return NULL if an exception was
+ # raised by the codec.
+
+ object PyBytes_AsDecodedObject(object str, char *encoding, char *errors)
+ # Return value: New reference.
+ # Decode a string object by passing it to the codec registered for
+ # encoding and return the result as Python object. encoding and
+ # errors have the same meaning as the parameters of the same name
+ # in the string encode() method. The codec to be used is looked up
+ # using the Python codec registry. Return NULL if an exception was
+ # raised by the codec.
+
+ object PyBytes_Encode(char *s, Py_ssize_t size, char *encoding, char *errors)
+ # Return value: New reference.
+ # Encode the char buffer of the given size by passing it to the
+ # codec registered for encoding and return a Python
+ # object. encoding and errors have the same meaning as the
+ # parameters of the same name in the string encode() method. The
+ # codec to be used is looked up using the Python codec
+ # registry. Return NULL if an exception was raised by the codec.
+
+ object PyBytes_AsEncodedObject(object str, char *encoding, char *errors)
+ # Return value: New reference.
+ # Encode a string object using the codec registered for encoding
+ # and return the result as Python object. encoding and errors have
+ # the same meaning as the parameters of the same name in the
+ # string encode() method. The codec to be used is looked up using
+ # the Python codec registry. Return NULL if an exception was
+ # raised by the codec.
+
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/cobject.pxd b/contrib/tools/cython/Cython/Includes/cpython/cobject.pxd
index 497d8a92e8..0fab44b3e0 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/cobject.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/cobject.pxd
@@ -1,36 +1,36 @@
-
-cdef extern from "Python.h":
-
- ###########################################################################
- # Warning:
- #
- # The CObject API is deprecated as of Python 3.1. Please switch to
- # the new Capsules API.
- ###########################################################################
-
- int PyCObject_Check(object p)
- # Return true if its argument is a PyCObject.
-
- object PyCObject_FromVoidPtr(void* cobj, void (*destr)(void *))
- # Return value: New reference.
- #
- # Create a PyCObject from the void * cobj. The destr function will
- # be called when the object is reclaimed, unless it is NULL.
-
- object PyCObject_FromVoidPtrAndDesc(void* cobj, void* desc, void (*destr)(void *, void *))
- # Return value: New reference.
- #
- # Create a PyCObject from the void * cobj. The destr function will
- # be called when the object is reclaimed. The desc argument can be
- # used to pass extra callback data for the destructor function.
-
- void* PyCObject_AsVoidPtr(object self) except? NULL
- # Return the object void * that the PyCObject self was created with.
-
- void* PyCObject_GetDesc(object self) except? NULL
- # Return the description void * that the PyCObject self was created with.
-
- int PyCObject_SetVoidPtr(object self, void* cobj) except 0
- # Set the void pointer inside self to cobj. The PyCObject must not
- # have an associated destructor. Return true on success, false on
- # failure.
+
+cdef extern from "Python.h":
+
+ ###########################################################################
+ # Warning:
+ #
+ # The CObject API is deprecated as of Python 3.1. Please switch to
+ # the new Capsules API.
+ ###########################################################################
+
+ int PyCObject_Check(object p)
+ # Return true if its argument is a PyCObject.
+
+ object PyCObject_FromVoidPtr(void* cobj, void (*destr)(void *))
+ # Return value: New reference.
+ #
+ # Create a PyCObject from the void * cobj. The destr function will
+ # be called when the object is reclaimed, unless it is NULL.
+
+ object PyCObject_FromVoidPtrAndDesc(void* cobj, void* desc, void (*destr)(void *, void *))
+ # Return value: New reference.
+ #
+ # Create a PyCObject from the void * cobj. The destr function will
+ # be called when the object is reclaimed. The desc argument can be
+ # used to pass extra callback data for the destructor function.
+
+ void* PyCObject_AsVoidPtr(object self) except? NULL
+ # Return the object void * that the PyCObject self was created with.
+
+ void* PyCObject_GetDesc(object self) except? NULL
+ # Return the description void * that the PyCObject self was created with.
+
+ int PyCObject_SetVoidPtr(object self, void* cobj) except 0
+ # Set the void pointer inside self to cobj. The PyCObject must not
+ # have an associated destructor. Return true on success, false on
+ # failure.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/complex.pxd b/contrib/tools/cython/Cython/Includes/cpython/complex.pxd
index f5ba339575..607d934a93 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/complex.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/complex.pxd
@@ -1,50 +1,50 @@
-
-cdef extern from "Python.h":
-
- ctypedef struct Py_complex:
- double imag
- double real
-
- ############################################################################
- # 7.2.5.2 Complex Numbers as Python Objects
- ############################################################################
-
- # PyComplexObject
- # This subtype of PyObject represents a Python complex number object.
-
- ctypedef class __builtin__.complex [object PyComplexObject]:
- cdef Py_complex cval
- # not making these available to keep them read-only:
- #cdef double imag "cval.imag"
- #cdef double real "cval.real"
-
- # PyTypeObject PyComplex_Type
- # This instance of PyTypeObject represents the Python complex
- # number type. It is the same object as complex and
- # types.ComplexType.
-
- bint PyComplex_Check(object p)
- # Return true if its argument is a PyComplexObject or a subtype of
- # PyComplexObject.
-
- bint PyComplex_CheckExact(object p)
- # Return true if its argument is a PyComplexObject, but not a subtype of PyComplexObject.
-
- object PyComplex_FromCComplex(Py_complex v)
- # Return value: New reference.
- # Create a new Python complex number object from a C Py_complex value.
-
- object PyComplex_FromDoubles(double real, double imag)
- # Return value: New reference.
- # Return a new PyComplexObject object from real and imag.
-
- double PyComplex_RealAsDouble(object op) except? -1
- # Return the real part of op as a C double.
-
- double PyComplex_ImagAsDouble(object op) except? -1
- # Return the imaginary part of op as a C double.
-
- Py_complex PyComplex_AsCComplex(object op)
- # Return the Py_complex value of the complex number op.
- #
- # Returns (-1+0i) in case of an error
+
+cdef extern from "Python.h":
+
+ ctypedef struct Py_complex:
+ double imag
+ double real
+
+ ############################################################################
+ # 7.2.5.2 Complex Numbers as Python Objects
+ ############################################################################
+
+ # PyComplexObject
+ # This subtype of PyObject represents a Python complex number object.
+
+ ctypedef class __builtin__.complex [object PyComplexObject]:
+ cdef Py_complex cval
+ # not making these available to keep them read-only:
+ #cdef double imag "cval.imag"
+ #cdef double real "cval.real"
+
+ # PyTypeObject PyComplex_Type
+ # This instance of PyTypeObject represents the Python complex
+ # number type. It is the same object as complex and
+ # types.ComplexType.
+
+ bint PyComplex_Check(object p)
+ # Return true if its argument is a PyComplexObject or a subtype of
+ # PyComplexObject.
+
+ bint PyComplex_CheckExact(object p)
+ # Return true if its argument is a PyComplexObject, but not a subtype of PyComplexObject.
+
+ object PyComplex_FromCComplex(Py_complex v)
+ # Return value: New reference.
+ # Create a new Python complex number object from a C Py_complex value.
+
+ object PyComplex_FromDoubles(double real, double imag)
+ # Return value: New reference.
+ # Return a new PyComplexObject object from real and imag.
+
+ double PyComplex_RealAsDouble(object op) except? -1
+ # Return the real part of op as a C double.
+
+ double PyComplex_ImagAsDouble(object op) except? -1
+ # Return the imaginary part of op as a C double.
+
+ Py_complex PyComplex_AsCComplex(object op)
+ # Return the Py_complex value of the complex number op.
+ #
+ # Returns (-1+0i) in case of an error
diff --git a/contrib/tools/cython/Cython/Includes/cpython/datetime.pxd b/contrib/tools/cython/Cython/Includes/cpython/datetime.pxd
index cd0f90719b..7fef60633b 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/datetime.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/datetime.pxd
@@ -1,212 +1,212 @@
from cpython.object cimport PyObject
-
-cdef extern from "Python.h":
- ctypedef struct PyTypeObject:
- pass
-
-cdef extern from "datetime.h":
-
- ctypedef extern class datetime.date[object PyDateTime_Date]:
- pass
-
- ctypedef extern class datetime.time[object PyDateTime_Time]:
- pass
-
- ctypedef extern class datetime.datetime[object PyDateTime_DateTime]:
- pass
-
- ctypedef extern class datetime.timedelta[object PyDateTime_Delta]:
- pass
-
- ctypedef extern class datetime.tzinfo[object PyDateTime_TZInfo]:
- pass
-
- ctypedef struct PyDateTime_Date:
- pass
-
- ctypedef struct PyDateTime_Time:
- char hastzinfo
- PyObject *tzinfo
-
- ctypedef struct PyDateTime_DateTime:
- char hastzinfo
- PyObject *tzinfo
-
- ctypedef struct PyDateTime_Delta:
- int days
- int seconds
- int microseconds
-
- # Define structure for C API.
- ctypedef struct PyDateTime_CAPI:
+
+cdef extern from "Python.h":
+ ctypedef struct PyTypeObject:
+ pass
+
+cdef extern from "datetime.h":
+
+ ctypedef extern class datetime.date[object PyDateTime_Date]:
+ pass
+
+ ctypedef extern class datetime.time[object PyDateTime_Time]:
+ pass
+
+ ctypedef extern class datetime.datetime[object PyDateTime_DateTime]:
+ pass
+
+ ctypedef extern class datetime.timedelta[object PyDateTime_Delta]:
+ pass
+
+ ctypedef extern class datetime.tzinfo[object PyDateTime_TZInfo]:
+ pass
+
+ ctypedef struct PyDateTime_Date:
+ pass
+
+ ctypedef struct PyDateTime_Time:
+ char hastzinfo
+ PyObject *tzinfo
+
+ ctypedef struct PyDateTime_DateTime:
+ char hastzinfo
+ PyObject *tzinfo
+
+ ctypedef struct PyDateTime_Delta:
+ int days
+ int seconds
+ int microseconds
+
+ # Define structure for C API.
+ ctypedef struct PyDateTime_CAPI:
# type objects
- PyTypeObject *DateType
- PyTypeObject *DateTimeType
- PyTypeObject *TimeType
- PyTypeObject *DeltaType
- PyTypeObject *TZInfoType
-
- # constructors
- object (*Date_FromDate)(int, int, int, PyTypeObject*)
- object (*DateTime_FromDateAndTime)(int, int, int, int, int, int, int, object, PyTypeObject*)
- object (*Time_FromTime)(int, int, int, int, object, PyTypeObject*)
- object (*Delta_FromDelta)(int, int, int, int, PyTypeObject*)
-
- # constructors for the DB API
- object (*DateTime_FromTimestamp)(object, object, object)
- object (*Date_FromTimestamp)(object, object)
-
- # Check type of the object.
- bint PyDate_Check(object op)
- bint PyDate_CheckExact(object op)
-
- bint PyDateTime_Check(object op)
- bint PyDateTime_CheckExact(object op)
-
- bint PyTime_Check(object op)
- bint PyTime_CheckExact(object op)
-
- bint PyDelta_Check(object op)
- bint PyDelta_CheckExact(object op)
-
- bint PyTZInfo_Check(object op)
- bint PyTZInfo_CheckExact(object op)
-
- # Getters for date and datetime (C macros).
- int PyDateTime_GET_YEAR(object o)
- int PyDateTime_GET_MONTH(object o)
- int PyDateTime_GET_DAY(object o)
-
- # Getters for datetime (C macros).
- int PyDateTime_DATE_GET_HOUR(object o)
- int PyDateTime_DATE_GET_MINUTE(object o)
- int PyDateTime_DATE_GET_SECOND(object o)
- int PyDateTime_DATE_GET_MICROSECOND(object o)
-
- # Getters for time (C macros).
- int PyDateTime_TIME_GET_HOUR(object o)
- int PyDateTime_TIME_GET_MINUTE(object o)
- int PyDateTime_TIME_GET_SECOND(object o)
- int PyDateTime_TIME_GET_MICROSECOND(object o)
-
- # Getters for timedelta (C macros).
+ PyTypeObject *DateType
+ PyTypeObject *DateTimeType
+ PyTypeObject *TimeType
+ PyTypeObject *DeltaType
+ PyTypeObject *TZInfoType
+
+ # constructors
+ object (*Date_FromDate)(int, int, int, PyTypeObject*)
+ object (*DateTime_FromDateAndTime)(int, int, int, int, int, int, int, object, PyTypeObject*)
+ object (*Time_FromTime)(int, int, int, int, object, PyTypeObject*)
+ object (*Delta_FromDelta)(int, int, int, int, PyTypeObject*)
+
+ # constructors for the DB API
+ object (*DateTime_FromTimestamp)(object, object, object)
+ object (*Date_FromTimestamp)(object, object)
+
+ # Check type of the object.
+ bint PyDate_Check(object op)
+ bint PyDate_CheckExact(object op)
+
+ bint PyDateTime_Check(object op)
+ bint PyDateTime_CheckExact(object op)
+
+ bint PyTime_Check(object op)
+ bint PyTime_CheckExact(object op)
+
+ bint PyDelta_Check(object op)
+ bint PyDelta_CheckExact(object op)
+
+ bint PyTZInfo_Check(object op)
+ bint PyTZInfo_CheckExact(object op)
+
+ # Getters for date and datetime (C macros).
+ int PyDateTime_GET_YEAR(object o)
+ int PyDateTime_GET_MONTH(object o)
+ int PyDateTime_GET_DAY(object o)
+
+ # Getters for datetime (C macros).
+ int PyDateTime_DATE_GET_HOUR(object o)
+ int PyDateTime_DATE_GET_MINUTE(object o)
+ int PyDateTime_DATE_GET_SECOND(object o)
+ int PyDateTime_DATE_GET_MICROSECOND(object o)
+
+ # Getters for time (C macros).
+ int PyDateTime_TIME_GET_HOUR(object o)
+ int PyDateTime_TIME_GET_MINUTE(object o)
+ int PyDateTime_TIME_GET_SECOND(object o)
+ int PyDateTime_TIME_GET_MICROSECOND(object o)
+
+ # Getters for timedelta (C macros).
int PyDateTime_DELTA_GET_DAYS(object o)
int PyDateTime_DELTA_GET_SECONDS(object o)
int PyDateTime_DELTA_GET_MICROSECONDS(object o)
-
- # PyDateTime CAPI object.
- PyDateTime_CAPI *PyDateTimeAPI
-
- void PyDateTime_IMPORT()
-
-# Datetime C API initialization function.
-# You have to call it before any usage of DateTime CAPI functions.
-cdef inline void import_datetime():
- PyDateTime_IMPORT
-
-# Create date object using DateTime CAPI factory function.
-# Note, there are no range checks for any of the arguments.
-cdef inline object date_new(int year, int month, int day):
- return PyDateTimeAPI.Date_FromDate(year, month, day, PyDateTimeAPI.DateType)
-
-# Create time object using DateTime CAPI factory function
-# Note, there are no range checks for any of the arguments.
-cdef inline object time_new(int hour, int minute, int second, int microsecond, object tz):
- return PyDateTimeAPI.Time_FromTime(hour, minute, second, microsecond, tz, PyDateTimeAPI.TimeType)
-
-# Create datetime object using DateTime CAPI factory function.
-# Note, there are no range checks for any of the arguments.
-cdef inline object datetime_new(int year, int month, int day, int hour, int minute, int second, int microsecond, object tz):
- return PyDateTimeAPI.DateTime_FromDateAndTime(year, month, day, hour, minute, second, microsecond, tz, PyDateTimeAPI.DateTimeType)
-
-# Create timedelta object using DateTime CAPI factory function.
-# Note, there are no range checks for any of the arguments.
-cdef inline object timedelta_new(int days, int seconds, int useconds):
- return PyDateTimeAPI.Delta_FromDelta(days, seconds, useconds, 1, PyDateTimeAPI.DeltaType)
-
-# More recognizable getters for date/time/datetime/timedelta.
-# There are no setters because datetime.h hasn't them.
-# This is because of immutable nature of these objects by design.
+
+ # PyDateTime CAPI object.
+ PyDateTime_CAPI *PyDateTimeAPI
+
+ void PyDateTime_IMPORT()
+
+# Datetime C API initialization function.
+# You have to call it before any usage of DateTime CAPI functions.
+cdef inline void import_datetime():
+ PyDateTime_IMPORT
+
+# Create date object using DateTime CAPI factory function.
+# Note, there are no range checks for any of the arguments.
+cdef inline object date_new(int year, int month, int day):
+ return PyDateTimeAPI.Date_FromDate(year, month, day, PyDateTimeAPI.DateType)
+
+# Create time object using DateTime CAPI factory function
+# Note, there are no range checks for any of the arguments.
+cdef inline object time_new(int hour, int minute, int second, int microsecond, object tz):
+ return PyDateTimeAPI.Time_FromTime(hour, minute, second, microsecond, tz, PyDateTimeAPI.TimeType)
+
+# Create datetime object using DateTime CAPI factory function.
+# Note, there are no range checks for any of the arguments.
+cdef inline object datetime_new(int year, int month, int day, int hour, int minute, int second, int microsecond, object tz):
+ return PyDateTimeAPI.DateTime_FromDateAndTime(year, month, day, hour, minute, second, microsecond, tz, PyDateTimeAPI.DateTimeType)
+
+# Create timedelta object using DateTime CAPI factory function.
+# Note, there are no range checks for any of the arguments.
+cdef inline object timedelta_new(int days, int seconds, int useconds):
+ return PyDateTimeAPI.Delta_FromDelta(days, seconds, useconds, 1, PyDateTimeAPI.DeltaType)
+
+# More recognizable getters for date/time/datetime/timedelta.
+# There are no setters because datetime.h hasn't them.
+# This is because of immutable nature of these objects by design.
# If you would change time/date/datetime/timedelta object you need to recreate.
-
-# Get tzinfo of time
-cdef inline object time_tzinfo(object o):
- if (<PyDateTime_Time*>o).hastzinfo:
- return <object>(<PyDateTime_Time*>o).tzinfo
- else:
- return None
-
+
+# Get tzinfo of time
+cdef inline object time_tzinfo(object o):
+ if (<PyDateTime_Time*>o).hastzinfo:
+ return <object>(<PyDateTime_Time*>o).tzinfo
+ else:
+ return None
+
# Get tzinfo of datetime
-cdef inline object datetime_tzinfo(object o):
- if (<PyDateTime_DateTime*>o).hastzinfo:
- return <object>(<PyDateTime_DateTime*>o).tzinfo
- else:
- return None
-
-# Get year of date
-cdef inline int date_year(object o):
- return PyDateTime_GET_YEAR(o)
-
-# Get month of date
-cdef inline int date_month(object o):
- return PyDateTime_GET_MONTH(o)
-
-# Get day of date
-cdef inline int date_day(object o):
- return PyDateTime_GET_DAY(o)
-
-# Get year of datetime
-cdef inline int datetime_year(object o):
- return PyDateTime_GET_YEAR(o)
-
-# Get month of datetime
-cdef inline int datetime_month(object o):
- return PyDateTime_GET_MONTH(o)
-
-# Get day of datetime
-cdef inline int datetime_day(object o):
- return PyDateTime_GET_DAY(o)
-
-# Get hour of time
-cdef inline int time_hour(object o):
- return PyDateTime_TIME_GET_HOUR(o)
-
-# Get minute of time
-cdef inline int time_minute(object o):
- return PyDateTime_TIME_GET_MINUTE(o)
-
-# Get second of time
-cdef inline int time_second(object o):
- return PyDateTime_TIME_GET_SECOND(o)
-
-# Get microsecond of time
-cdef inline int time_microsecond(object o):
- return PyDateTime_TIME_GET_MICROSECOND(o)
-
-# Get hour of datetime
-cdef inline int datetime_hour(object o):
- return PyDateTime_DATE_GET_HOUR(o)
-
-# Get minute of datetime
-cdef inline int datetime_minute(object o):
- return PyDateTime_DATE_GET_MINUTE(o)
-
-# Get second of datetime
-cdef inline int datetime_second(object o):
- return PyDateTime_DATE_GET_SECOND(o)
-
-# Get microsecond of datetime
-cdef inline int datetime_microsecond(object o):
- return PyDateTime_DATE_GET_MICROSECOND(o)
-
-# Get days of timedelta
-cdef inline int timedelta_days(object o):
- return (<PyDateTime_Delta*>o).days
-
-# Get seconds of timedelta
-cdef inline int timedelta_seconds(object o):
- return (<PyDateTime_Delta*>o).seconds
-
-# Get microseconds of timedelta
-cdef inline int timedelta_microseconds(object o):
- return (<PyDateTime_Delta*>o).microseconds
+cdef inline object datetime_tzinfo(object o):
+ if (<PyDateTime_DateTime*>o).hastzinfo:
+ return <object>(<PyDateTime_DateTime*>o).tzinfo
+ else:
+ return None
+
+# Get year of date
+cdef inline int date_year(object o):
+ return PyDateTime_GET_YEAR(o)
+
+# Get month of date
+cdef inline int date_month(object o):
+ return PyDateTime_GET_MONTH(o)
+
+# Get day of date
+cdef inline int date_day(object o):
+ return PyDateTime_GET_DAY(o)
+
+# Get year of datetime
+cdef inline int datetime_year(object o):
+ return PyDateTime_GET_YEAR(o)
+
+# Get month of datetime
+cdef inline int datetime_month(object o):
+ return PyDateTime_GET_MONTH(o)
+
+# Get day of datetime
+cdef inline int datetime_day(object o):
+ return PyDateTime_GET_DAY(o)
+
+# Get hour of time
+cdef inline int time_hour(object o):
+ return PyDateTime_TIME_GET_HOUR(o)
+
+# Get minute of time
+cdef inline int time_minute(object o):
+ return PyDateTime_TIME_GET_MINUTE(o)
+
+# Get second of time
+cdef inline int time_second(object o):
+ return PyDateTime_TIME_GET_SECOND(o)
+
+# Get microsecond of time
+cdef inline int time_microsecond(object o):
+ return PyDateTime_TIME_GET_MICROSECOND(o)
+
+# Get hour of datetime
+cdef inline int datetime_hour(object o):
+ return PyDateTime_DATE_GET_HOUR(o)
+
+# Get minute of datetime
+cdef inline int datetime_minute(object o):
+ return PyDateTime_DATE_GET_MINUTE(o)
+
+# Get second of datetime
+cdef inline int datetime_second(object o):
+ return PyDateTime_DATE_GET_SECOND(o)
+
+# Get microsecond of datetime
+cdef inline int datetime_microsecond(object o):
+ return PyDateTime_DATE_GET_MICROSECOND(o)
+
+# Get days of timedelta
+cdef inline int timedelta_days(object o):
+ return (<PyDateTime_Delta*>o).days
+
+# Get seconds of timedelta
+cdef inline int timedelta_seconds(object o):
+ return (<PyDateTime_Delta*>o).seconds
+
+# Get microseconds of timedelta
+cdef inline int timedelta_microseconds(object o):
+ return (<PyDateTime_Delta*>o).microseconds
diff --git a/contrib/tools/cython/Cython/Includes/cpython/dict.pxd b/contrib/tools/cython/Cython/Includes/cpython/dict.pxd
index 16dd5e1458..a27df95f9f 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/dict.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/dict.pxd
@@ -1,165 +1,165 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
- ############################################################################
- # 7.4.1 Dictionary Objects
- ############################################################################
-
- # PyDictObject
- #
- # This subtype of PyObject represents a Python dictionary object
- # (i.e. the 'dict' type).
-
- # PyTypeObject PyDict_Type
- #
- # This instance of PyTypeObject represents the Python dictionary
- # type. This is exposed to Python programs as dict and
- # types.DictType.
-
- bint PyDict_Check(object p)
- # Return true if p is a dict object or an instance of a subtype of
- # the dict type.
-
- bint PyDict_CheckExact(object p)
- # Return true if p is a dict object, but not an instance of a
- # subtype of the dict type.
-
- dict PyDict_New()
- # Return value: New reference.
- # Return a new empty dictionary, or NULL on failure.
-
- object PyDictProxy_New(object dict)
- # Return value: New reference.
- # Return a proxy object for a mapping which enforces read-only
- # behavior. This is normally used to create a proxy to prevent
- # modification of the dictionary for non-dynamic class types.
-
- void PyDict_Clear(object p)
- # Empty an existing dictionary of all key-value pairs.
-
- int PyDict_Contains(object p, object key) except -1
- # Determine if dictionary p contains key. If an item in p is
- # matches key, return 1, otherwise return 0. On error, return
- # -1. This is equivalent to the Python expression "key in p".
-
- dict PyDict_Copy(object p)
- # Return value: New reference.
- # Return a new dictionary that contains the same key-value pairs as p.
-
- int PyDict_SetItem(object p, object key, object val) except -1
- # Insert value into the dictionary p with a key of key. key must
- # be hashable; if it isn't, TypeError will be raised. Return 0 on
- # success or -1 on failure.
-
+
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 7.4.1 Dictionary Objects
+ ############################################################################
+
+ # PyDictObject
+ #
+ # This subtype of PyObject represents a Python dictionary object
+ # (i.e. the 'dict' type).
+
+ # PyTypeObject PyDict_Type
+ #
+ # This instance of PyTypeObject represents the Python dictionary
+ # type. This is exposed to Python programs as dict and
+ # types.DictType.
+
+ bint PyDict_Check(object p)
+ # Return true if p is a dict object or an instance of a subtype of
+ # the dict type.
+
+ bint PyDict_CheckExact(object p)
+ # Return true if p is a dict object, but not an instance of a
+ # subtype of the dict type.
+
+ dict PyDict_New()
+ # Return value: New reference.
+ # Return a new empty dictionary, or NULL on failure.
+
+ object PyDictProxy_New(object dict)
+ # Return value: New reference.
+ # Return a proxy object for a mapping which enforces read-only
+ # behavior. This is normally used to create a proxy to prevent
+ # modification of the dictionary for non-dynamic class types.
+
+ void PyDict_Clear(object p)
+ # Empty an existing dictionary of all key-value pairs.
+
+ int PyDict_Contains(object p, object key) except -1
+ # Determine if dictionary p contains key. If an item in p is
+ # matches key, return 1, otherwise return 0. On error, return
+ # -1. This is equivalent to the Python expression "key in p".
+
+ dict PyDict_Copy(object p)
+ # Return value: New reference.
+ # Return a new dictionary that contains the same key-value pairs as p.
+
+ int PyDict_SetItem(object p, object key, object val) except -1
+ # Insert value into the dictionary p with a key of key. key must
+ # be hashable; if it isn't, TypeError will be raised. Return 0 on
+ # success or -1 on failure.
+
int PyDict_SetItemString(object p, const char *key, object val) except -1
- # Insert value into the dictionary p using key as a key. key
- # should be a char*. The key object is created using
- # PyString_FromString(key). Return 0 on success or -1 on failure.
-
- int PyDict_DelItem(object p, object key) except -1
- # Remove the entry in dictionary p with key key. key must be
- # hashable; if it isn't, TypeError is raised. Return 0 on success
- # or -1 on failure.
-
+ # Insert value into the dictionary p using key as a key. key
+ # should be a char*. The key object is created using
+ # PyString_FromString(key). Return 0 on success or -1 on failure.
+
+ int PyDict_DelItem(object p, object key) except -1
+ # Remove the entry in dictionary p with key key. key must be
+ # hashable; if it isn't, TypeError is raised. Return 0 on success
+ # or -1 on failure.
+
int PyDict_DelItemString(object p, const char *key) except -1
- # Remove the entry in dictionary p which has a key specified by
- # the string key. Return 0 on success or -1 on failure.
-
- PyObject* PyDict_GetItem(object p, object key)
- # Return value: Borrowed reference.
- # Return the object from dictionary p which has a key key. Return
- # NULL if the key key is not present, but without setting an
- # exception.
-
+ # Remove the entry in dictionary p which has a key specified by
+ # the string key. Return 0 on success or -1 on failure.
+
+ PyObject* PyDict_GetItem(object p, object key)
+ # Return value: Borrowed reference.
+ # Return the object from dictionary p which has a key key. Return
+ # NULL if the key key is not present, but without setting an
+ # exception.
+
PyObject* PyDict_GetItemString(object p, const char *key)
- # Return value: Borrowed reference.
- # This is the same as PyDict_GetItem(), but key is specified as a
- # char*, rather than a PyObject*.
-
- list PyDict_Items(object p)
- # Return value: New reference.
- # Return a PyListObject containing all the items from the
- # dictionary, as in the dictionary method items() (see the Python
- # Library Reference).
-
- list PyDict_Keys(object p)
- # Return value: New reference.
- # Return a PyListObject containing all the keys from the
- # dictionary, as in the dictionary method keys() (see the Python
- # Library Reference).
-
- list PyDict_Values(object p)
- # Return value: New reference.
- # Return a PyListObject containing all the values from the
- # dictionary p, as in the dictionary method values() (see the
- # Python Library Reference).
-
- Py_ssize_t PyDict_Size(object p) except -1
- # Return the number of items in the dictionary. This is equivalent
- # to "len(p)" on a dictionary.
-
- int PyDict_Next(object p, Py_ssize_t *ppos, PyObject* *pkey, PyObject* *pvalue)
- # Iterate over all key-value pairs in the dictionary p. The int
- # referred to by ppos must be initialized to 0 prior to the first
- # call to this function to start the iteration; the function
- # returns true for each pair in the dictionary, and false once all
- # pairs have been reported. The parameters pkey and pvalue should
- # either point to PyObject* variables that will be filled in with
- # each key and value, respectively, or may be NULL. Any references
- # returned through them are borrowed. ppos should not be altered
- # during iteration. Its value represents offsets within the
- # internal dictionary structure, and since the structure is
- # sparse, the offsets are not consecutive.
- # For example:
- #
- #object key, *value;
- #int pos = 0;
- #
- #while (PyDict_Next(self->dict, &pos, &key, &value)) {
- # /* do something interesting with the values... */
- # ...
- #}
- # The dictionary p should not be mutated during iteration. It is
- # safe (since Python 2.1) to modify the values of the keys as you
- # iterate over the dictionary, but only so long as the set of keys
- # does not change. For example:
- # object key, *value;
- # int pos = 0;
- # while (PyDict_Next(self->dict, &pos, &key, &value)) {
- # int i = PyInt_AS_LONG(value) + 1;
- # object o = PyInt_FromLong(i);
- # if (o == NULL)
- # return -1;
- # if (PyDict_SetItem(self->dict, key, o) < 0) {
- # Py_DECREF(o);
- # return -1;
- # }
- # Py_DECREF(o);
- # }
-
- int PyDict_Merge(object a, object b, int override) except -1
- # Iterate over mapping object b adding key-value pairs to
- # dictionary a. b may be a dictionary, or any object supporting
- # PyMapping_Keys() and PyObject_GetItem(). If override is true,
- # existing pairs in a will be replaced if a matching key is found
- # in b, otherwise pairs will only be added if there is not a
- # matching key in a. Return 0 on success or -1 if an exception was
- # raised.
-
- int PyDict_Update(object a, object b) except -1
- # This is the same as PyDict_Merge(a, b, 1) in C, or a.update(b)
- # in Python. Return 0 on success or -1 if an exception was raised.
-
- int PyDict_MergeFromSeq2(object a, object seq2, int override) except -1
- # Update or merge into dictionary a, from the key-value pairs in
- # seq2. seq2 must be an iterable object producing iterable objects
- # of length 2, viewed as key-value pairs. In case of duplicate
- # keys, the last wins if override is true, else the first
- # wins. Return 0 on success or -1 if an exception was
- # raised. Equivalent Python (except for the return value):
- #
- #def PyDict_MergeFromSeq2(a, seq2, override):
- # for key, value in seq2:
- # if override or key not in a:
- # a[key] = value
+ # Return value: Borrowed reference.
+ # This is the same as PyDict_GetItem(), but key is specified as a
+ # char*, rather than a PyObject*.
+
+ list PyDict_Items(object p)
+ # Return value: New reference.
+ # Return a PyListObject containing all the items from the
+ # dictionary, as in the dictionary method items() (see the Python
+ # Library Reference).
+
+ list PyDict_Keys(object p)
+ # Return value: New reference.
+ # Return a PyListObject containing all the keys from the
+ # dictionary, as in the dictionary method keys() (see the Python
+ # Library Reference).
+
+ list PyDict_Values(object p)
+ # Return value: New reference.
+ # Return a PyListObject containing all the values from the
+ # dictionary p, as in the dictionary method values() (see the
+ # Python Library Reference).
+
+ Py_ssize_t PyDict_Size(object p) except -1
+ # Return the number of items in the dictionary. This is equivalent
+ # to "len(p)" on a dictionary.
+
+ int PyDict_Next(object p, Py_ssize_t *ppos, PyObject* *pkey, PyObject* *pvalue)
+ # Iterate over all key-value pairs in the dictionary p. The int
+ # referred to by ppos must be initialized to 0 prior to the first
+ # call to this function to start the iteration; the function
+ # returns true for each pair in the dictionary, and false once all
+ # pairs have been reported. The parameters pkey and pvalue should
+ # either point to PyObject* variables that will be filled in with
+ # each key and value, respectively, or may be NULL. Any references
+ # returned through them are borrowed. ppos should not be altered
+ # during iteration. Its value represents offsets within the
+ # internal dictionary structure, and since the structure is
+ # sparse, the offsets are not consecutive.
+ # For example:
+ #
+ #object key, *value;
+ #int pos = 0;
+ #
+ #while (PyDict_Next(self->dict, &pos, &key, &value)) {
+ # /* do something interesting with the values... */
+ # ...
+ #}
+ # The dictionary p should not be mutated during iteration. It is
+ # safe (since Python 2.1) to modify the values of the keys as you
+ # iterate over the dictionary, but only so long as the set of keys
+ # does not change. For example:
+ # object key, *value;
+ # int pos = 0;
+ # while (PyDict_Next(self->dict, &pos, &key, &value)) {
+ # int i = PyInt_AS_LONG(value) + 1;
+ # object o = PyInt_FromLong(i);
+ # if (o == NULL)
+ # return -1;
+ # if (PyDict_SetItem(self->dict, key, o) < 0) {
+ # Py_DECREF(o);
+ # return -1;
+ # }
+ # Py_DECREF(o);
+ # }
+
+ int PyDict_Merge(object a, object b, int override) except -1
+ # Iterate over mapping object b adding key-value pairs to
+ # dictionary a. b may be a dictionary, or any object supporting
+ # PyMapping_Keys() and PyObject_GetItem(). If override is true,
+ # existing pairs in a will be replaced if a matching key is found
+ # in b, otherwise pairs will only be added if there is not a
+ # matching key in a. Return 0 on success or -1 if an exception was
+ # raised.
+
+ int PyDict_Update(object a, object b) except -1
+ # This is the same as PyDict_Merge(a, b, 1) in C, or a.update(b)
+ # in Python. Return 0 on success or -1 if an exception was raised.
+
+ int PyDict_MergeFromSeq2(object a, object seq2, int override) except -1
+ # Update or merge into dictionary a, from the key-value pairs in
+ # seq2. seq2 must be an iterable object producing iterable objects
+ # of length 2, viewed as key-value pairs. In case of duplicate
+ # keys, the last wins if override is true, else the first
+ # wins. Return 0 on success or -1 if an exception was
+ # raised. Equivalent Python (except for the return value):
+ #
+ #def PyDict_MergeFromSeq2(a, seq2, override):
+ # for key, value in seq2:
+ # if override or key not in a:
+ # a[key] = value
diff --git a/contrib/tools/cython/Cython/Includes/cpython/exc.pxd b/contrib/tools/cython/Cython/Includes/cpython/exc.pxd
index bc57c0e571..de0a086e11 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/exc.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/exc.pxd
@@ -1,158 +1,158 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
- #####################################################################
- # 3. Exception Handling
- #####################################################################
-
- # The functions described in this chapter will let you handle and
- # raise Python exceptions. It is important to understand some of
- # the basics of Python exception handling. It works somewhat like
- # the Unix errno variable: there is a global indicator (per
- # thread) of the last error that occurred. Most functions don't
- # clear this on success, but will set it to indicate the cause of
- # the error on failure. Most functions also return an error
- # indicator, usually NULL if they are supposed to return a
- # pointer, or -1 if they return an integer (exception: the
- # PyArg_*() functions return 1 for success and 0 for failure).
-
- # When a function must fail because some function it called
- # failed, it generally doesn't set the error indicator; the
- # function it called already set it. It is responsible for either
- # handling the error and clearing the exception or returning after
- # cleaning up any resources it holds (such as object references or
- # memory allocations); it should not continue normally if it is
- # not prepared to handle the error. If returning due to an error,
- # it is important to indicate to the caller that an error has been
- # set. If the error is not handled or carefully propagated,
- # additional calls into the Python/C API may not behave as
- # intended and may fail in mysterious ways.
-
- # The error indicator consists of three Python objects
- # corresponding to the Python variables sys.exc_type,
- # sys.exc_value and sys.exc_traceback. API functions exist to
- # interact with the error indicator in various ways. There is a
- # separate error indicator for each thread.
-
- void PyErr_Print()
- # Print a standard traceback to sys.stderr and clear the error
- # indicator. Call this function only when the error indicator is
- # set. (Otherwise it will cause a fatal error!)
-
- PyObject* PyErr_Occurred()
- # Return value: Borrowed reference.
- # Test whether the error indicator is set. If set, return the
- # exception type (the first argument to the last call to one of
- # the PyErr_Set*() functions or to PyErr_Restore()). If not set,
- # return NULL. You do not own a reference to the return value, so
- # you do not need to Py_DECREF() it. Note: Do not compare the
- # return value to a specific exception; use
- # PyErr_ExceptionMatches() instead, shown below. (The comparison
- # could easily fail since the exception may be an instance instead
+
+cdef extern from "Python.h":
+
+ #####################################################################
+ # 3. Exception Handling
+ #####################################################################
+
+ # The functions described in this chapter will let you handle and
+ # raise Python exceptions. It is important to understand some of
+ # the basics of Python exception handling. It works somewhat like
+ # the Unix errno variable: there is a global indicator (per
+ # thread) of the last error that occurred. Most functions don't
+ # clear this on success, but will set it to indicate the cause of
+ # the error on failure. Most functions also return an error
+ # indicator, usually NULL if they are supposed to return a
+ # pointer, or -1 if they return an integer (exception: the
+ # PyArg_*() functions return 1 for success and 0 for failure).
+
+ # When a function must fail because some function it called
+ # failed, it generally doesn't set the error indicator; the
+ # function it called already set it. It is responsible for either
+ # handling the error and clearing the exception or returning after
+ # cleaning up any resources it holds (such as object references or
+ # memory allocations); it should not continue normally if it is
+ # not prepared to handle the error. If returning due to an error,
+ # it is important to indicate to the caller that an error has been
+ # set. If the error is not handled or carefully propagated,
+ # additional calls into the Python/C API may not behave as
+ # intended and may fail in mysterious ways.
+
+ # The error indicator consists of three Python objects
+ # corresponding to the Python variables sys.exc_type,
+ # sys.exc_value and sys.exc_traceback. API functions exist to
+ # interact with the error indicator in various ways. There is a
+ # separate error indicator for each thread.
+
+ void PyErr_Print()
+ # Print a standard traceback to sys.stderr and clear the error
+ # indicator. Call this function only when the error indicator is
+ # set. (Otherwise it will cause a fatal error!)
+
+ PyObject* PyErr_Occurred()
+ # Return value: Borrowed reference.
+ # Test whether the error indicator is set. If set, return the
+ # exception type (the first argument to the last call to one of
+ # the PyErr_Set*() functions or to PyErr_Restore()). If not set,
+ # return NULL. You do not own a reference to the return value, so
+ # you do not need to Py_DECREF() it. Note: Do not compare the
+ # return value to a specific exception; use
+ # PyErr_ExceptionMatches() instead, shown below. (The comparison
+ # could easily fail since the exception may be an instance instead
# of a class, in the case of a class exception, or it may be a
- # subclass of the expected exception.)
-
- bint PyErr_ExceptionMatches(object exc)
- # Equivalent to "PyErr_GivenExceptionMatches(PyErr_Occurred(),
- # exc)". This should only be called when an exception is actually
- # set; a memory access violation will occur if no exception has
- # been raised.
-
- bint PyErr_GivenExceptionMatches(object given, object exc)
- # Return true if the given exception matches the exception in
- # exc. If exc is a class object, this also returns true when given
- # is an instance of a subclass. If exc is a tuple, all exceptions
- # in the tuple (and recursively in subtuples) are searched for a
- # match. If given is NULL, a memory access violation will occur.
-
- void PyErr_NormalizeException(PyObject** exc, PyObject** val, PyObject** tb)
- # Under certain circumstances, the values returned by
- # PyErr_Fetch() below can be ``unnormalized'', meaning that *exc
- # is a class object but *val is not an instance of the same
- # class. This function can be used to instantiate the class in
- # that case. If the values are already normalized, nothing
- # happens. The delayed normalization is implemented to improve
- # performance.
-
- void PyErr_Clear()
- # Clear the error indicator. If the error indicator is not set, there is no effect.
-
- void PyErr_Fetch(PyObject** ptype, PyObject** pvalue, PyObject** ptraceback)
- # Retrieve the error indicator into three variables whose
- # addresses are passed. If the error indicator is not set, set all
- # three variables to NULL. If it is set, it will be cleared and
- # you own a reference to each object retrieved. The value and
- # traceback object may be NULL even when the type object is
- # not. Note: This function is normally only used by code that
- # needs to handle exceptions or by code that needs to save and
- # restore the error indicator temporarily.
-
- void PyErr_Restore(PyObject* type, PyObject* value, PyObject* traceback)
- # Set the error indicator from the three objects. If the error
- # indicator is already set, it is cleared first. If the objects
- # are NULL, the error indicator is cleared. Do not pass a NULL
- # type and non-NULL value or traceback. The exception type should
- # be a class. Do not pass an invalid exception type or
- # value. (Violating these rules will cause subtle problems later.)
- # This call takes away a reference to each object: you must own a
- # reference to each object before the call and after the call you
- # no longer own these references. (If you don't understand this,
- # don't use this function. I warned you.) Note: This function is
- # normally only used by code that needs to save and restore the
- # error indicator temporarily; use PyErr_Fetch() to save the
- # current exception state.
-
- void PyErr_SetString(object type, char *message)
- # This is the most common way to set the error indicator. The
- # first argument specifies the exception type; it is normally one
- # of the standard exceptions, e.g. PyExc_RuntimeError. You need
- # not increment its reference count. The second argument is an
- # error message; it is converted to a string object.
-
- void PyErr_SetObject(object type, object value)
- # This function is similar to PyErr_SetString() but lets you
- # specify an arbitrary Python object for the ``value'' of the
- # exception.
-
- PyObject* PyErr_Format(object exception, char *format, ...) except NULL
- # Return value: Always NULL.
- # This function sets the error indicator and returns
- # NULL. exception should be a Python exception (class, not an
- # instance). format should be a string, containing format codes,
- # similar to printf(). The width.precision before a format code is
- # parsed, but the width part is ignored.
-
- void PyErr_SetNone(object type)
- # This is a shorthand for "PyErr_SetObject(type, Py_None)".
-
- int PyErr_BadArgument() except 0
-
- # This is a shorthand for "PyErr_SetString(PyExc_TypeError,
- # message)", where message indicates that a built-in operation was
- # invoked with an illegal argument. It is mostly for internal use.
-
- PyObject* PyErr_NoMemory() except NULL
- # Return value: Always NULL.
- # This is a shorthand for "PyErr_SetNone(PyExc_MemoryError)"; it
- # returns NULL so an object allocation function can write "return
- # PyErr_NoMemory();" when it runs out of memory.
-
- PyObject* PyErr_SetFromErrno(object type) except NULL
- # Return value: Always NULL.
- # This is a convenience function to raise an exception when a C
- # library function has returned an error and set the C variable
- # errno. It constructs a tuple object whose first item is the
- # integer errno value and whose second item is the corresponding
- # error message (gotten from strerror()), and then calls
- # "PyErr_SetObject(type, object)". On Unix, when the errno value
- # is EINTR, indicating an interrupted system call, this calls
- # PyErr_CheckSignals(), and if that set the error indicator,
- # leaves it set to that. The function always returns NULL, so a
- # wrapper function around a system call can write "return
- # PyErr_SetFromErrno(type);" when the system call returns an
- # error.
-
+ # subclass of the expected exception.)
+
+ bint PyErr_ExceptionMatches(object exc)
+ # Equivalent to "PyErr_GivenExceptionMatches(PyErr_Occurred(),
+ # exc)". This should only be called when an exception is actually
+ # set; a memory access violation will occur if no exception has
+ # been raised.
+
+ bint PyErr_GivenExceptionMatches(object given, object exc)
+ # Return true if the given exception matches the exception in
+ # exc. If exc is a class object, this also returns true when given
+ # is an instance of a subclass. If exc is a tuple, all exceptions
+ # in the tuple (and recursively in subtuples) are searched for a
+ # match. If given is NULL, a memory access violation will occur.
+
+ void PyErr_NormalizeException(PyObject** exc, PyObject** val, PyObject** tb)
+ # Under certain circumstances, the values returned by
+ # PyErr_Fetch() below can be ``unnormalized'', meaning that *exc
+ # is a class object but *val is not an instance of the same
+ # class. This function can be used to instantiate the class in
+ # that case. If the values are already normalized, nothing
+ # happens. The delayed normalization is implemented to improve
+ # performance.
+
+ void PyErr_Clear()
+ # Clear the error indicator. If the error indicator is not set, there is no effect.
+
+ void PyErr_Fetch(PyObject** ptype, PyObject** pvalue, PyObject** ptraceback)
+ # Retrieve the error indicator into three variables whose
+ # addresses are passed. If the error indicator is not set, set all
+ # three variables to NULL. If it is set, it will be cleared and
+ # you own a reference to each object retrieved. The value and
+ # traceback object may be NULL even when the type object is
+ # not. Note: This function is normally only used by code that
+ # needs to handle exceptions or by code that needs to save and
+ # restore the error indicator temporarily.
+
+ void PyErr_Restore(PyObject* type, PyObject* value, PyObject* traceback)
+ # Set the error indicator from the three objects. If the error
+ # indicator is already set, it is cleared first. If the objects
+ # are NULL, the error indicator is cleared. Do not pass a NULL
+ # type and non-NULL value or traceback. The exception type should
+ # be a class. Do not pass an invalid exception type or
+ # value. (Violating these rules will cause subtle problems later.)
+ # This call takes away a reference to each object: you must own a
+ # reference to each object before the call and after the call you
+ # no longer own these references. (If you don't understand this,
+ # don't use this function. I warned you.) Note: This function is
+ # normally only used by code that needs to save and restore the
+ # error indicator temporarily; use PyErr_Fetch() to save the
+ # current exception state.
+
+ void PyErr_SetString(object type, char *message)
+ # This is the most common way to set the error indicator. The
+ # first argument specifies the exception type; it is normally one
+ # of the standard exceptions, e.g. PyExc_RuntimeError. You need
+ # not increment its reference count. The second argument is an
+ # error message; it is converted to a string object.
+
+ void PyErr_SetObject(object type, object value)
+ # This function is similar to PyErr_SetString() but lets you
+ # specify an arbitrary Python object for the ``value'' of the
+ # exception.
+
+ PyObject* PyErr_Format(object exception, char *format, ...) except NULL
+ # Return value: Always NULL.
+ # This function sets the error indicator and returns
+ # NULL. exception should be a Python exception (class, not an
+ # instance). format should be a string, containing format codes,
+ # similar to printf(). The width.precision before a format code is
+ # parsed, but the width part is ignored.
+
+ void PyErr_SetNone(object type)
+ # This is a shorthand for "PyErr_SetObject(type, Py_None)".
+
+ int PyErr_BadArgument() except 0
+
+ # This is a shorthand for "PyErr_SetString(PyExc_TypeError,
+ # message)", where message indicates that a built-in operation was
+ # invoked with an illegal argument. It is mostly for internal use.
+
+ PyObject* PyErr_NoMemory() except NULL
+ # Return value: Always NULL.
+ # This is a shorthand for "PyErr_SetNone(PyExc_MemoryError)"; it
+ # returns NULL so an object allocation function can write "return
+ # PyErr_NoMemory();" when it runs out of memory.
+
+ PyObject* PyErr_SetFromErrno(object type) except NULL
+ # Return value: Always NULL.
+ # This is a convenience function to raise an exception when a C
+ # library function has returned an error and set the C variable
+ # errno. It constructs a tuple object whose first item is the
+ # integer errno value and whose second item is the corresponding
+ # error message (gotten from strerror()), and then calls
+ # "PyErr_SetObject(type, object)". On Unix, when the errno value
+ # is EINTR, indicating an interrupted system call, this calls
+ # PyErr_CheckSignals(), and if that set the error indicator,
+ # leaves it set to that. The function always returns NULL, so a
+ # wrapper function around a system call can write "return
+ # PyErr_SetFromErrno(type);" when the system call returns an
+ # error.
+
PyObject* PyErr_SetFromErrnoWithFilenameObject(object type, object filenameObject) except NULL
# Similar to PyErr_SetFromErrno(), with the additional behavior
# that if filenameObject is not NULL, it is passed to the
@@ -160,98 +160,98 @@ cdef extern from "Python.h":
# In the case of OSError exception, this is used to define
# the filename attribute of the exception instance.
- PyObject* PyErr_SetFromErrnoWithFilename(object type, char *filename) except NULL
- # Return value: Always NULL. Similar to PyErr_SetFromErrno(),
- # with the additional behavior that if filename is not NULL, it is
- # passed to the constructor of type as a third parameter. In the
- # case of exceptions such as IOError and OSError, this is used to
- # define the filename attribute of the exception instance.
-
- PyObject* PyErr_SetFromWindowsErr(int ierr) except NULL
- # Return value: Always NULL. This is a convenience function to
- # raise WindowsError. If called with ierr of 0, the error code
- # returned by a call to GetLastError() is used instead. It calls
- # the Win32 function FormatMessage() to retrieve the Windows
- # description of error code given by ierr or GetLastError(), then
- # it constructs a tuple object whose first item is the ierr value
- # and whose second item is the corresponding error message (gotten
- # from FormatMessage()), and then calls
- # "PyErr_SetObject(PyExc_WindowsError, object)". This function
- # always returns NULL. Availability: Windows.
-
- PyObject* PyErr_SetExcFromWindowsErr(object type, int ierr) except NULL
- # Return value: Always NULL. Similar to
- # PyErr_SetFromWindowsErr(), with an additional parameter
- # specifying the exception type to be raised. Availability:
- # Windows. New in version 2.3.
-
- PyObject* PyErr_SetFromWindowsErrWithFilename(int ierr, char *filename) except NULL
- # Return value: Always NULL. Similar to
- # PyErr_SetFromWindowsErr(), with the additional behavior that if
- # filename is not NULL, it is passed to the constructor of
- # WindowsError as a third parameter. Availability: Windows.
-
- PyObject* PyErr_SetExcFromWindowsErrWithFilename(object type, int ierr, char *filename) except NULL
- # Return value: Always NULL.
- # Similar to PyErr_SetFromWindowsErrWithFilename(), with an
- # additional parameter specifying the exception type to be
- # raised. Availability: Windows.
-
- void PyErr_BadInternalCall()
- # This is a shorthand for "PyErr_SetString(PyExc_TypeError,
- # message)", where message indicates that an internal operation
- # (e.g. a Python/C API function) was invoked with an illegal
- # argument. It is mostly for internal use.
-
- int PyErr_WarnEx(object category, char *message, int stacklevel) except -1
- # Issue a warning message. The category argument is a warning
- # category (see below) or NULL; the message argument is a message
- # string. stacklevel is a positive number giving a number of stack
- # frames; the warning will be issued from the currently executing
- # line of code in that stack frame. A stacklevel of 1 is the
- # function calling PyErr_WarnEx(), 2 is the function above that,
- # and so forth.
-
- int PyErr_WarnExplicit(object category, char *message, char *filename, int lineno, char *module, object registry) except -1
- # Issue a warning message with explicit control over all warning
- # attributes. This is a straightforward wrapper around the Python
- # function warnings.warn_explicit(), see there for more
- # information. The module and registry arguments may be set to
- # NULL to get the default effect described there.
-
- int PyErr_CheckSignals() except -1
- # This function interacts with Python's signal handling. It checks
- # whether a signal has been sent to the processes and if so,
- # invokes the corresponding signal handler. If the signal module
- # is supported, this can invoke a signal handler written in
- # Python. In all cases, the default effect for SIGINT is to raise
- # the KeyboardInterrupt exception. If an exception is raised the
- # error indicator is set and the function returns 1; otherwise the
- # function returns 0. The error indicator may or may not be
- # cleared if it was previously set.
-
- void PyErr_SetInterrupt() nogil
- # This function simulates the effect of a SIGINT signal arriving
- # -- the next time PyErr_CheckSignals() is called,
- # KeyboardInterrupt will be raised. It may be called without
- # holding the interpreter lock.
-
- object PyErr_NewException(char *name, object base, object dict)
- # Return value: New reference.
- # This utility function creates and returns a new exception
- # object. The name argument must be the name of the new exception,
- # a C string of the form module.class. The base and dict arguments
- # are normally NULL. This creates a class object derived from
- # Exception (accessible in C as PyExc_Exception).
-
- void PyErr_WriteUnraisable(object obj)
- # This utility function prints a warning message to sys.stderr
- # when an exception has been set but it is impossible for the
- # interpreter to actually raise the exception. It is used, for
- # example, when an exception occurs in an __del__() method.
- #
- # The function is called with a single argument obj that
- # identifies the context in which the unraisable exception
- # occurred. The repr of obj will be printed in the warning
- # message.
-
+ PyObject* PyErr_SetFromErrnoWithFilename(object type, char *filename) except NULL
+ # Return value: Always NULL. Similar to PyErr_SetFromErrno(),
+ # with the additional behavior that if filename is not NULL, it is
+ # passed to the constructor of type as a third parameter. In the
+ # case of exceptions such as IOError and OSError, this is used to
+ # define the filename attribute of the exception instance.
+
+ PyObject* PyErr_SetFromWindowsErr(int ierr) except NULL
+ # Return value: Always NULL. This is a convenience function to
+ # raise WindowsError. If called with ierr of 0, the error code
+ # returned by a call to GetLastError() is used instead. It calls
+ # the Win32 function FormatMessage() to retrieve the Windows
+ # description of error code given by ierr or GetLastError(), then
+ # it constructs a tuple object whose first item is the ierr value
+ # and whose second item is the corresponding error message (gotten
+ # from FormatMessage()), and then calls
+ # "PyErr_SetObject(PyExc_WindowsError, object)". This function
+ # always returns NULL. Availability: Windows.
+
+ PyObject* PyErr_SetExcFromWindowsErr(object type, int ierr) except NULL
+ # Return value: Always NULL. Similar to
+ # PyErr_SetFromWindowsErr(), with an additional parameter
+ # specifying the exception type to be raised. Availability:
+ # Windows. New in version 2.3.
+
+ PyObject* PyErr_SetFromWindowsErrWithFilename(int ierr, char *filename) except NULL
+ # Return value: Always NULL. Similar to
+ # PyErr_SetFromWindowsErr(), with the additional behavior that if
+ # filename is not NULL, it is passed to the constructor of
+ # WindowsError as a third parameter. Availability: Windows.
+
+ PyObject* PyErr_SetExcFromWindowsErrWithFilename(object type, int ierr, char *filename) except NULL
+ # Return value: Always NULL.
+ # Similar to PyErr_SetFromWindowsErrWithFilename(), with an
+ # additional parameter specifying the exception type to be
+ # raised. Availability: Windows.
+
+ void PyErr_BadInternalCall()
+ # This is a shorthand for "PyErr_SetString(PyExc_TypeError,
+ # message)", where message indicates that an internal operation
+ # (e.g. a Python/C API function) was invoked with an illegal
+ # argument. It is mostly for internal use.
+
+ int PyErr_WarnEx(object category, char *message, int stacklevel) except -1
+ # Issue a warning message. The category argument is a warning
+ # category (see below) or NULL; the message argument is a message
+ # string. stacklevel is a positive number giving a number of stack
+ # frames; the warning will be issued from the currently executing
+ # line of code in that stack frame. A stacklevel of 1 is the
+ # function calling PyErr_WarnEx(), 2 is the function above that,
+ # and so forth.
+
+ int PyErr_WarnExplicit(object category, char *message, char *filename, int lineno, char *module, object registry) except -1
+ # Issue a warning message with explicit control over all warning
+ # attributes. This is a straightforward wrapper around the Python
+ # function warnings.warn_explicit(), see there for more
+ # information. The module and registry arguments may be set to
+ # NULL to get the default effect described there.
+
+ int PyErr_CheckSignals() except -1
+ # This function interacts with Python's signal handling. It checks
+ # whether a signal has been sent to the processes and if so,
+ # invokes the corresponding signal handler. If the signal module
+ # is supported, this can invoke a signal handler written in
+ # Python. In all cases, the default effect for SIGINT is to raise
+ # the KeyboardInterrupt exception. If an exception is raised the
+ # error indicator is set and the function returns 1; otherwise the
+ # function returns 0. The error indicator may or may not be
+ # cleared if it was previously set.
+
+ void PyErr_SetInterrupt() nogil
+ # This function simulates the effect of a SIGINT signal arriving
+ # -- the next time PyErr_CheckSignals() is called,
+ # KeyboardInterrupt will be raised. It may be called without
+ # holding the interpreter lock.
+
+ object PyErr_NewException(char *name, object base, object dict)
+ # Return value: New reference.
+ # This utility function creates and returns a new exception
+ # object. The name argument must be the name of the new exception,
+ # a C string of the form module.class. The base and dict arguments
+ # are normally NULL. This creates a class object derived from
+ # Exception (accessible in C as PyExc_Exception).
+
+ void PyErr_WriteUnraisable(object obj)
+ # This utility function prints a warning message to sys.stderr
+ # when an exception has been set but it is impossible for the
+ # interpreter to actually raise the exception. It is used, for
+ # example, when an exception occurs in an __del__() method.
+ #
+ # The function is called with a single argument obj that
+ # identifies the context in which the unraisable exception
+ # occurred. The repr of obj will be printed in the warning
+ # message.
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/float.pxd b/contrib/tools/cython/Cython/Includes/cpython/float.pxd
index 65328f31ea..2ce7762ba2 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/float.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/float.pxd
@@ -1,39 +1,39 @@
-cdef extern from "Python.h":
-
- ############################################################################
- # 7.2.3
- ############################################################################
- # PyFloatObject
- #
- # This subtype of PyObject represents a Python floating point object.
-
- # PyTypeObject PyFloat_Type
- #
- # This instance of PyTypeObject represents the Python floating
- # point type. This is the same object as float and
- # types.FloatType.
-
- bint PyFloat_Check(object p)
- # Return true if its argument is a PyFloatObject or a subtype of
- # PyFloatObject.
-
- bint PyFloat_CheckExact(object p)
- # Return true if its argument is a PyFloatObject, but not a
- # subtype of PyFloatObject.
-
- object PyFloat_FromString(object str, char **pend)
- # Return value: New reference.
- # Create a PyFloatObject object based on the string value in str,
- # or NULL on failure. The pend argument is ignored. It remains
- # only for backward compatibility.
-
- object PyFloat_FromDouble(double v)
- # Return value: New reference.
- # Create a PyFloatObject object from v, or NULL on failure.
-
- double PyFloat_AsDouble(object pyfloat) except? -1
- # Return a C double representation of the contents of pyfloat.
-
- double PyFloat_AS_DOUBLE(object pyfloat)
- # Return a C double representation of the contents of pyfloat, but
- # without error checking.
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 7.2.3
+ ############################################################################
+ # PyFloatObject
+ #
+ # This subtype of PyObject represents a Python floating point object.
+
+ # PyTypeObject PyFloat_Type
+ #
+ # This instance of PyTypeObject represents the Python floating
+ # point type. This is the same object as float and
+ # types.FloatType.
+
+ bint PyFloat_Check(object p)
+ # Return true if its argument is a PyFloatObject or a subtype of
+ # PyFloatObject.
+
+ bint PyFloat_CheckExact(object p)
+ # Return true if its argument is a PyFloatObject, but not a
+ # subtype of PyFloatObject.
+
+ object PyFloat_FromString(object str, char **pend)
+ # Return value: New reference.
+ # Create a PyFloatObject object based on the string value in str,
+ # or NULL on failure. The pend argument is ignored. It remains
+ # only for backward compatibility.
+
+ object PyFloat_FromDouble(double v)
+ # Return value: New reference.
+ # Create a PyFloatObject object from v, or NULL on failure.
+
+ double PyFloat_AsDouble(object pyfloat) except? -1
+ # Return a C double representation of the contents of pyfloat.
+
+ double PyFloat_AS_DOUBLE(object pyfloat)
+ # Return a C double representation of the contents of pyfloat, but
+ # without error checking.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/function.pxd b/contrib/tools/cython/Cython/Includes/cpython/function.pxd
index 0002a3f6cb..066fd2683a 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/function.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/function.pxd
@@ -1,65 +1,65 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
- ############################################################################
- # 7.5.3 Function Objects
- ############################################################################
- # There are a few functions specific to Python functions.
-
- # PyFunctionObject
- #
- # The C structure used for functions.
-
- # PyTypeObject PyFunction_Type
- #
- # This is an instance of PyTypeObject and represents the Python
- # function type. It is exposed to Python programmers as
- # types.FunctionType.
-
- bint PyFunction_Check(object o)
- # Return true if o is a function object (has type
- # PyFunction_Type). The parameter must not be NULL.
-
- object PyFunction_New(object code, object globals)
- # Return value: New reference.
- # Return a new function object associated with the code object
- # code. globals must be a dictionary with the global variables
- # accessible to the function.
- # The function's docstring, name and __module__ are retrieved from
- # the code object, the argument defaults and closure are set to
- # NULL.
-
- PyObject* PyFunction_GetCode(object op) except? NULL
- # Return value: Borrowed reference.
- # Return the code object associated with the function object op.
-
- PyObject* PyFunction_GetGlobals(object op) except? NULL
- # Return value: Borrowed reference.
- # Return the globals dictionary associated with the function object op.
-
- PyObject* PyFunction_GetModule(object op) except? NULL
- # Return value: Borrowed reference.
- # Return the __module__ attribute of the function object op. This
- # is normally a string containing the module name, but can be set
- # to any other object by Python code.
-
- PyObject* PyFunction_GetDefaults(object op) except? NULL
- # Return value: Borrowed reference.
- # Return the argument default values of the function object
- # op. This can be a tuple of arguments or NULL.
-
- int PyFunction_SetDefaults(object op, object defaults) except -1
- # Set the argument default values for the function object
- # op. defaults must be Py_None or a tuple.
- # Raises SystemError and returns -1 on failure.
-
- PyObject* PyFunction_GetClosure(object op) except? NULL
- # Return value: Borrowed reference.
- # Return the closure associated with the function object op. This
- # can be NULL or a tuple of cell objects.
-
- int PyFunction_SetClosure(object op, object closure) except -1
- # Set the closure associated with the function object op. closure
- # must be Py_None or a tuple of cell objects.
- # Raises SystemError and returns -1 on failure.
+
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 7.5.3 Function Objects
+ ############################################################################
+ # There are a few functions specific to Python functions.
+
+ # PyFunctionObject
+ #
+ # The C structure used for functions.
+
+ # PyTypeObject PyFunction_Type
+ #
+ # This is an instance of PyTypeObject and represents the Python
+ # function type. It is exposed to Python programmers as
+ # types.FunctionType.
+
+ bint PyFunction_Check(object o)
+ # Return true if o is a function object (has type
+ # PyFunction_Type). The parameter must not be NULL.
+
+ object PyFunction_New(object code, object globals)
+ # Return value: New reference.
+ # Return a new function object associated with the code object
+ # code. globals must be a dictionary with the global variables
+ # accessible to the function.
+ # The function's docstring, name and __module__ are retrieved from
+ # the code object, the argument defaults and closure are set to
+ # NULL.
+
+ PyObject* PyFunction_GetCode(object op) except? NULL
+ # Return value: Borrowed reference.
+ # Return the code object associated with the function object op.
+
+ PyObject* PyFunction_GetGlobals(object op) except? NULL
+ # Return value: Borrowed reference.
+ # Return the globals dictionary associated with the function object op.
+
+ PyObject* PyFunction_GetModule(object op) except? NULL
+ # Return value: Borrowed reference.
+ # Return the __module__ attribute of the function object op. This
+ # is normally a string containing the module name, but can be set
+ # to any other object by Python code.
+
+ PyObject* PyFunction_GetDefaults(object op) except? NULL
+ # Return value: Borrowed reference.
+ # Return the argument default values of the function object
+ # op. This can be a tuple of arguments or NULL.
+
+ int PyFunction_SetDefaults(object op, object defaults) except -1
+ # Set the argument default values for the function object
+ # op. defaults must be Py_None or a tuple.
+ # Raises SystemError and returns -1 on failure.
+
+ PyObject* PyFunction_GetClosure(object op) except? NULL
+ # Return value: Borrowed reference.
+ # Return the closure associated with the function object op. This
+ # can be NULL or a tuple of cell objects.
+
+ int PyFunction_SetClosure(object op, object closure) except -1
+ # Set the closure associated with the function object op. closure
+ # must be Py_None or a tuple of cell objects.
+ # Raises SystemError and returns -1 on failure.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/getargs.pxd b/contrib/tools/cython/Cython/Includes/cpython/getargs.pxd
index be6df3285a..fd3c307c6b 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/getargs.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/getargs.pxd
@@ -1,12 +1,12 @@
-
-cdef extern from "Python.h":
- #####################################################################
- # 5.5 Parsing arguments and building values
- #####################################################################
- ctypedef struct va_list
- int PyArg_ParseTuple(object args, char *format, ...) except 0
- int PyArg_VaParse(object args, char *format, va_list vargs) except 0
- int PyArg_ParseTupleAndKeywords(object args, object kw, char *format, char *keywords[], ...) except 0
- int PyArg_VaParseTupleAndKeywords(object args, object kw, char *format, char *keywords[], va_list vargs) except 0
- int PyArg_Parse(object args, char *format, ...) except 0
- int PyArg_UnpackTuple(object args, char *name, Py_ssize_t min, Py_ssize_t max, ...) except 0
+
+cdef extern from "Python.h":
+ #####################################################################
+ # 5.5 Parsing arguments and building values
+ #####################################################################
+ ctypedef struct va_list
+ int PyArg_ParseTuple(object args, char *format, ...) except 0
+ int PyArg_VaParse(object args, char *format, va_list vargs) except 0
+ int PyArg_ParseTupleAndKeywords(object args, object kw, char *format, char *keywords[], ...) except 0
+ int PyArg_VaParseTupleAndKeywords(object args, object kw, char *format, char *keywords[], va_list vargs) except 0
+ int PyArg_Parse(object args, char *format, ...) except 0
+ int PyArg_UnpackTuple(object args, char *name, Py_ssize_t min, Py_ssize_t max, ...) except 0
diff --git a/contrib/tools/cython/Cython/Includes/cpython/instance.pxd b/contrib/tools/cython/Cython/Includes/cpython/instance.pxd
index aecdc0cfd7..e009a5b8f2 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/instance.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/instance.pxd
@@ -1,25 +1,25 @@
-cdef extern from "Python.h":
-
- ############################################################################
- # 7.5.2 Instance Objects
- ############################################################################
-
- # PyTypeObject PyInstance_Type
- #
- # Type object for class instances.
-
- int PyInstance_Check(object obj)
- # Return true if obj is an instance.
-
- object PyInstance_New(object cls, object arg, object kw)
- # Return value: New reference.
- # Create a new instance of a specific class. The parameters arg
- # and kw are used as the positional and keyword parameters to the
- # object's constructor.
-
- object PyInstance_NewRaw(object cls, object dict)
- # Return value: New reference.
- # Create a new instance of a specific class without calling its
- # constructor. class is the class of new object. The dict
- # parameter will be used as the object's __dict__; if NULL, a new
- # dictionary will be created for the instance.
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 7.5.2 Instance Objects
+ ############################################################################
+
+ # PyTypeObject PyInstance_Type
+ #
+ # Type object for class instances.
+
+ int PyInstance_Check(object obj)
+ # Return true if obj is an instance.
+
+ object PyInstance_New(object cls, object arg, object kw)
+ # Return value: New reference.
+ # Create a new instance of a specific class. The parameters arg
+ # and kw are used as the positional and keyword parameters to the
+ # object's constructor.
+
+ object PyInstance_NewRaw(object cls, object dict)
+ # Return value: New reference.
+ # Create a new instance of a specific class without calling its
+ # constructor. class is the class of new object. The dict
+ # parameter will be used as the object's __dict__; if NULL, a new
+ # dictionary will be created for the instance.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/int.pxd b/contrib/tools/cython/Cython/Includes/cpython/int.pxd
index 50babff615..44f64a57e8 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/int.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/int.pxd
@@ -1,88 +1,88 @@
-cdef extern from "Python.h":
- ctypedef unsigned long long PY_LONG_LONG
-
- ############################################################################
- # Integer Objects
- ############################################################################
- # PyTypeObject PyInt_Type
- # This instance of PyTypeObject represents the Python plain
- # integer type. This is the same object as int and types.IntType.
-
- bint PyInt_Check(object o)
- # Return true if o is of type PyInt_Type or a subtype of
- # PyInt_Type.
-
- bint PyInt_CheckExact(object o)
- # Return true if o is of type PyInt_Type, but not a subtype of
- # PyInt_Type.
-
- object PyInt_FromString(char *str, char **pend, int base)
- # Return value: New reference.
- # Return a new PyIntObject or PyLongObject based on the string
- # value in str, which is interpreted according to the radix in
- # base. If pend is non-NULL, *pend will point to the first
- # character in str which follows the representation of the
- # number. If base is 0, the radix will be determined based on the
- # leading characters of str: if str starts with '0x' or '0X',
- # radix 16 will be used; if str starts with '0', radix 8 will be
- # used; otherwise radix 10 will be used. If base is not 0, it must
- # be between 2 and 36, inclusive. Leading spaces are ignored. If
- # there are no digits, ValueError will be raised. If the string
- # represents a number too large to be contained within the
- # machine's long int type and overflow warnings are being
- # suppressed, a PyLongObject will be returned. If overflow
- # warnings are not being suppressed, NULL will be returned in this
- # case.
-
- object PyInt_FromLong(long ival)
- # Return value: New reference.
- # Create a new integer object with a value of ival.
- # The current implementation keeps an array of integer objects for
- # all integers between -5 and 256, when you create an int in that
- # range you actually just get back a reference to the existing
- # object. So it should be possible to change the value of 1. I
- # suspect the behaviour of Python in this case is undefined. :-)
-
- object PyInt_FromSsize_t(Py_ssize_t ival)
- # Return value: New reference.
- # Create a new integer object with a value of ival. If the value
+cdef extern from "Python.h":
+ ctypedef unsigned long long PY_LONG_LONG
+
+ ############################################################################
+ # Integer Objects
+ ############################################################################
+ # PyTypeObject PyInt_Type
+ # This instance of PyTypeObject represents the Python plain
+ # integer type. This is the same object as int and types.IntType.
+
+ bint PyInt_Check(object o)
+ # Return true if o is of type PyInt_Type or a subtype of
+ # PyInt_Type.
+
+ bint PyInt_CheckExact(object o)
+ # Return true if o is of type PyInt_Type, but not a subtype of
+ # PyInt_Type.
+
+ object PyInt_FromString(char *str, char **pend, int base)
+ # Return value: New reference.
+ # Return a new PyIntObject or PyLongObject based on the string
+ # value in str, which is interpreted according to the radix in
+ # base. If pend is non-NULL, *pend will point to the first
+ # character in str which follows the representation of the
+ # number. If base is 0, the radix will be determined based on the
+ # leading characters of str: if str starts with '0x' or '0X',
+ # radix 16 will be used; if str starts with '0', radix 8 will be
+ # used; otherwise radix 10 will be used. If base is not 0, it must
+ # be between 2 and 36, inclusive. Leading spaces are ignored. If
+ # there are no digits, ValueError will be raised. If the string
+ # represents a number too large to be contained within the
+ # machine's long int type and overflow warnings are being
+ # suppressed, a PyLongObject will be returned. If overflow
+ # warnings are not being suppressed, NULL will be returned in this
+ # case.
+
+ object PyInt_FromLong(long ival)
+ # Return value: New reference.
+ # Create a new integer object with a value of ival.
+ # The current implementation keeps an array of integer objects for
+ # all integers between -5 and 256, when you create an int in that
+ # range you actually just get back a reference to the existing
+ # object. So it should be possible to change the value of 1. I
+ # suspect the behaviour of Python in this case is undefined. :-)
+
+ object PyInt_FromSsize_t(Py_ssize_t ival)
+ # Return value: New reference.
+ # Create a new integer object with a value of ival. If the value
# is larger than LONG_MAX or smaller than LONG_MIN, a long integer
# object is returned.
object PyInt_FromSize_t(size_t ival)
# Return value: New reference.
# Create a new integer object with a value of ival. If the value
- # exceeds LONG_MAX, a long integer object is returned.
-
- long PyInt_AsLong(object io) except? -1
- # Will first attempt to cast the object to a PyIntObject, if it is
- # not already one, and then return its value. If there is an
- # error, -1 is returned, and the caller should check
- # PyErr_Occurred() to find out whether there was an error, or
- # whether the value just happened to be -1.
-
- long PyInt_AS_LONG(object io)
- # Return the value of the object io. No error checking is performed.
-
- unsigned long PyInt_AsUnsignedLongMask(object io) except? -1
- # Will first attempt to cast the object to a PyIntObject or
- # PyLongObject, if it is not already one, and then return its
- # value as unsigned long. This function does not check for
- # overflow.
-
- PY_LONG_LONG PyInt_AsUnsignedLongLongMask(object io) except? -1
- # Will first attempt to cast the object to a PyIntObject or
- # PyLongObject, if it is not already one, and then return its
- # value as unsigned long long, without checking for overflow.
-
- Py_ssize_t PyInt_AsSsize_t(object io) except? -1
- # Will first attempt to cast the object to a PyIntObject or
- # PyLongObject, if it is not already one, and then return its
- # value as Py_ssize_t.
-
- long PyInt_GetMax()
- # Return the system's idea of the largest integer it can handle
- # (LONG_MAX, as defined in the system header files).
+ # exceeds LONG_MAX, a long integer object is returned.
+
+ long PyInt_AsLong(object io) except? -1
+ # Will first attempt to cast the object to a PyIntObject, if it is
+ # not already one, and then return its value. If there is an
+ # error, -1 is returned, and the caller should check
+ # PyErr_Occurred() to find out whether there was an error, or
+ # whether the value just happened to be -1.
+
+ long PyInt_AS_LONG(object io)
+ # Return the value of the object io. No error checking is performed.
+
+ unsigned long PyInt_AsUnsignedLongMask(object io) except? -1
+ # Will first attempt to cast the object to a PyIntObject or
+ # PyLongObject, if it is not already one, and then return its
+ # value as unsigned long. This function does not check for
+ # overflow.
+
+ PY_LONG_LONG PyInt_AsUnsignedLongLongMask(object io) except? -1
+ # Will first attempt to cast the object to a PyIntObject or
+ # PyLongObject, if it is not already one, and then return its
+ # value as unsigned long long, without checking for overflow.
+
+ Py_ssize_t PyInt_AsSsize_t(object io) except? -1
+ # Will first attempt to cast the object to a PyIntObject or
+ # PyLongObject, if it is not already one, and then return its
+ # value as Py_ssize_t.
+
+ long PyInt_GetMax()
+ # Return the system's idea of the largest integer it can handle
+ # (LONG_MAX, as defined in the system header files).
int PyInt_ClearFreeList()
# Clear the integer free list. Return the number of items that could not be freed.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/iterator.pxd b/contrib/tools/cython/Cython/Includes/cpython/iterator.pxd
index 0e10907f7f..b0e0513e83 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/iterator.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/iterator.pxd
@@ -1,36 +1,36 @@
-cdef extern from "Python.h":
-
- ############################################################################
- # 6.5 Iterator Protocol
- ############################################################################
- bint PyIter_Check(object o)
- # Return true if the object o supports the iterator protocol.
-
- object PyIter_Next(object o)
- # Return value: New reference.
- # Return the next value from the iteration o. If the object is an
- # iterator, this retrieves the next value from the iteration, and
- # returns NULL with no exception set if there are no remaining
- # items. If the object is not an iterator, TypeError is raised, or
- # if there is an error in retrieving the item, returns NULL and
- # passes along the exception.
-
- # To write a loop which iterates over an iterator, the C code should look something like this:
- # PyObject *iterator = PyObject_GetIter(obj);
- # PyObject *item;
- # if (iterator == NULL) {
- # /* propagate error */
- # }
- # while (item = PyIter_Next(iterator)) {
- # /* do something with item */
- # ...
- # /* release reference when done */
- # Py_DECREF(item);
- # }
- # Py_DECREF(iterator);
- # if (PyErr_Occurred()) {
- # /* propagate error */
- # }
- # else {
- # /* continue doing useful work */
- # }
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 6.5 Iterator Protocol
+ ############################################################################
+ bint PyIter_Check(object o)
+ # Return true if the object o supports the iterator protocol.
+
+ object PyIter_Next(object o)
+ # Return value: New reference.
+ # Return the next value from the iteration o. If the object is an
+ # iterator, this retrieves the next value from the iteration, and
+ # returns NULL with no exception set if there are no remaining
+ # items. If the object is not an iterator, TypeError is raised, or
+ # if there is an error in retrieving the item, returns NULL and
+ # passes along the exception.
+
+ # To write a loop which iterates over an iterator, the C code should look something like this:
+ # PyObject *iterator = PyObject_GetIter(obj);
+ # PyObject *item;
+ # if (iterator == NULL) {
+ # /* propagate error */
+ # }
+ # while (item = PyIter_Next(iterator)) {
+ # /* do something with item */
+ # ...
+ # /* release reference when done */
+ # Py_DECREF(item);
+ # }
+ # Py_DECREF(iterator);
+ # if (PyErr_Occurred()) {
+ # /* propagate error */
+ # }
+ # else {
+ # /* continue doing useful work */
+ # }
diff --git a/contrib/tools/cython/Cython/Includes/cpython/list.pxd b/contrib/tools/cython/Cython/Includes/cpython/list.pxd
index c6a29535c9..c9689f0071 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/list.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/list.pxd
@@ -1,92 +1,92 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
- ############################################################################
- # Lists
- ############################################################################
- list PyList_New(Py_ssize_t len)
- # Return a new list of length len on success, or NULL on failure.
- #
- # Note: If length is greater than zero, the returned list object's
- # items are set to NULL. Thus you cannot use abstract API
- # functions such as PySequence_SetItem() or expose the object to
- # Python code before setting all items to a real object with
- # PyList_SetItem().
-
- bint PyList_Check(object p)
- # Return true if p is a list object or an instance of a subtype of
- # the list type.
-
- bint PyList_CheckExact(object p)
- # Return true if p is a list object, but not an instance of a
- # subtype of the list type.
-
- Py_ssize_t PyList_Size(object list) except -1
- # Return the length of the list object in list; this is equivalent
- # to "len(list)" on a list object.
-
- Py_ssize_t PyList_GET_SIZE(object list)
- # Macro form of PyList_Size() without error checking.
-
- PyObject* PyList_GetItem(object list, Py_ssize_t index) except NULL
- # Return value: Borrowed reference.
- # Return the object at position pos in the list pointed to by
- # p. The position must be positive, indexing from the end of the
- # list is not supported. If pos is out of bounds, return NULL and
- # set an IndexError exception.
-
- PyObject* PyList_GET_ITEM(object list, Py_ssize_t i)
- # Return value: Borrowed reference.
- # Macro form of PyList_GetItem() without error checking.
-
- int PyList_SetItem(object list, Py_ssize_t index, object item) except -1
- # Set the item at index index in list to item. Return 0 on success
- # or -1 on failure. Note: This function ``steals'' a reference to
- # item and discards a reference to an item already in the list at
- # the affected position.
-
- void PyList_SET_ITEM(object list, Py_ssize_t i, object o)
- # Macro form of PyList_SetItem() without error checking. This is
- # normally only used to fill in new lists where there is no
- # previous content. Note: This function ``steals'' a reference to
- # item, and, unlike PyList_SetItem(), does not discard a reference
- # to any item that it being replaced; any reference in list at
- # position i will be *leaked*.
-
- int PyList_Insert(object list, Py_ssize_t index, object item) except -1
- # Insert the item item into list list in front of index
- # index. Return 0 if successful; return -1 and set an exception if
- # unsuccessful. Analogous to list.insert(index, item).
-
- int PyList_Append(object list, object item) except -1
- # Append the object item at the end of list list. Return 0 if
- # successful; return -1 and set an exception if
- # unsuccessful. Analogous to list.append(item).
-
- list PyList_GetSlice(object list, Py_ssize_t low, Py_ssize_t high)
- # Return value: New reference.
- # Return a list of the objects in list containing the objects
- # between low and high. Return NULL and set an exception if
- # unsuccessful. Analogous to list[low:high].
-
- int PyList_SetSlice(object list, Py_ssize_t low, Py_ssize_t high, object itemlist) except -1
- # Set the slice of list between low and high to the contents of
- # itemlist. Analogous to list[low:high] = itemlist. The itemlist
- # may be NULL, indicating the assignment of an empty list (slice
- # deletion). Return 0 on success, -1 on failure.
-
- int PyList_Sort(object list) except -1
- # Sort the items of list in place. Return 0 on success, -1 on
- # failure. This is equivalent to "list.sort()".
-
- int PyList_Reverse(object list) except -1
- # Reverse the items of list in place. Return 0 on success, -1 on
- # failure. This is the equivalent of "list.reverse()".
-
- tuple PyList_AsTuple(object list)
- # Return value: New reference.
- # Return a new tuple object containing the contents of list;
- # equivalent to "tuple(list)".
-
-
+
+cdef extern from "Python.h":
+
+ ############################################################################
+ # Lists
+ ############################################################################
+ list PyList_New(Py_ssize_t len)
+ # Return a new list of length len on success, or NULL on failure.
+ #
+ # Note: If length is greater than zero, the returned list object's
+ # items are set to NULL. Thus you cannot use abstract API
+ # functions such as PySequence_SetItem() or expose the object to
+ # Python code before setting all items to a real object with
+ # PyList_SetItem().
+
+ bint PyList_Check(object p)
+ # Return true if p is a list object or an instance of a subtype of
+ # the list type.
+
+ bint PyList_CheckExact(object p)
+ # Return true if p is a list object, but not an instance of a
+ # subtype of the list type.
+
+ Py_ssize_t PyList_Size(object list) except -1
+ # Return the length of the list object in list; this is equivalent
+ # to "len(list)" on a list object.
+
+ Py_ssize_t PyList_GET_SIZE(object list)
+ # Macro form of PyList_Size() without error checking.
+
+ PyObject* PyList_GetItem(object list, Py_ssize_t index) except NULL
+ # Return value: Borrowed reference.
+ # Return the object at position pos in the list pointed to by
+ # p. The position must be positive, indexing from the end of the
+ # list is not supported. If pos is out of bounds, return NULL and
+ # set an IndexError exception.
+
+ PyObject* PyList_GET_ITEM(object list, Py_ssize_t i)
+ # Return value: Borrowed reference.
+ # Macro form of PyList_GetItem() without error checking.
+
+ int PyList_SetItem(object list, Py_ssize_t index, object item) except -1
+ # Set the item at index index in list to item. Return 0 on success
+ # or -1 on failure. Note: This function ``steals'' a reference to
+ # item and discards a reference to an item already in the list at
+ # the affected position.
+
+ void PyList_SET_ITEM(object list, Py_ssize_t i, object o)
+ # Macro form of PyList_SetItem() without error checking. This is
+ # normally only used to fill in new lists where there is no
+ # previous content. Note: This function ``steals'' a reference to
+ # item, and, unlike PyList_SetItem(), does not discard a reference
+ # to any item that it being replaced; any reference in list at
+ # position i will be *leaked*.
+
+ int PyList_Insert(object list, Py_ssize_t index, object item) except -1
+ # Insert the item item into list list in front of index
+ # index. Return 0 if successful; return -1 and set an exception if
+ # unsuccessful. Analogous to list.insert(index, item).
+
+ int PyList_Append(object list, object item) except -1
+ # Append the object item at the end of list list. Return 0 if
+ # successful; return -1 and set an exception if
+ # unsuccessful. Analogous to list.append(item).
+
+ list PyList_GetSlice(object list, Py_ssize_t low, Py_ssize_t high)
+ # Return value: New reference.
+ # Return a list of the objects in list containing the objects
+ # between low and high. Return NULL and set an exception if
+ # unsuccessful. Analogous to list[low:high].
+
+ int PyList_SetSlice(object list, Py_ssize_t low, Py_ssize_t high, object itemlist) except -1
+ # Set the slice of list between low and high to the contents of
+ # itemlist. Analogous to list[low:high] = itemlist. The itemlist
+ # may be NULL, indicating the assignment of an empty list (slice
+ # deletion). Return 0 on success, -1 on failure.
+
+ int PyList_Sort(object list) except -1
+ # Sort the items of list in place. Return 0 on success, -1 on
+ # failure. This is equivalent to "list.sort()".
+
+ int PyList_Reverse(object list) except -1
+ # Reverse the items of list in place. Return 0 on success, -1 on
+ # failure. This is the equivalent of "list.reverse()".
+
+ tuple PyList_AsTuple(object list)
+ # Return value: New reference.
+ # Return a new tuple object containing the contents of list;
+ # equivalent to "tuple(list)".
+
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/long.pxd b/contrib/tools/cython/Cython/Includes/cpython/long.pxd
index eb8140d417..ccfa55e7c0 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/long.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/long.pxd
@@ -1,35 +1,35 @@
-
-cdef extern from "Python.h":
- ctypedef long long PY_LONG_LONG
- ctypedef unsigned long long uPY_LONG_LONG "unsigned PY_LONG_LONG"
-
- ############################################################################
- # 7.2.3 Long Integer Objects
- ############################################################################
-
- # PyLongObject
- #
- # This subtype of PyObject represents a Python long integer object.
-
- # PyTypeObject PyLong_Type
- #
- # This instance of PyTypeObject represents the Python long integer
- # type. This is the same object as long and types.LongType.
-
- bint PyLong_Check(object p)
- # Return true if its argument is a PyLongObject or a subtype of PyLongObject.
-
- bint PyLong_CheckExact(object p)
- # Return true if its argument is a PyLongObject, but not a subtype of PyLongObject.
-
- object PyLong_FromLong(long v)
- # Return value: New reference.
- # Return a new PyLongObject object from v, or NULL on failure.
-
- object PyLong_FromUnsignedLong(unsigned long v)
- # Return value: New reference.
- # Return a new PyLongObject object from a C unsigned long, or NULL on failure.
-
+
+cdef extern from "Python.h":
+ ctypedef long long PY_LONG_LONG
+ ctypedef unsigned long long uPY_LONG_LONG "unsigned PY_LONG_LONG"
+
+ ############################################################################
+ # 7.2.3 Long Integer Objects
+ ############################################################################
+
+ # PyLongObject
+ #
+ # This subtype of PyObject represents a Python long integer object.
+
+ # PyTypeObject PyLong_Type
+ #
+ # This instance of PyTypeObject represents the Python long integer
+ # type. This is the same object as long and types.LongType.
+
+ bint PyLong_Check(object p)
+ # Return true if its argument is a PyLongObject or a subtype of PyLongObject.
+
+ bint PyLong_CheckExact(object p)
+ # Return true if its argument is a PyLongObject, but not a subtype of PyLongObject.
+
+ object PyLong_FromLong(long v)
+ # Return value: New reference.
+ # Return a new PyLongObject object from v, or NULL on failure.
+
+ object PyLong_FromUnsignedLong(unsigned long v)
+ # Return value: New reference.
+ # Return a new PyLongObject object from a C unsigned long, or NULL on failure.
+
object PyLong_FromSsize_t(Py_ssize_t v)
# Return value: New reference.
# Return a new PyLongObject object from a C Py_ssize_t, or NULL on failure.)
@@ -38,57 +38,57 @@ cdef extern from "Python.h":
# Return value: New reference.
# Return a new PyLongObject object from a C size_t, or NULL on failure.
- object PyLong_FromLongLong(PY_LONG_LONG v)
- # Return value: New reference.
- # Return a new PyLongObject object from a C long long, or NULL on failure.
-
- object PyLong_FromUnsignedLongLong(uPY_LONG_LONG v)
- # Return value: New reference.
- # Return a new PyLongObject object from a C unsigned long long, or NULL on failure.
-
- object PyLong_FromDouble(double v)
- # Return value: New reference.
- # Return a new PyLongObject object from the integer part of v, or NULL on failure.
-
- object PyLong_FromString(char *str, char **pend, int base)
- # Return value: New reference.
- # Return a new PyLongObject based on the string value in str,
- # which is interpreted according to the radix in base. If pend is
- # non-NULL, *pend will point to the first character in str which
- # follows the representation of the number. If base is 0, the
- # radix will be determined based on the leading characters of str:
- # if str starts with '0x' or '0X', radix 16 will be used; if str
- # starts with '0', radix 8 will be used; otherwise radix 10 will
- # be used. If base is not 0, it must be between 2 and 36,
- # inclusive. Leading spaces are ignored. If there are no digits,
- # ValueError will be raised.
-
- object PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t length, int base)
- # Return value: New reference.
- # Convert a sequence of Unicode digits to a Python long integer
- # value. The first parameter, u, points to the first character of
- # the Unicode string, length gives the number of characters, and
- # base is the radix for the conversion. The radix must be in the
- # range [2, 36]; if it is out of range, ValueError will be
- # raised.
-
+ object PyLong_FromLongLong(PY_LONG_LONG v)
+ # Return value: New reference.
+ # Return a new PyLongObject object from a C long long, or NULL on failure.
+
+ object PyLong_FromUnsignedLongLong(uPY_LONG_LONG v)
+ # Return value: New reference.
+ # Return a new PyLongObject object from a C unsigned long long, or NULL on failure.
+
+ object PyLong_FromDouble(double v)
+ # Return value: New reference.
+ # Return a new PyLongObject object from the integer part of v, or NULL on failure.
+
+ object PyLong_FromString(char *str, char **pend, int base)
+ # Return value: New reference.
+ # Return a new PyLongObject based on the string value in str,
+ # which is interpreted according to the radix in base. If pend is
+ # non-NULL, *pend will point to the first character in str which
+ # follows the representation of the number. If base is 0, the
+ # radix will be determined based on the leading characters of str:
+ # if str starts with '0x' or '0X', radix 16 will be used; if str
+ # starts with '0', radix 8 will be used; otherwise radix 10 will
+ # be used. If base is not 0, it must be between 2 and 36,
+ # inclusive. Leading spaces are ignored. If there are no digits,
+ # ValueError will be raised.
+
+ object PyLong_FromUnicode(Py_UNICODE *u, Py_ssize_t length, int base)
+ # Return value: New reference.
+ # Convert a sequence of Unicode digits to a Python long integer
+ # value. The first parameter, u, points to the first character of
+ # the Unicode string, length gives the number of characters, and
+ # base is the radix for the conversion. The radix must be in the
+ # range [2, 36]; if it is out of range, ValueError will be
+ # raised.
+
# object PyLong_FromUnicodeObject(object u, int base)
# Convert a sequence of Unicode digits in the string u to a Python integer
# value. The Unicode string is first encoded to a byte string using
# PyUnicode_EncodeDecimal() and then converted using PyLong_FromString().
# New in version 3.3.
- object PyLong_FromVoidPtr(void *p)
- # Return value: New reference.
- # Create a Python integer or long integer from the pointer p. The
- # pointer value can be retrieved from the resulting value using
- # PyLong_AsVoidPtr(). If the integer is larger than LONG_MAX, a
- # positive long integer is returned.
-
- long PyLong_AsLong(object pylong) except? -1
- # Return a C long representation of the contents of pylong. If
- # pylong is greater than LONG_MAX, an OverflowError is raised.
-
+ object PyLong_FromVoidPtr(void *p)
+ # Return value: New reference.
+ # Create a Python integer or long integer from the pointer p. The
+ # pointer value can be retrieved from the resulting value using
+ # PyLong_AsVoidPtr(). If the integer is larger than LONG_MAX, a
+ # positive long integer is returned.
+
+ long PyLong_AsLong(object pylong) except? -1
+ # Return a C long representation of the contents of pylong. If
+ # pylong is greater than LONG_MAX, an OverflowError is raised.
+
# long PyLong_AsLongAndOverflow(object pylong, int *overflow) except? -1
# Return a C long representation of the contents of pylong. If pylong is
# greater than LONG_MAX or less than LONG_MIN, set *overflow to 1 or -1,
@@ -110,40 +110,40 @@ cdef extern from "Python.h":
# is greater than PY_SSIZE_T_MAX, an OverflowError is raised and -1 will be
# returned.
- unsigned long PyLong_AsUnsignedLong(object pylong) except? -1
- # Return a C unsigned long representation of the contents of
- # pylong. If pylong is greater than ULONG_MAX, an OverflowError is
- # raised.
-
- PY_LONG_LONG PyLong_AsLongLong(object pylong) except? -1
- # Return a C long long from a Python long integer. If pylong
- # cannot be represented as a long long, an OverflowError will be
- # raised.
-
- uPY_LONG_LONG PyLong_AsUnsignedLongLong(object pylong) except? -1
- #unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(object pylong)
- # Return a C unsigned long long from a Python long integer. If
- # pylong cannot be represented as an unsigned long long, an
- # OverflowError will be raised if the value is positive, or a
- # TypeError will be raised if the value is negative.
-
- unsigned long PyLong_AsUnsignedLongMask(object io) except? -1
- # Return a C unsigned long from a Python long integer, without
- # checking for overflow.
-
- uPY_LONG_LONG PyLong_AsUnsignedLongLongMask(object io) except? -1
- #unsigned PY_LONG_LONG PyLong_AsUnsignedLongLongMask(object io)
- # Return a C unsigned long long from a Python long integer,
- # without checking for overflow.
-
- double PyLong_AsDouble(object pylong) except? -1.0
- # Return a C double representation of the contents of pylong. If
- # pylong cannot be approximately represented as a double, an
- # OverflowError exception is raised and -1.0 will be returned.
-
- void* PyLong_AsVoidPtr(object pylong) except? NULL
- # Convert a Python integer or long integer pylong to a C void
- # pointer. If pylong cannot be converted, an OverflowError will be
- # raised. This is only assured to produce a usable void pointer
- # for values created with PyLong_FromVoidPtr(). For values outside
+ unsigned long PyLong_AsUnsignedLong(object pylong) except? -1
+ # Return a C unsigned long representation of the contents of
+ # pylong. If pylong is greater than ULONG_MAX, an OverflowError is
+ # raised.
+
+ PY_LONG_LONG PyLong_AsLongLong(object pylong) except? -1
+ # Return a C long long from a Python long integer. If pylong
+ # cannot be represented as a long long, an OverflowError will be
+ # raised.
+
+ uPY_LONG_LONG PyLong_AsUnsignedLongLong(object pylong) except? -1
+ #unsigned PY_LONG_LONG PyLong_AsUnsignedLongLong(object pylong)
+ # Return a C unsigned long long from a Python long integer. If
+ # pylong cannot be represented as an unsigned long long, an
+ # OverflowError will be raised if the value is positive, or a
+ # TypeError will be raised if the value is negative.
+
+ unsigned long PyLong_AsUnsignedLongMask(object io) except? -1
+ # Return a C unsigned long from a Python long integer, without
+ # checking for overflow.
+
+ uPY_LONG_LONG PyLong_AsUnsignedLongLongMask(object io) except? -1
+ #unsigned PY_LONG_LONG PyLong_AsUnsignedLongLongMask(object io)
+ # Return a C unsigned long long from a Python long integer,
+ # without checking for overflow.
+
+ double PyLong_AsDouble(object pylong) except? -1.0
+ # Return a C double representation of the contents of pylong. If
+ # pylong cannot be approximately represented as a double, an
+ # OverflowError exception is raised and -1.0 will be returned.
+
+ void* PyLong_AsVoidPtr(object pylong) except? NULL
+ # Convert a Python integer or long integer pylong to a C void
+ # pointer. If pylong cannot be converted, an OverflowError will be
+ # raised. This is only assured to produce a usable void pointer
+ # for values created with PyLong_FromVoidPtr(). For values outside
# 0..LONG_MAX, both signed and unsigned integers are accepted.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/mapping.pxd b/contrib/tools/cython/Cython/Includes/cpython/mapping.pxd
index 3d235b65e2..599740d9f2 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/mapping.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/mapping.pxd
@@ -1,64 +1,64 @@
-cdef extern from "Python.h":
-
- ############################################################################
- # 6.4 Mapping Protocol
- ############################################################################
-
- bint PyMapping_Check(object o)
- # Return 1 if the object provides mapping protocol, and 0
- # otherwise. This function always succeeds.
-
- Py_ssize_t PyMapping_Length(object o) except -1
- # Returns the number of keys in object o on success, and -1 on
- # failure. For objects that do not provide mapping protocol, this
- # is equivalent to the Python expression "len(o)".
-
- int PyMapping_DelItemString(object o, char *key) except -1
- # Remove the mapping for object key from the object o. Return -1
- # on failure. This is equivalent to the Python statement "del
- # o[key]".
-
- int PyMapping_DelItem(object o, object key) except -1
- # Remove the mapping for object key from the object o. Return -1
- # on failure. This is equivalent to the Python statement "del
- # o[key]".
-
- bint PyMapping_HasKeyString(object o, char *key)
- # On success, return 1 if the mapping object has the key key and 0
- # otherwise. This is equivalent to the Python expression
- # "o.has_key(key)". This function always succeeds.
-
- bint PyMapping_HasKey(object o, object key)
- # Return 1 if the mapping object has the key key and 0
- # otherwise. This is equivalent to the Python expression
- # "o.has_key(key)". This function always succeeds.
-
- object PyMapping_Keys(object o)
- # Return value: New reference.
- # On success, return a list of the keys in object o. On failure,
- # return NULL. This is equivalent to the Python expression
- # "o.keys()".
-
- object PyMapping_Values(object o)
- # Return value: New reference.
- # On success, return a list of the values in object o. On failure,
- # return NULL. This is equivalent to the Python expression
- # "o.values()".
-
- object PyMapping_Items(object o)
- # Return value: New reference.
- # On success, return a list of the items in object o, where each
- # item is a tuple containing a key-value pair. On failure, return
- # NULL. This is equivalent to the Python expression "o.items()".
-
- object PyMapping_GetItemString(object o, char *key)
- # Return value: New reference.
- # Return element of o corresponding to the object key or NULL on
- # failure. This is the equivalent of the Python expression
- # "o[key]".
-
- int PyMapping_SetItemString(object o, char *key, object v) except -1
- # Map the object key to the value v in object o. Returns -1 on
- # failure. This is the equivalent of the Python statement "o[key]
- # = v".
-
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 6.4 Mapping Protocol
+ ############################################################################
+
+ bint PyMapping_Check(object o)
+ # Return 1 if the object provides mapping protocol, and 0
+ # otherwise. This function always succeeds.
+
+ Py_ssize_t PyMapping_Length(object o) except -1
+ # Returns the number of keys in object o on success, and -1 on
+ # failure. For objects that do not provide mapping protocol, this
+ # is equivalent to the Python expression "len(o)".
+
+ int PyMapping_DelItemString(object o, char *key) except -1
+ # Remove the mapping for object key from the object o. Return -1
+ # on failure. This is equivalent to the Python statement "del
+ # o[key]".
+
+ int PyMapping_DelItem(object o, object key) except -1
+ # Remove the mapping for object key from the object o. Return -1
+ # on failure. This is equivalent to the Python statement "del
+ # o[key]".
+
+ bint PyMapping_HasKeyString(object o, char *key)
+ # On success, return 1 if the mapping object has the key key and 0
+ # otherwise. This is equivalent to the Python expression
+ # "o.has_key(key)". This function always succeeds.
+
+ bint PyMapping_HasKey(object o, object key)
+ # Return 1 if the mapping object has the key key and 0
+ # otherwise. This is equivalent to the Python expression
+ # "o.has_key(key)". This function always succeeds.
+
+ object PyMapping_Keys(object o)
+ # Return value: New reference.
+ # On success, return a list of the keys in object o. On failure,
+ # return NULL. This is equivalent to the Python expression
+ # "o.keys()".
+
+ object PyMapping_Values(object o)
+ # Return value: New reference.
+ # On success, return a list of the values in object o. On failure,
+ # return NULL. This is equivalent to the Python expression
+ # "o.values()".
+
+ object PyMapping_Items(object o)
+ # Return value: New reference.
+ # On success, return a list of the items in object o, where each
+ # item is a tuple containing a key-value pair. On failure, return
+ # NULL. This is equivalent to the Python expression "o.items()".
+
+ object PyMapping_GetItemString(object o, char *key)
+ # Return value: New reference.
+ # Return element of o corresponding to the object key or NULL on
+ # failure. This is the equivalent of the Python expression
+ # "o[key]".
+
+ int PyMapping_SetItemString(object o, char *key, object v) except -1
+ # Map the object key to the value v in object o. Returns -1 on
+ # failure. This is the equivalent of the Python statement "o[key]
+ # = v".
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/mem.pxd b/contrib/tools/cython/Cython/Includes/cpython/mem.pxd
index af820f2ee0..34b4418834 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/mem.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/mem.pxd
@@ -1,81 +1,81 @@
-cdef extern from "Python.h":
-
- #####################################################################
- # 9.2 Memory Interface
- #####################################################################
- # You are definitely *supposed* to use these: "In most situations,
- # however, it is recommended to allocate memory from the Python
- # heap specifically because the latter is under control of the
- # Python memory manager. For example, this is required when the
- # interpreter is extended with new object types written in
- # C. Another reason for using the Python heap is the desire to
- # inform the Python memory manager about the memory needs of the
- # extension module. Even when the requested memory is used
- # exclusively for internal, highly-specific purposes, delegating
- # all memory requests to the Python memory manager causes the
- # interpreter to have a more accurate image of its memory
- # footprint as a whole. Consequently, under certain circumstances,
- # the Python memory manager may or may not trigger appropriate
- # actions, like garbage collection, memory compaction or other
- # preventive procedures. Note that by using the C library
- # allocator as shown in the previous example, the allocated memory
- # for the I/O buffer escapes completely the Python memory
- # manager."
-
- # The following function sets, modeled after the ANSI C standard,
- # but specifying behavior when requesting zero bytes, are
- # available for allocating and releasing memory from the Python
- # heap:
-
+cdef extern from "Python.h":
+
+ #####################################################################
+ # 9.2 Memory Interface
+ #####################################################################
+ # You are definitely *supposed* to use these: "In most situations,
+ # however, it is recommended to allocate memory from the Python
+ # heap specifically because the latter is under control of the
+ # Python memory manager. For example, this is required when the
+ # interpreter is extended with new object types written in
+ # C. Another reason for using the Python heap is the desire to
+ # inform the Python memory manager about the memory needs of the
+ # extension module. Even when the requested memory is used
+ # exclusively for internal, highly-specific purposes, delegating
+ # all memory requests to the Python memory manager causes the
+ # interpreter to have a more accurate image of its memory
+ # footprint as a whole. Consequently, under certain circumstances,
+ # the Python memory manager may or may not trigger appropriate
+ # actions, like garbage collection, memory compaction or other
+ # preventive procedures. Note that by using the C library
+ # allocator as shown in the previous example, the allocated memory
+ # for the I/O buffer escapes completely the Python memory
+ # manager."
+
+ # The following function sets, modeled after the ANSI C standard,
+ # but specifying behavior when requesting zero bytes, are
+ # available for allocating and releasing memory from the Python
+ # heap:
+
void* PyMem_RawMalloc(size_t n) nogil
- void* PyMem_Malloc(size_t n)
- # Allocates n bytes and returns a pointer of type void* to the
- # allocated memory, or NULL if the request fails. Requesting zero
- # bytes returns a distinct non-NULL pointer if possible, as if
- # PyMem_Malloc(1) had been called instead. The memory will not
- # have been initialized in any way.
-
+ void* PyMem_Malloc(size_t n)
+ # Allocates n bytes and returns a pointer of type void* to the
+ # allocated memory, or NULL if the request fails. Requesting zero
+ # bytes returns a distinct non-NULL pointer if possible, as if
+ # PyMem_Malloc(1) had been called instead. The memory will not
+ # have been initialized in any way.
+
void* PyMem_RawRealloc(void *p, size_t n) nogil
- void* PyMem_Realloc(void *p, size_t n)
- # Resizes the memory block pointed to by p to n bytes. The
- # contents will be unchanged to the minimum of the old and the new
- # sizes. If p is NULL, the call is equivalent to PyMem_Malloc(n);
- # else if n is equal to zero, the memory block is resized but is
- # not freed, and the returned pointer is non-NULL. Unless p is
- # NULL, it must have been returned by a previous call to
- # PyMem_Malloc() or PyMem_Realloc().
-
+ void* PyMem_Realloc(void *p, size_t n)
+ # Resizes the memory block pointed to by p to n bytes. The
+ # contents will be unchanged to the minimum of the old and the new
+ # sizes. If p is NULL, the call is equivalent to PyMem_Malloc(n);
+ # else if n is equal to zero, the memory block is resized but is
+ # not freed, and the returned pointer is non-NULL. Unless p is
+ # NULL, it must have been returned by a previous call to
+ # PyMem_Malloc() or PyMem_Realloc().
+
void PyMem_RawFree(void *p) nogil
- void PyMem_Free(void *p)
- # Frees the memory block pointed to by p, which must have been
- # returned by a previous call to PyMem_Malloc() or
- # PyMem_Realloc(). Otherwise, or if PyMem_Free(p) has been called
- # before, undefined behavior occurs. If p is NULL, no operation is
- # performed.
-
- # The following type-oriented macros are provided for
- # convenience. Note that TYPE refers to any C type.
-
- # TYPE* PyMem_New(TYPE, size_t n)
- # Same as PyMem_Malloc(), but allocates (n * sizeof(TYPE)) bytes
- # of memory. Returns a pointer cast to TYPE*. The memory will not
- # have been initialized in any way.
-
- # TYPE* PyMem_Resize(void *p, TYPE, size_t n)
- # Same as PyMem_Realloc(), but the memory block is resized to (n *
- # sizeof(TYPE)) bytes. Returns a pointer cast to TYPE*.
-
- void PyMem_Del(void *p)
- # Same as PyMem_Free().
-
- # In addition, the following macro sets are provided for calling
- # the Python memory allocator directly, without involving the C
- # API functions listed above. However, note that their use does
- # not preserve binary compatibility across Python versions and is
- # therefore deprecated in extension modules.
-
- # PyMem_MALLOC(), PyMem_REALLOC(), PyMem_FREE().
- # PyMem_NEW(), PyMem_RESIZE(), PyMem_DEL().
+ void PyMem_Free(void *p)
+ # Frees the memory block pointed to by p, which must have been
+ # returned by a previous call to PyMem_Malloc() or
+ # PyMem_Realloc(). Otherwise, or if PyMem_Free(p) has been called
+ # before, undefined behavior occurs. If p is NULL, no operation is
+ # performed.
+
+ # The following type-oriented macros are provided for
+ # convenience. Note that TYPE refers to any C type.
+
+ # TYPE* PyMem_New(TYPE, size_t n)
+ # Same as PyMem_Malloc(), but allocates (n * sizeof(TYPE)) bytes
+ # of memory. Returns a pointer cast to TYPE*. The memory will not
+ # have been initialized in any way.
+
+ # TYPE* PyMem_Resize(void *p, TYPE, size_t n)
+ # Same as PyMem_Realloc(), but the memory block is resized to (n *
+ # sizeof(TYPE)) bytes. Returns a pointer cast to TYPE*.
+
+ void PyMem_Del(void *p)
+ # Same as PyMem_Free().
+
+ # In addition, the following macro sets are provided for calling
+ # the Python memory allocator directly, without involving the C
+ # API functions listed above. However, note that their use does
+ # not preserve binary compatibility across Python versions and is
+ # therefore deprecated in extension modules.
+
+ # PyMem_MALLOC(), PyMem_REALLOC(), PyMem_FREE().
+ # PyMem_NEW(), PyMem_RESIZE(), PyMem_DEL().
#####################################################################
diff --git a/contrib/tools/cython/Cython/Includes/cpython/method.pxd b/contrib/tools/cython/Cython/Includes/cpython/method.pxd
index f51ebcc7c7..b403a16a00 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/method.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/method.pxd
@@ -1,49 +1,49 @@
from .object cimport PyObject
-cdef extern from "Python.h":
- ############################################################################
- # 7.5.4 Method Objects
- ############################################################################
-
- # There are some useful functions that are useful for working with method objects.
- # PyTypeObject PyMethod_Type
- # This instance of PyTypeObject represents the Python method type. This is exposed to Python programs as types.MethodType.
-
- bint PyMethod_Check(object o)
- # Return true if o is a method object (has type
- # PyMethod_Type). The parameter must not be NULL.
-
- object PyMethod_New(object func, object self, object cls)
- # Return value: New reference.
- # Return a new method object, with func being any callable object;
- # this is the function that will be called when the method is
- # called. If this method should be bound to an instance, self
- # should be the instance and class should be the class of self,
- # otherwise self should be NULL and class should be the class
- # which provides the unbound method..
-
- PyObject* PyMethod_Class(object meth) except NULL
- # Return value: Borrowed reference.
- # Return the class object from which the method meth was created;
- # if this was created from an instance, it will be the class of
- # the instance.
-
- PyObject* PyMethod_GET_CLASS(object meth)
- # Return value: Borrowed reference.
- # Macro version of PyMethod_Class() which avoids error checking.
-
- PyObject* PyMethod_Function(object meth) except NULL
- # Return value: Borrowed reference.
- # Return the function object associated with the method meth.
-
- PyObject* PyMethod_GET_FUNCTION(object meth)
- # Return value: Borrowed reference.
- # Macro version of PyMethod_Function() which avoids error checking.
-
- PyObject* PyMethod_Self(object meth) except? NULL
- # Return value: Borrowed reference.
- # Return the instance associated with the method meth if it is bound, otherwise return NULL.
-
- PyObject* PyMethod_GET_SELF(object meth)
- # Return value: Borrowed reference.
- # Macro version of PyMethod_Self() which avoids error checking.
+cdef extern from "Python.h":
+ ############################################################################
+ # 7.5.4 Method Objects
+ ############################################################################
+
+ # There are some useful functions that are useful for working with method objects.
+ # PyTypeObject PyMethod_Type
+ # This instance of PyTypeObject represents the Python method type. This is exposed to Python programs as types.MethodType.
+
+ bint PyMethod_Check(object o)
+ # Return true if o is a method object (has type
+ # PyMethod_Type). The parameter must not be NULL.
+
+ object PyMethod_New(object func, object self, object cls)
+ # Return value: New reference.
+ # Return a new method object, with func being any callable object;
+ # this is the function that will be called when the method is
+ # called. If this method should be bound to an instance, self
+ # should be the instance and class should be the class of self,
+ # otherwise self should be NULL and class should be the class
+ # which provides the unbound method..
+
+ PyObject* PyMethod_Class(object meth) except NULL
+ # Return value: Borrowed reference.
+ # Return the class object from which the method meth was created;
+ # if this was created from an instance, it will be the class of
+ # the instance.
+
+ PyObject* PyMethod_GET_CLASS(object meth)
+ # Return value: Borrowed reference.
+ # Macro version of PyMethod_Class() which avoids error checking.
+
+ PyObject* PyMethod_Function(object meth) except NULL
+ # Return value: Borrowed reference.
+ # Return the function object associated with the method meth.
+
+ PyObject* PyMethod_GET_FUNCTION(object meth)
+ # Return value: Borrowed reference.
+ # Macro version of PyMethod_Function() which avoids error checking.
+
+ PyObject* PyMethod_Self(object meth) except? NULL
+ # Return value: Borrowed reference.
+ # Return the instance associated with the method meth if it is bound, otherwise return NULL.
+
+ PyObject* PyMethod_GET_SELF(object meth)
+ # Return value: Borrowed reference.
+ # Macro version of PyMethod_Self() which avoids error checking.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/module.pxd b/contrib/tools/cython/Cython/Includes/cpython/module.pxd
index 8eb323b010..2da4684e4b 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/module.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/module.pxd
@@ -1,40 +1,40 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
- ctypedef struct _inittab
-
- #####################################################################
- # 5.3 Importing Modules
- #####################################################################
+
+cdef extern from "Python.h":
+ ctypedef struct _inittab
+
+ #####################################################################
+ # 5.3 Importing Modules
+ #####################################################################
object PyImport_ImportModule(const char *name)
- # Return value: New reference.
- # This is a simplified interface to PyImport_ImportModuleEx()
- # below, leaving the globals and locals arguments set to
- # NULL. When the name argument contains a dot (when it specifies a
- # submodule of a package), the fromlist argument is set to the
- # list ['*'] so that the return value is the named module rather
- # than the top-level package containing it as would otherwise be
- # the case. (Unfortunately, this has an additional side effect
- # when name in fact specifies a subpackage instead of a submodule:
- # the submodules specified in the package's __all__ variable are
- # loaded.) Return a new reference to the imported module, or NULL
- # with an exception set on failure.
-
+ # Return value: New reference.
+ # This is a simplified interface to PyImport_ImportModuleEx()
+ # below, leaving the globals and locals arguments set to
+ # NULL. When the name argument contains a dot (when it specifies a
+ # submodule of a package), the fromlist argument is set to the
+ # list ['*'] so that the return value is the named module rather
+ # than the top-level package containing it as would otherwise be
+ # the case. (Unfortunately, this has an additional side effect
+ # when name in fact specifies a subpackage instead of a submodule:
+ # the submodules specified in the package's __all__ variable are
+ # loaded.) Return a new reference to the imported module, or NULL
+ # with an exception set on failure.
+
object PyImport_ImportModuleEx(const char *name, object globals, object locals, object fromlist)
- # Return value: New reference.
-
- # Import a module. This is best described by referring to the
- # built-in Python function __import__(), as the standard
- # __import__() function calls this function directly.
-
- # The return value is a new reference to the imported module or
- # top-level package, or NULL with an exception set on failure
- # (before Python 2.4, the module may still be created in this
- # case). Like for __import__(), the return value when a submodule
- # of a package was requested is normally the top-level package,
- # unless a non-empty fromlist was given. Changed in version 2.4:
- # failing imports remove incomplete module objects.
-
+ # Return value: New reference.
+
+ # Import a module. This is best described by referring to the
+ # built-in Python function __import__(), as the standard
+ # __import__() function calls this function directly.
+
+ # The return value is a new reference to the imported module or
+ # top-level package, or NULL with an exception set on failure
+ # (before Python 2.4, the module may still be created in this
+ # case). Like for __import__(), the return value when a submodule
+ # of a package was requested is normally the top-level package,
+ # unless a non-empty fromlist was given. Changed in version 2.4:
+ # failing imports remove incomplete module objects.
+
object PyImport_ImportModuleLevel(char *name, object globals, object locals, object fromlist, int level)
# Return value: New reference.
@@ -48,141 +48,141 @@ cdef extern from "Python.h":
# was requested is normally the top-level package, unless a
# non-empty fromlist was given.
- object PyImport_Import(object name)
- # Return value: New reference.
- # This is a higher-level interface that calls the current ``import
- # hook function''. It invokes the __import__() function from the
- # __builtins__ of the current globals. This means that the import
- # is done using whatever import hooks are installed in the current
- # environment, e.g. by rexec or ihooks.
-
- object PyImport_ReloadModule(object m)
- # Return value: New reference.
- # Reload a module. This is best described by referring to the
- # built-in Python function reload(), as the standard reload()
- # function calls this function directly. Return a new reference to
- # the reloaded module, or NULL with an exception set on failure
- # (the module still exists in this case).
-
+ object PyImport_Import(object name)
+ # Return value: New reference.
+ # This is a higher-level interface that calls the current ``import
+ # hook function''. It invokes the __import__() function from the
+ # __builtins__ of the current globals. This means that the import
+ # is done using whatever import hooks are installed in the current
+ # environment, e.g. by rexec or ihooks.
+
+ object PyImport_ReloadModule(object m)
+ # Return value: New reference.
+ # Reload a module. This is best described by referring to the
+ # built-in Python function reload(), as the standard reload()
+ # function calls this function directly. Return a new reference to
+ # the reloaded module, or NULL with an exception set on failure
+ # (the module still exists in this case).
+
PyObject* PyImport_AddModule(const char *name) except NULL
- # Return value: Borrowed reference.
- # Return the module object corresponding to a module name. The
- # name argument may be of the form package.module. First check the
- # modules dictionary if there's one there, and if not, create a
- # new one and insert it in the modules dictionary. Return NULL
- # with an exception set on failure. Note: This function does not
- # load or import the module; if the module wasn't already loaded,
- # you will get an empty module object. Use PyImport_ImportModule()
- # or one of its variants to import a module. Package structures
- # implied by a dotted name for name are not created if not already
- # present.
-
- object PyImport_ExecCodeModule(char *name, object co)
- # Return value: New reference.
- # Given a module name (possibly of the form package.module) and a
- # code object read from a Python bytecode file or obtained from
- # the built-in function compile(), load the module. Return a new
- # reference to the module object, or NULL with an exception set if
- # an error occurred. Name is removed from sys.modules in error
- # cases, and even if name was already in sys.modules on entry to
- # PyImport_ExecCodeModule(). Leaving incompletely initialized
- # modules in sys.modules is dangerous, as imports of such modules
- # have no way to know that the module object is an unknown (and
- # probably damaged with respect to the module author's intents)
- # state.
- # This function will reload the module if it was already
- # imported. See PyImport_ReloadModule() for the intended way to
- # reload a module.
- # If name points to a dotted name of the form package.module, any
- # package structures not already created will still not be
- # created.
-
-
- long PyImport_GetMagicNumber()
- # Return the magic number for Python bytecode files (a.k.a. .pyc
- # and .pyo files). The magic number should be present in the first
- # four bytes of the bytecode file, in little-endian byte order.
-
- PyObject* PyImport_GetModuleDict() except NULL
- # Return value: Borrowed reference.
- # Return the dictionary used for the module administration
- # (a.k.a. sys.modules). Note that this is a per-interpreter
- # variable.
-
-
- int PyImport_ImportFrozenModule(char *name) except -1
- # Load a frozen module named name. Return 1 for success, 0 if the
- # module is not found, and -1 with an exception set if the
- # initialization failed. To access the imported module on a
- # successful load, use PyImport_ImportModule(). (Note the misnomer
- # -- this function would reload the module if it was already
- # imported.)
-
-
- int PyImport_ExtendInittab(_inittab *newtab) except -1
- # Add a collection of modules to the table of built-in
- # modules. The newtab array must end with a sentinel entry which
- # contains NULL for the name field; failure to provide the
- # sentinel value can result in a memory fault. Returns 0 on
- # success or -1 if insufficient memory could be allocated to
- # extend the internal table. In the event of failure, no modules
- # are added to the internal table. This should be called before
- # Py_Initialize().
-
- #####################################################################
- # 7.5.5 Module Objects
- #####################################################################
-
- # PyTypeObject PyModule_Type
- #
- # This instance of PyTypeObject represents the Python module
- # type. This is exposed to Python programs as types.ModuleType.
-
- bint PyModule_Check(object p)
- # Return true if p is a module object, or a subtype of a module
- # object.
-
- bint PyModule_CheckExact(object p)
- # Return true if p is a module object, but not a subtype of PyModule_Type.
-
+ # Return value: Borrowed reference.
+ # Return the module object corresponding to a module name. The
+ # name argument may be of the form package.module. First check the
+ # modules dictionary if there's one there, and if not, create a
+ # new one and insert it in the modules dictionary. Return NULL
+ # with an exception set on failure. Note: This function does not
+ # load or import the module; if the module wasn't already loaded,
+ # you will get an empty module object. Use PyImport_ImportModule()
+ # or one of its variants to import a module. Package structures
+ # implied by a dotted name for name are not created if not already
+ # present.
+
+ object PyImport_ExecCodeModule(char *name, object co)
+ # Return value: New reference.
+ # Given a module name (possibly of the form package.module) and a
+ # code object read from a Python bytecode file or obtained from
+ # the built-in function compile(), load the module. Return a new
+ # reference to the module object, or NULL with an exception set if
+ # an error occurred. Name is removed from sys.modules in error
+ # cases, and even if name was already in sys.modules on entry to
+ # PyImport_ExecCodeModule(). Leaving incompletely initialized
+ # modules in sys.modules is dangerous, as imports of such modules
+ # have no way to know that the module object is an unknown (and
+ # probably damaged with respect to the module author's intents)
+ # state.
+ # This function will reload the module if it was already
+ # imported. See PyImport_ReloadModule() for the intended way to
+ # reload a module.
+ # If name points to a dotted name of the form package.module, any
+ # package structures not already created will still not be
+ # created.
+
+
+ long PyImport_GetMagicNumber()
+ # Return the magic number for Python bytecode files (a.k.a. .pyc
+ # and .pyo files). The magic number should be present in the first
+ # four bytes of the bytecode file, in little-endian byte order.
+
+ PyObject* PyImport_GetModuleDict() except NULL
+ # Return value: Borrowed reference.
+ # Return the dictionary used for the module administration
+ # (a.k.a. sys.modules). Note that this is a per-interpreter
+ # variable.
+
+
+ int PyImport_ImportFrozenModule(char *name) except -1
+ # Load a frozen module named name. Return 1 for success, 0 if the
+ # module is not found, and -1 with an exception set if the
+ # initialization failed. To access the imported module on a
+ # successful load, use PyImport_ImportModule(). (Note the misnomer
+ # -- this function would reload the module if it was already
+ # imported.)
+
+
+ int PyImport_ExtendInittab(_inittab *newtab) except -1
+ # Add a collection of modules to the table of built-in
+ # modules. The newtab array must end with a sentinel entry which
+ # contains NULL for the name field; failure to provide the
+ # sentinel value can result in a memory fault. Returns 0 on
+ # success or -1 if insufficient memory could be allocated to
+ # extend the internal table. In the event of failure, no modules
+ # are added to the internal table. This should be called before
+ # Py_Initialize().
+
+ #####################################################################
+ # 7.5.5 Module Objects
+ #####################################################################
+
+ # PyTypeObject PyModule_Type
+ #
+ # This instance of PyTypeObject represents the Python module
+ # type. This is exposed to Python programs as types.ModuleType.
+
+ bint PyModule_Check(object p)
+ # Return true if p is a module object, or a subtype of a module
+ # object.
+
+ bint PyModule_CheckExact(object p)
+ # Return true if p is a module object, but not a subtype of PyModule_Type.
+
object PyModule_New(const char *name)
- # Return value: New reference.
- # Return a new module object with the __name__ attribute set to
- # name. Only the module's __doc__ and __name__ attributes are
- # filled in; the caller is responsible for providing a __file__
- # attribute.
-
- PyObject* PyModule_GetDict(object module) except NULL
- # Return value: Borrowed reference.
- # Return the dictionary object that implements module's namespace;
- # this object is the same as the __dict__ attribute of the module
- # object. This function never fails. It is recommended extensions
- # use other PyModule_*() and PyObject_*() functions rather than
- # directly manipulate a module's __dict__.
-
- char* PyModule_GetName(object module) except NULL
- # Return module's __name__ value. If the module does not provide
- # one, or if it is not a string, SystemError is raised and NULL is
- # returned.
-
- char* PyModule_GetFilename(object module) except NULL
- # Return the name of the file from which module was loaded using
- # module's __file__ attribute. If this is not defined, or if it is
- # not a string, raise SystemError and return NULL.
-
+ # Return value: New reference.
+ # Return a new module object with the __name__ attribute set to
+ # name. Only the module's __doc__ and __name__ attributes are
+ # filled in; the caller is responsible for providing a __file__
+ # attribute.
+
+ PyObject* PyModule_GetDict(object module) except NULL
+ # Return value: Borrowed reference.
+ # Return the dictionary object that implements module's namespace;
+ # this object is the same as the __dict__ attribute of the module
+ # object. This function never fails. It is recommended extensions
+ # use other PyModule_*() and PyObject_*() functions rather than
+ # directly manipulate a module's __dict__.
+
+ char* PyModule_GetName(object module) except NULL
+ # Return module's __name__ value. If the module does not provide
+ # one, or if it is not a string, SystemError is raised and NULL is
+ # returned.
+
+ char* PyModule_GetFilename(object module) except NULL
+ # Return the name of the file from which module was loaded using
+ # module's __file__ attribute. If this is not defined, or if it is
+ # not a string, raise SystemError and return NULL.
+
int PyModule_AddObject(object module, const char *name, object value) except -1
- # Add an object to module as name. This is a convenience function
- # which can be used from the module's initialization
- # function. This steals a reference to value. Return -1 on error,
- # 0 on success.
-
+ # Add an object to module as name. This is a convenience function
+ # which can be used from the module's initialization
+ # function. This steals a reference to value. Return -1 on error,
+ # 0 on success.
+
int PyModule_AddIntConstant(object module, const char *name, long value) except -1
- # Add an integer constant to module as name. This convenience
- # function can be used from the module's initialization
- # function. Return -1 on error, 0 on success.
-
+ # Add an integer constant to module as name. This convenience
+ # function can be used from the module's initialization
+ # function. Return -1 on error, 0 on success.
+
int PyModule_AddStringConstant(object module, const char *name, const char *value) except -1
- # Add a string constant to module as name. This convenience
- # function can be used from the module's initialization
- # function. The string value must be null-terminated. Return -1 on
- # error, 0 on success.
+ # Add a string constant to module as name. This convenience
+ # function can be used from the module's initialization
+ # function. The string value must be null-terminated. Return -1 on
+ # error, 0 on success.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/number.pxd b/contrib/tools/cython/Cython/Includes/cpython/number.pxd
index ded35c292a..f3a1629d44 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/number.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/number.pxd
@@ -1,32 +1,32 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
- #####################################################################
- # 6.2 Number Protocol
- #####################################################################
-
- bint PyNumber_Check(object o)
- # Returns 1 if the object o provides numeric protocols, and false
- # otherwise. This function always succeeds.
-
- object PyNumber_Add(object o1, object o2)
- # Return value: New reference.
- # Returns the result of adding o1 and o2, or NULL on failure. This
- # is the equivalent of the Python expression "o1 + o2".
-
- object PyNumber_Subtract(object o1, object o2)
- # Return value: New reference.
- # Returns the result of subtracting o2 from o1, or NULL on
- # failure. This is the equivalent of the Python expression "o1 -
- # o2".
-
- object PyNumber_Multiply(object o1, object o2)
- # Return value: New reference.
- # Returns the result of multiplying o1 and o2, or NULL on
- # failure. This is the equivalent of the Python expression "o1 *
- # o2".
-
+
+cdef extern from "Python.h":
+
+ #####################################################################
+ # 6.2 Number Protocol
+ #####################################################################
+
+ bint PyNumber_Check(object o)
+ # Returns 1 if the object o provides numeric protocols, and false
+ # otherwise. This function always succeeds.
+
+ object PyNumber_Add(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of adding o1 and o2, or NULL on failure. This
+ # is the equivalent of the Python expression "o1 + o2".
+
+ object PyNumber_Subtract(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of subtracting o2 from o1, or NULL on
+ # failure. This is the equivalent of the Python expression "o1 -
+ # o2".
+
+ object PyNumber_Multiply(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of multiplying o1 and o2, or NULL on
+ # failure. This is the equivalent of the Python expression "o1 *
+ # o2".
+
object PyNumber_MatrixMultiply(object o1, object o2)
# Return value: New reference.
# Returns the result of matrix multiplication on o1 and o2, or
@@ -34,112 +34,112 @@ cdef extern from "Python.h":
# expression "o1 @ o2".
# New in version 3.5.
- object PyNumber_Divide(object o1, object o2)
- # Return value: New reference.
- # Returns the result of dividing o1 by o2, or NULL on
- # failure. This is the equivalent of the Python expression "o1 /
- # o2".
-
- object PyNumber_FloorDivide(object o1, object o2)
- # Return value: New reference.
- # Return the floor of o1 divided by o2, or NULL on failure. This
- # is equivalent to the ``classic'' division of integers.
-
- object PyNumber_TrueDivide(object o1, object o2)
- # Return value: New reference.
- # Return a reasonable approximation for the mathematical value of
- # o1 divided by o2, or NULL on failure. The return value is
- # ``approximate'' because binary floating point numbers are
- # approximate; it is not possible to represent all real numbers in
- # base two. This function can return a floating point value when
- # passed two integers.
-
- object PyNumber_Remainder(object o1, object o2)
- # Return value: New reference.
- # Returns the remainder of dividing o1 by o2, or NULL on
- # failure. This is the equivalent of the Python expression "o1 %
- # o2".
-
- object PyNumber_Divmod(object o1, object o2)
- # Return value: New reference.
- # See the built-in function divmod(). Returns NULL on
- # failure. This is the equivalent of the Python expression
- # "divmod(o1, o2)".
-
- object PyNumber_Power(object o1, object o2, object o3)
- # Return value: New reference.
- # See the built-in function pow(). Returns NULL on failure. This
- # is the equivalent of the Python expression "pow(o1, o2, o3)",
- # where o3 is optional. If o3 is to be ignored, pass Py_None in
- # its place (passing NULL for o3 would cause an illegal memory
- # access).
-
- object PyNumber_Negative(object o)
- # Return value: New reference.
- # Returns the negation of o on success, or NULL on failure. This
- # is the equivalent of the Python expression "-o".
-
- object PyNumber_Positive(object o)
- # Return value: New reference.
- # Returns o on success, or NULL on failure. This is the equivalent
- # of the Python expression "+o".
-
- object PyNumber_Absolute(object o)
- # Return value: New reference.
- # Returns the absolute value of o, or NULL on failure. This is the
- # equivalent of the Python expression "abs(o)".
-
- object PyNumber_Invert(object o)
- # Return value: New reference.
- # Returns the bitwise negation of o on success, or NULL on
- # failure. This is the equivalent of the Python expression "~o".
-
- object PyNumber_Lshift(object o1, object o2)
- # Return value: New reference.
- # Returns the result of left shifting o1 by o2 on success, or NULL
- # on failure. This is the equivalent of the Python expression "o1
- # << o2".
-
- object PyNumber_Rshift(object o1, object o2)
- # Return value: New reference.
- # Returns the result of right shifting o1 by o2 on success, or
- # NULL on failure. This is the equivalent of the Python expression
- # "o1 >> o2".
-
- object PyNumber_And(object o1, object o2)
- # Return value: New reference.
- # Returns the ``bitwise and'' of o1 and o2 on success and NULL on
- # failure. This is the equivalent of the Python expression "o1 &
- # o2".
-
- object PyNumber_Xor(object o1, object o2)
- # Return value: New reference.
- # Returns the ``bitwise exclusive or'' of o1 by o2 on success, or
- # NULL on failure. This is the equivalent of the Python expression
- # "o1 ^ o2".
-
- object PyNumber_Or(object o1, object o2)
- # Return value: New reference.
- # Returns the ``bitwise or'' of o1 and o2 on success, or NULL on failure. This is the equivalent of the Python expression "o1 | o2".
-
- object PyNumber_InPlaceAdd(object o1, object o2)
- # Return value: New reference.
- # Returns the result of adding o1 and o2, or NULL on failure. The
- # operation is done in-place when o1 supports it. This is the
- # equivalent of the Python statement "o1 += o2".
-
- object PyNumber_InPlaceSubtract(object o1, object o2)
- # Return value: New reference.
- # Returns the result of subtracting o2 from o1, or NULL on
- # failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 -= o2".
-
- object PyNumber_InPlaceMultiply(object o1, object o2)
- # Return value: New reference.
- # Returns the result of multiplying o1 and o2, or NULL on
- # failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 *= o2".
-
+ object PyNumber_Divide(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of dividing o1 by o2, or NULL on
+ # failure. This is the equivalent of the Python expression "o1 /
+ # o2".
+
+ object PyNumber_FloorDivide(object o1, object o2)
+ # Return value: New reference.
+ # Return the floor of o1 divided by o2, or NULL on failure. This
+ # is equivalent to the ``classic'' division of integers.
+
+ object PyNumber_TrueDivide(object o1, object o2)
+ # Return value: New reference.
+ # Return a reasonable approximation for the mathematical value of
+ # o1 divided by o2, or NULL on failure. The return value is
+ # ``approximate'' because binary floating point numbers are
+ # approximate; it is not possible to represent all real numbers in
+ # base two. This function can return a floating point value when
+ # passed two integers.
+
+ object PyNumber_Remainder(object o1, object o2)
+ # Return value: New reference.
+ # Returns the remainder of dividing o1 by o2, or NULL on
+ # failure. This is the equivalent of the Python expression "o1 %
+ # o2".
+
+ object PyNumber_Divmod(object o1, object o2)
+ # Return value: New reference.
+ # See the built-in function divmod(). Returns NULL on
+ # failure. This is the equivalent of the Python expression
+ # "divmod(o1, o2)".
+
+ object PyNumber_Power(object o1, object o2, object o3)
+ # Return value: New reference.
+ # See the built-in function pow(). Returns NULL on failure. This
+ # is the equivalent of the Python expression "pow(o1, o2, o3)",
+ # where o3 is optional. If o3 is to be ignored, pass Py_None in
+ # its place (passing NULL for o3 would cause an illegal memory
+ # access).
+
+ object PyNumber_Negative(object o)
+ # Return value: New reference.
+ # Returns the negation of o on success, or NULL on failure. This
+ # is the equivalent of the Python expression "-o".
+
+ object PyNumber_Positive(object o)
+ # Return value: New reference.
+ # Returns o on success, or NULL on failure. This is the equivalent
+ # of the Python expression "+o".
+
+ object PyNumber_Absolute(object o)
+ # Return value: New reference.
+ # Returns the absolute value of o, or NULL on failure. This is the
+ # equivalent of the Python expression "abs(o)".
+
+ object PyNumber_Invert(object o)
+ # Return value: New reference.
+ # Returns the bitwise negation of o on success, or NULL on
+ # failure. This is the equivalent of the Python expression "~o".
+
+ object PyNumber_Lshift(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of left shifting o1 by o2 on success, or NULL
+ # on failure. This is the equivalent of the Python expression "o1
+ # << o2".
+
+ object PyNumber_Rshift(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of right shifting o1 by o2 on success, or
+ # NULL on failure. This is the equivalent of the Python expression
+ # "o1 >> o2".
+
+ object PyNumber_And(object o1, object o2)
+ # Return value: New reference.
+ # Returns the ``bitwise and'' of o1 and o2 on success and NULL on
+ # failure. This is the equivalent of the Python expression "o1 &
+ # o2".
+
+ object PyNumber_Xor(object o1, object o2)
+ # Return value: New reference.
+ # Returns the ``bitwise exclusive or'' of o1 by o2 on success, or
+ # NULL on failure. This is the equivalent of the Python expression
+ # "o1 ^ o2".
+
+ object PyNumber_Or(object o1, object o2)
+ # Return value: New reference.
+ # Returns the ``bitwise or'' of o1 and o2 on success, or NULL on failure. This is the equivalent of the Python expression "o1 | o2".
+
+ object PyNumber_InPlaceAdd(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of adding o1 and o2, or NULL on failure. The
+ # operation is done in-place when o1 supports it. This is the
+ # equivalent of the Python statement "o1 += o2".
+
+ object PyNumber_InPlaceSubtract(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of subtracting o2 from o1, or NULL on
+ # failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 -= o2".
+
+ object PyNumber_InPlaceMultiply(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of multiplying o1 and o2, or NULL on
+ # failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 *= o2".
+
object PyNumber_InPlaceMatrixMultiply(object o1, object o2)
# Return value: New reference.
# Returns the result of matrix multiplication on o1 and o2, or
@@ -147,119 +147,119 @@ cdef extern from "Python.h":
# it. This is the equivalent of the Python statement "o1 @= o2".
# New in version 3.5.
- object PyNumber_InPlaceDivide(object o1, object o2)
- # Return value: New reference.
- # Returns the result of dividing o1 by o2, or NULL on failure. The
- # operation is done in-place when o1 supports it. This is the
- # equivalent of the Python statement "o1 /= o2".
-
- object PyNumber_InPlaceFloorDivide(object o1, object o2)
- # Return value: New reference.
- # Returns the mathematical floor of dividing o1 by o2, or NULL on
- # failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 //=
- # o2".
-
- object PyNumber_InPlaceTrueDivide(object o1, object o2)
- # Return value: New reference.
- # Return a reasonable approximation for the mathematical value of
- # o1 divided by o2, or NULL on failure. The return value is
- # ``approximate'' because binary floating point numbers are
- # approximate; it is not possible to represent all real numbers in
- # base two. This function can return a floating point value when
- # passed two integers. The operation is done in-place when o1
- # supports it.
-
- object PyNumber_InPlaceRemainder(object o1, object o2)
- # Return value: New reference.
- # Returns the remainder of dividing o1 by o2, or NULL on
- # failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 %= o2".
-
- object PyNumber_InPlacePower(object o1, object o2, object o3)
- # Return value: New reference.
- # See the built-in function pow(). Returns NULL on failure. The
- # operation is done in-place when o1 supports it. This is the
- # equivalent of the Python statement "o1 **= o2" when o3 is
- # Py_None, or an in-place variant of "pow(o1, o2, o3)"
- # otherwise. If o3 is to be ignored, pass Py_None in its place
- # (passing NULL for o3 would cause an illegal memory access).
-
- object PyNumber_InPlaceLshift(object o1, object o2)
- # Return value: New reference.
- # Returns the result of left shifting o1 by o2 on success, or NULL
- # on failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 <<= o2".
-
- object PyNumber_InPlaceRshift(object o1, object o2)
- # Return value: New reference.
- # Returns the result of right shifting o1 by o2 on success, or
- # NULL on failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 >>= o2".
-
- object PyNumber_InPlaceAnd(object o1, object o2)
- # Return value: New reference.
- # Returns the ``bitwise and'' of o1 and o2 on success and NULL on
- # failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 &= o2".
-
- object PyNumber_InPlaceXor(object o1, object o2)
- # Return value: New reference.
- # Returns the ``bitwise exclusive or'' of o1 by o2 on success, or
- # NULL on failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 ^= o2".
-
- object PyNumber_InPlaceOr(object o1, object o2)
- # Return value: New reference.
- # Returns the ``bitwise or'' of o1 and o2 on success, or NULL on
- # failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python statement "o1 |= o2".
-
- int PyNumber_Coerce(PyObject **p1, PyObject **p2) except -1
- # This function takes the addresses of two variables of type
- # PyObject*. If the objects pointed to by *p1 and *p2 have the
- # same type, increment their reference count and return 0
- # (success). If the objects can be converted to a common numeric
- # type, replace *p1 and *p2 by their converted value (with 'new'
- # reference counts), and return 0. If no conversion is possible,
- # or if some other error occurs, return -1 (failure) and don't
- # increment the reference counts. The call PyNumber_Coerce(&o1,
- # &o2) is equivalent to the Python statement "o1, o2 = coerce(o1,
- # o2)".
-
- object PyNumber_Int(object o)
- # Return value: New reference.
- # Returns the o converted to an integer object on success, or NULL
- # on failure. If the argument is outside the integer range a long
- # object will be returned instead. This is the equivalent of the
- # Python expression "int(o)".
-
- object PyNumber_Long(object o)
- # Return value: New reference.
- # Returns the o converted to a long integer object on success, or
- # NULL on failure. This is the equivalent of the Python expression
- # "long(o)".
-
- object PyNumber_Float(object o)
- # Return value: New reference.
- # Returns the o converted to a float object on success, or NULL on
- # failure. This is the equivalent of the Python expression
- # "float(o)".
-
- object PyNumber_Index(object o)
- # Returns the o converted to a Python int or long on success or
- # NULL with a TypeError exception raised on failure.
-
- Py_ssize_t PyNumber_AsSsize_t(object o, object exc) except? -1
- # Returns o converted to a Py_ssize_t value if o can be
- # interpreted as an integer. If o can be converted to a Python int
- # or long but the attempt to convert to a Py_ssize_t value would
- # raise an OverflowError, then the exc argument is the type of
- # exception that will be raised (usually IndexError or
- # OverflowError). If exc is NULL, then the exception is cleared
- # and the value is clipped to PY_SSIZE_T_MIN for a negative
- # integer or PY_SSIZE_T_MAX for a positive integer.
-
- bint PyIndex_Check(object)
- # Returns True if o is an index integer (has the nb_index slot of
- # the tp_as_number structure filled in).
+ object PyNumber_InPlaceDivide(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of dividing o1 by o2, or NULL on failure. The
+ # operation is done in-place when o1 supports it. This is the
+ # equivalent of the Python statement "o1 /= o2".
+
+ object PyNumber_InPlaceFloorDivide(object o1, object o2)
+ # Return value: New reference.
+ # Returns the mathematical floor of dividing o1 by o2, or NULL on
+ # failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 //=
+ # o2".
+
+ object PyNumber_InPlaceTrueDivide(object o1, object o2)
+ # Return value: New reference.
+ # Return a reasonable approximation for the mathematical value of
+ # o1 divided by o2, or NULL on failure. The return value is
+ # ``approximate'' because binary floating point numbers are
+ # approximate; it is not possible to represent all real numbers in
+ # base two. This function can return a floating point value when
+ # passed two integers. The operation is done in-place when o1
+ # supports it.
+
+ object PyNumber_InPlaceRemainder(object o1, object o2)
+ # Return value: New reference.
+ # Returns the remainder of dividing o1 by o2, or NULL on
+ # failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 %= o2".
+
+ object PyNumber_InPlacePower(object o1, object o2, object o3)
+ # Return value: New reference.
+ # See the built-in function pow(). Returns NULL on failure. The
+ # operation is done in-place when o1 supports it. This is the
+ # equivalent of the Python statement "o1 **= o2" when o3 is
+ # Py_None, or an in-place variant of "pow(o1, o2, o3)"
+ # otherwise. If o3 is to be ignored, pass Py_None in its place
+ # (passing NULL for o3 would cause an illegal memory access).
+
+ object PyNumber_InPlaceLshift(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of left shifting o1 by o2 on success, or NULL
+ # on failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 <<= o2".
+
+ object PyNumber_InPlaceRshift(object o1, object o2)
+ # Return value: New reference.
+ # Returns the result of right shifting o1 by o2 on success, or
+ # NULL on failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 >>= o2".
+
+ object PyNumber_InPlaceAnd(object o1, object o2)
+ # Return value: New reference.
+ # Returns the ``bitwise and'' of o1 and o2 on success and NULL on
+ # failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 &= o2".
+
+ object PyNumber_InPlaceXor(object o1, object o2)
+ # Return value: New reference.
+ # Returns the ``bitwise exclusive or'' of o1 by o2 on success, or
+ # NULL on failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 ^= o2".
+
+ object PyNumber_InPlaceOr(object o1, object o2)
+ # Return value: New reference.
+ # Returns the ``bitwise or'' of o1 and o2 on success, or NULL on
+ # failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python statement "o1 |= o2".
+
+ int PyNumber_Coerce(PyObject **p1, PyObject **p2) except -1
+ # This function takes the addresses of two variables of type
+ # PyObject*. If the objects pointed to by *p1 and *p2 have the
+ # same type, increment their reference count and return 0
+ # (success). If the objects can be converted to a common numeric
+ # type, replace *p1 and *p2 by their converted value (with 'new'
+ # reference counts), and return 0. If no conversion is possible,
+ # or if some other error occurs, return -1 (failure) and don't
+ # increment the reference counts. The call PyNumber_Coerce(&o1,
+ # &o2) is equivalent to the Python statement "o1, o2 = coerce(o1,
+ # o2)".
+
+ object PyNumber_Int(object o)
+ # Return value: New reference.
+ # Returns the o converted to an integer object on success, or NULL
+ # on failure. If the argument is outside the integer range a long
+ # object will be returned instead. This is the equivalent of the
+ # Python expression "int(o)".
+
+ object PyNumber_Long(object o)
+ # Return value: New reference.
+ # Returns the o converted to a long integer object on success, or
+ # NULL on failure. This is the equivalent of the Python expression
+ # "long(o)".
+
+ object PyNumber_Float(object o)
+ # Return value: New reference.
+ # Returns the o converted to a float object on success, or NULL on
+ # failure. This is the equivalent of the Python expression
+ # "float(o)".
+
+ object PyNumber_Index(object o)
+ # Returns the o converted to a Python int or long on success or
+ # NULL with a TypeError exception raised on failure.
+
+ Py_ssize_t PyNumber_AsSsize_t(object o, object exc) except? -1
+ # Returns o converted to a Py_ssize_t value if o can be
+ # interpreted as an integer. If o can be converted to a Python int
+ # or long but the attempt to convert to a Py_ssize_t value would
+ # raise an OverflowError, then the exc argument is the type of
+ # exception that will be raised (usually IndexError or
+ # OverflowError). If exc is NULL, then the exception is cleared
+ # and the value is clipped to PY_SSIZE_T_MIN for a negative
+ # integer or PY_SSIZE_T_MAX for a positive integer.
+
+ bint PyIndex_Check(object)
+ # Returns True if o is an index integer (has the nb_index slot of
+ # the tp_as_number structure filled in).
diff --git a/contrib/tools/cython/Cython/Includes/cpython/object.pxd b/contrib/tools/cython/Cython/Includes/cpython/object.pxd
index 5a81166393..7917811c2c 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/object.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/object.pxd
@@ -1,8 +1,8 @@
-from libc.stdio cimport FILE
+from libc.stdio cimport FILE
cimport cpython.type
-
-cdef extern from "Python.h":
-
+
+cdef extern from "Python.h":
+
ctypedef struct PyObject # forward declaration
ctypedef object (*newfunc)(cpython.type.type, object, object) # (type, args, kwargs)
@@ -73,297 +73,297 @@ cdef extern from "Python.h":
void* PyObject_Realloc(void *, size_t)
void PyObject_Free(void *)
- #####################################################################
- # 6.1 Object Protocol
- #####################################################################
- int PyObject_Print(object o, FILE *fp, int flags) except -1
- # Print an object o, on file fp. Returns -1 on error. The flags
- # argument is used to enable certain printing options. The only
- # option currently supported is Py_PRINT_RAW; if given, the str()
- # of the object is written instead of the repr().
-
+ #####################################################################
+ # 6.1 Object Protocol
+ #####################################################################
+ int PyObject_Print(object o, FILE *fp, int flags) except -1
+ # Print an object o, on file fp. Returns -1 on error. The flags
+ # argument is used to enable certain printing options. The only
+ # option currently supported is Py_PRINT_RAW; if given, the str()
+ # of the object is written instead of the repr().
+
bint PyObject_HasAttrString(object o, const char *attr_name)
- # Returns 1 if o has the attribute attr_name, and 0
- # otherwise. This is equivalent to the Python expression
- # "hasattr(o, attr_name)". This function always succeeds.
-
+ # Returns 1 if o has the attribute attr_name, and 0
+ # otherwise. This is equivalent to the Python expression
+ # "hasattr(o, attr_name)". This function always succeeds.
+
object PyObject_GetAttrString(object o, const char *attr_name)
- # Return value: New reference. Retrieve an attribute named
- # attr_name from object o. Returns the attribute value on success,
- # or NULL on failure. This is the equivalent of the Python
- # expression "o.attr_name".
-
- bint PyObject_HasAttr(object o, object attr_name)
- # Returns 1 if o has the attribute attr_name, and 0
- # otherwise. This is equivalent to the Python expression
- # "hasattr(o, attr_name)". This function always succeeds.
-
- object PyObject_GetAttr(object o, object attr_name)
- # Return value: New reference. Retrieve an attribute named
- # attr_name from object o. Returns the attribute value on success,
- # or NULL on failure. This is the equivalent of the Python
- # expression "o.attr_name".
-
+ # Return value: New reference. Retrieve an attribute named
+ # attr_name from object o. Returns the attribute value on success,
+ # or NULL on failure. This is the equivalent of the Python
+ # expression "o.attr_name".
+
+ bint PyObject_HasAttr(object o, object attr_name)
+ # Returns 1 if o has the attribute attr_name, and 0
+ # otherwise. This is equivalent to the Python expression
+ # "hasattr(o, attr_name)". This function always succeeds.
+
+ object PyObject_GetAttr(object o, object attr_name)
+ # Return value: New reference. Retrieve an attribute named
+ # attr_name from object o. Returns the attribute value on success,
+ # or NULL on failure. This is the equivalent of the Python
+ # expression "o.attr_name".
+
object PyObject_GenericGetAttr(object o, object attr_name)
int PyObject_SetAttrString(object o, const char *attr_name, object v) except -1
- # Set the value of the attribute named attr_name, for object o, to
- # the value v. Returns -1 on failure. This is the equivalent of
- # the Python statement "o.attr_name = v".
-
- int PyObject_SetAttr(object o, object attr_name, object v) except -1
- # Set the value of the attribute named attr_name, for object o, to
- # the value v. Returns -1 on failure. This is the equivalent of
- # the Python statement "o.attr_name = v".
-
+ # Set the value of the attribute named attr_name, for object o, to
+ # the value v. Returns -1 on failure. This is the equivalent of
+ # the Python statement "o.attr_name = v".
+
+ int PyObject_SetAttr(object o, object attr_name, object v) except -1
+ # Set the value of the attribute named attr_name, for object o, to
+ # the value v. Returns -1 on failure. This is the equivalent of
+ # the Python statement "o.attr_name = v".
+
int PyObject_GenericSetAttr(object o, object attr_name, object v) except -1
int PyObject_DelAttrString(object o, const char *attr_name) except -1
- # Delete attribute named attr_name, for object o. Returns -1 on
- # failure. This is the equivalent of the Python statement: "del
- # o.attr_name".
-
- int PyObject_DelAttr(object o, object attr_name) except -1
- # Delete attribute named attr_name, for object o. Returns -1 on
- # failure. This is the equivalent of the Python statement "del
- # o.attr_name".
-
- int Py_LT, Py_LE, Py_EQ, Py_NE, Py_GT, Py_GE
-
- object PyObject_RichCompare(object o1, object o2, int opid)
- # Return value: New reference.
- # Compare the values of o1 and o2 using the operation specified by
- # opid, which must be one of Py_LT, Py_LE, Py_EQ, Py_NE, Py_GT, or
- # Py_GE, corresponding to <, <=, ==, !=, >, or >=
- # respectively. This is the equivalent of the Python expression
- # "o1 op o2", where op is the operator corresponding to
- # opid. Returns the value of the comparison on success, or NULL on
- # failure.
-
- bint PyObject_RichCompareBool(object o1, object o2, int opid) except -1
- # Compare the values of o1 and o2 using the operation specified by
- # opid, which must be one of Py_LT, Py_LE, Py_EQ, Py_NE, Py_GT, or
- # Py_GE, corresponding to <, <=, ==, !=, >, or >=
- # respectively. Returns -1 on error, 0 if the result is false, 1
- # otherwise. This is the equivalent of the Python expression "o1
- # op o2", where op is the operator corresponding to opid.
-
- int PyObject_Cmp(object o1, object o2, int *result) except -1
- # Compare the values of o1 and o2 using a routine provided by o1,
- # if one exists, otherwise with a routine provided by o2. The
- # result of the comparison is returned in result. Returns -1 on
- # failure. This is the equivalent of the Python statement "result
- # = cmp(o1, o2)".
-
- int PyObject_Compare(object o1, object o2) except *
- # Compare the values of o1 and o2 using a routine provided by o1,
- # if one exists, otherwise with a routine provided by o2. Returns
- # the result of the comparison on success. On error, the value
- # returned is undefined; use PyErr_Occurred() to detect an
- # error. This is equivalent to the Python expression "cmp(o1,
- # o2)".
-
- object PyObject_Repr(object o)
- # Return value: New reference.
- # Compute a string representation of object o. Returns the string
- # representation on success, NULL on failure. This is the
- # equivalent of the Python expression "repr(o)". Called by the
- # repr() built-in function and by reverse quotes.
-
- object PyObject_Str(object o)
- # Return value: New reference.
- # Compute a string representation of object o. Returns the string
- # representation on success, NULL on failure. This is the
- # equivalent of the Python expression "str(o)". Called by the
- # str() built-in function and by the print statement.
-
- object PyObject_Unicode(object o)
- # Return value: New reference.
- # Compute a Unicode string representation of object o. Returns the
- # Unicode string representation on success, NULL on failure. This
- # is the equivalent of the Python expression "unicode(o)". Called
- # by the unicode() built-in function.
-
- bint PyObject_IsInstance(object inst, object cls) except -1
- # Returns 1 if inst is an instance of the class cls or a subclass
- # of cls, or 0 if not. On error, returns -1 and sets an
- # exception. If cls is a type object rather than a class object,
- # PyObject_IsInstance() returns 1 if inst is of type cls. If cls
- # is a tuple, the check will be done against every entry in
- # cls. The result will be 1 when at least one of the checks
- # returns 1, otherwise it will be 0. If inst is not a class
- # instance and cls is neither a type object, nor a class object,
- # nor a tuple, inst must have a __class__ attribute -- the class
- # relationship of the value of that attribute with cls will be
- # used to determine the result of this function.
-
- # Subclass determination is done in a fairly straightforward way,
- # but includes a wrinkle that implementors of extensions to the
- # class system may want to be aware of. If A and B are class
- # objects, B is a subclass of A if it inherits from A either
- # directly or indirectly. If either is not a class object, a more
- # general mechanism is used to determine the class relationship of
- # the two objects. When testing if B is a subclass of A, if A is
- # B, PyObject_IsSubclass() returns true. If A and B are different
- # objects, B's __bases__ attribute is searched in a depth-first
- # fashion for A -- the presence of the __bases__ attribute is
- # considered sufficient for this determination.
-
- bint PyObject_IsSubclass(object derived, object cls) except -1
- # Returns 1 if the class derived is identical to or derived from
- # the class cls, otherwise returns 0. In case of an error, returns
- # -1. If cls is a tuple, the check will be done against every
- # entry in cls. The result will be 1 when at least one of the
- # checks returns 1, otherwise it will be 0. If either derived or
- # cls is not an actual class object (or tuple), this function uses
- # the generic algorithm described above. New in version
- # 2.1. Changed in version 2.3: Older versions of Python did not
- # support a tuple as the second argument.
-
- bint PyCallable_Check(object o)
- # Determine if the object o is callable. Return 1 if the object is
- # callable and 0 otherwise. This function always succeeds.
-
- object PyObject_Call(object callable_object, object args, object kw)
- # Return value: New reference.
- # Call a callable Python object callable_object, with arguments
- # given by the tuple args, and named arguments given by the
- # dictionary kw. If no named arguments are needed, kw may be
- # NULL. args must not be NULL, use an empty tuple if no arguments
- # are needed. Returns the result of the call on success, or NULL
- # on failure. This is the equivalent of the Python expression
- # "apply(callable_object, args, kw)" or "callable_object(*args,
- # **kw)".
-
- object PyObject_CallObject(object callable_object, object args)
- # Return value: New reference.
- # Call a callable Python object callable_object, with arguments
- # given by the tuple args. If no arguments are needed, then args
- # may be NULL. Returns the result of the call on success, or NULL
- # on failure. This is the equivalent of the Python expression
- # "apply(callable_object, args)" or "callable_object(*args)".
-
- object PyObject_CallFunction(object callable, char *format, ...)
- # Return value: New reference.
- # Call a callable Python object callable, with a variable number
- # of C arguments. The C arguments are described using a
- # Py_BuildValue() style format string. The format may be NULL,
- # indicating that no arguments are provided. Returns the result of
- # the call on success, or NULL on failure. This is the equivalent
- # of the Python expression "apply(callable, args)" or
- # "callable(*args)". Note that if you only pass object args,
- # PyObject_CallFunctionObjArgs is a faster alternative.
-
- object PyObject_CallMethod(object o, char *method, char *format, ...)
- # Return value: New reference.
- # Call the method named method of object o with a variable number
- # of C arguments. The C arguments are described by a
- # Py_BuildValue() format string that should produce a tuple. The
- # format may be NULL, indicating that no arguments are
- # provided. Returns the result of the call on success, or NULL on
- # failure. This is the equivalent of the Python expression
- # "o.method(args)". Note that if you only pass object args,
- # PyObject_CallMethodObjArgs is a faster alternative.
-
- #object PyObject_CallFunctionObjArgs(object callable, ..., NULL)
- object PyObject_CallFunctionObjArgs(object callable, ...)
- # Return value: New reference.
- # Call a callable Python object callable, with a variable number
- # of PyObject* arguments. The arguments are provided as a variable
- # number of parameters followed by NULL. Returns the result of the
- # call on success, or NULL on failure.
-
- #PyObject* PyObject_CallMethodObjArgs(object o, object name, ..., NULL)
- object PyObject_CallMethodObjArgs(object o, object name, ...)
- # Return value: New reference.
- # Calls a method of the object o, where the name of the method is
- # given as a Python string object in name. It is called with a
- # variable number of PyObject* arguments. The arguments are
- # provided as a variable number of parameters followed by
- # NULL. Returns the result of the call on success, or NULL on
- # failure.
-
- long PyObject_Hash(object o) except? -1
- # Compute and return the hash value of an object o. On failure,
- # return -1. This is the equivalent of the Python expression
- # "hash(o)".
-
- bint PyObject_IsTrue(object o) except -1
- # Returns 1 if the object o is considered to be true, and 0
- # otherwise. This is equivalent to the Python expression "not not
- # o". On failure, return -1.
-
- bint PyObject_Not(object o) except -1
- # Returns 0 if the object o is considered to be true, and 1
- # otherwise. This is equivalent to the Python expression "not
- # o". On failure, return -1.
-
- object PyObject_Type(object o)
- # Return value: New reference.
- # When o is non-NULL, returns a type object corresponding to the
- # object type of object o. On failure, raises SystemError and
- # returns NULL. This is equivalent to the Python expression
- # type(o). This function increments the reference count of the
- # return value. There's really no reason to use this function
- # instead of the common expression o->ob_type, which returns a
- # pointer of type PyTypeObject*, except when the incremented
- # reference count is needed.
-
- bint PyObject_TypeCheck(object o, PyTypeObject *type)
- # Return true if the object o is of type type or a subtype of
- # type. Both parameters must be non-NULL.
-
- Py_ssize_t PyObject_Length(object o) except -1
- Py_ssize_t PyObject_Size(object o) except -1
- # Return the length of object o. If the object o provides either
- # the sequence and mapping protocols, the sequence length is
- # returned. On error, -1 is returned. This is the equivalent to
- # the Python expression "len(o)".
-
- object PyObject_GetItem(object o, object key)
- # Return value: New reference.
- # Return element of o corresponding to the object key or NULL on
- # failure. This is the equivalent of the Python expression
- # "o[key]".
-
- int PyObject_SetItem(object o, object key, object v) except -1
- # Map the object key to the value v. Returns -1 on failure. This
- # is the equivalent of the Python statement "o[key] = v".
-
- int PyObject_DelItem(object o, object key) except -1
- # Delete the mapping for key from o. Returns -1 on failure. This
- # is the equivalent of the Python statement "del o[key]".
-
- int PyObject_AsFileDescriptor(object o) except -1
- # Derives a file-descriptor from a Python object. If the object is
- # an integer or long integer, its value is returned. If not, the
- # object's fileno() method is called if it exists; the method must
- # return an integer or long integer, which is returned as the file
- # descriptor value. Returns -1 on failure.
-
- object PyObject_Dir(object o)
- # Return value: New reference.
- # This is equivalent to the Python expression "dir(o)", returning
- # a (possibly empty) list of strings appropriate for the object
- # argument, or NULL if there was an error. If the argument is
- # NULL, this is like the Python "dir()", returning the names of
- # the current locals; in this case, if no execution frame is
- # active then NULL is returned but PyErr_Occurred() will return
- # false.
-
- object PyObject_GetIter(object o)
- # Return value: New reference.
- # This is equivalent to the Python expression "iter(o)". It
- # returns a new iterator for the object argument, or the object
- # itself if the object is already an iterator. Raises TypeError
- # and returns NULL if the object cannot be iterated.
-
- Py_ssize_t Py_SIZE(object o)
-
- object PyObject_Format(object obj, object format_spec)
- # Takes an arbitrary object and returns the result of calling
- # obj.__format__(format_spec).
- # Added in Py2.6
+ # Delete attribute named attr_name, for object o. Returns -1 on
+ # failure. This is the equivalent of the Python statement: "del
+ # o.attr_name".
+
+ int PyObject_DelAttr(object o, object attr_name) except -1
+ # Delete attribute named attr_name, for object o. Returns -1 on
+ # failure. This is the equivalent of the Python statement "del
+ # o.attr_name".
+
+ int Py_LT, Py_LE, Py_EQ, Py_NE, Py_GT, Py_GE
+
+ object PyObject_RichCompare(object o1, object o2, int opid)
+ # Return value: New reference.
+ # Compare the values of o1 and o2 using the operation specified by
+ # opid, which must be one of Py_LT, Py_LE, Py_EQ, Py_NE, Py_GT, or
+ # Py_GE, corresponding to <, <=, ==, !=, >, or >=
+ # respectively. This is the equivalent of the Python expression
+ # "o1 op o2", where op is the operator corresponding to
+ # opid. Returns the value of the comparison on success, or NULL on
+ # failure.
+
+ bint PyObject_RichCompareBool(object o1, object o2, int opid) except -1
+ # Compare the values of o1 and o2 using the operation specified by
+ # opid, which must be one of Py_LT, Py_LE, Py_EQ, Py_NE, Py_GT, or
+ # Py_GE, corresponding to <, <=, ==, !=, >, or >=
+ # respectively. Returns -1 on error, 0 if the result is false, 1
+ # otherwise. This is the equivalent of the Python expression "o1
+ # op o2", where op is the operator corresponding to opid.
+
+ int PyObject_Cmp(object o1, object o2, int *result) except -1
+ # Compare the values of o1 and o2 using a routine provided by o1,
+ # if one exists, otherwise with a routine provided by o2. The
+ # result of the comparison is returned in result. Returns -1 on
+ # failure. This is the equivalent of the Python statement "result
+ # = cmp(o1, o2)".
+
+ int PyObject_Compare(object o1, object o2) except *
+ # Compare the values of o1 and o2 using a routine provided by o1,
+ # if one exists, otherwise with a routine provided by o2. Returns
+ # the result of the comparison on success. On error, the value
+ # returned is undefined; use PyErr_Occurred() to detect an
+ # error. This is equivalent to the Python expression "cmp(o1,
+ # o2)".
+
+ object PyObject_Repr(object o)
+ # Return value: New reference.
+ # Compute a string representation of object o. Returns the string
+ # representation on success, NULL on failure. This is the
+ # equivalent of the Python expression "repr(o)". Called by the
+ # repr() built-in function and by reverse quotes.
+
+ object PyObject_Str(object o)
+ # Return value: New reference.
+ # Compute a string representation of object o. Returns the string
+ # representation on success, NULL on failure. This is the
+ # equivalent of the Python expression "str(o)". Called by the
+ # str() built-in function and by the print statement.
+
+ object PyObject_Unicode(object o)
+ # Return value: New reference.
+ # Compute a Unicode string representation of object o. Returns the
+ # Unicode string representation on success, NULL on failure. This
+ # is the equivalent of the Python expression "unicode(o)". Called
+ # by the unicode() built-in function.
+
+ bint PyObject_IsInstance(object inst, object cls) except -1
+ # Returns 1 if inst is an instance of the class cls or a subclass
+ # of cls, or 0 if not. On error, returns -1 and sets an
+ # exception. If cls is a type object rather than a class object,
+ # PyObject_IsInstance() returns 1 if inst is of type cls. If cls
+ # is a tuple, the check will be done against every entry in
+ # cls. The result will be 1 when at least one of the checks
+ # returns 1, otherwise it will be 0. If inst is not a class
+ # instance and cls is neither a type object, nor a class object,
+ # nor a tuple, inst must have a __class__ attribute -- the class
+ # relationship of the value of that attribute with cls will be
+ # used to determine the result of this function.
+
+ # Subclass determination is done in a fairly straightforward way,
+ # but includes a wrinkle that implementors of extensions to the
+ # class system may want to be aware of. If A and B are class
+ # objects, B is a subclass of A if it inherits from A either
+ # directly or indirectly. If either is not a class object, a more
+ # general mechanism is used to determine the class relationship of
+ # the two objects. When testing if B is a subclass of A, if A is
+ # B, PyObject_IsSubclass() returns true. If A and B are different
+ # objects, B's __bases__ attribute is searched in a depth-first
+ # fashion for A -- the presence of the __bases__ attribute is
+ # considered sufficient for this determination.
+
+ bint PyObject_IsSubclass(object derived, object cls) except -1
+ # Returns 1 if the class derived is identical to or derived from
+ # the class cls, otherwise returns 0. In case of an error, returns
+ # -1. If cls is a tuple, the check will be done against every
+ # entry in cls. The result will be 1 when at least one of the
+ # checks returns 1, otherwise it will be 0. If either derived or
+ # cls is not an actual class object (or tuple), this function uses
+ # the generic algorithm described above. New in version
+ # 2.1. Changed in version 2.3: Older versions of Python did not
+ # support a tuple as the second argument.
+
+ bint PyCallable_Check(object o)
+ # Determine if the object o is callable. Return 1 if the object is
+ # callable and 0 otherwise. This function always succeeds.
+
+ object PyObject_Call(object callable_object, object args, object kw)
+ # Return value: New reference.
+ # Call a callable Python object callable_object, with arguments
+ # given by the tuple args, and named arguments given by the
+ # dictionary kw. If no named arguments are needed, kw may be
+ # NULL. args must not be NULL, use an empty tuple if no arguments
+ # are needed. Returns the result of the call on success, or NULL
+ # on failure. This is the equivalent of the Python expression
+ # "apply(callable_object, args, kw)" or "callable_object(*args,
+ # **kw)".
+
+ object PyObject_CallObject(object callable_object, object args)
+ # Return value: New reference.
+ # Call a callable Python object callable_object, with arguments
+ # given by the tuple args. If no arguments are needed, then args
+ # may be NULL. Returns the result of the call on success, or NULL
+ # on failure. This is the equivalent of the Python expression
+ # "apply(callable_object, args)" or "callable_object(*args)".
+
+ object PyObject_CallFunction(object callable, char *format, ...)
+ # Return value: New reference.
+ # Call a callable Python object callable, with a variable number
+ # of C arguments. The C arguments are described using a
+ # Py_BuildValue() style format string. The format may be NULL,
+ # indicating that no arguments are provided. Returns the result of
+ # the call on success, or NULL on failure. This is the equivalent
+ # of the Python expression "apply(callable, args)" or
+ # "callable(*args)". Note that if you only pass object args,
+ # PyObject_CallFunctionObjArgs is a faster alternative.
+
+ object PyObject_CallMethod(object o, char *method, char *format, ...)
+ # Return value: New reference.
+ # Call the method named method of object o with a variable number
+ # of C arguments. The C arguments are described by a
+ # Py_BuildValue() format string that should produce a tuple. The
+ # format may be NULL, indicating that no arguments are
+ # provided. Returns the result of the call on success, or NULL on
+ # failure. This is the equivalent of the Python expression
+ # "o.method(args)". Note that if you only pass object args,
+ # PyObject_CallMethodObjArgs is a faster alternative.
+
+ #object PyObject_CallFunctionObjArgs(object callable, ..., NULL)
+ object PyObject_CallFunctionObjArgs(object callable, ...)
+ # Return value: New reference.
+ # Call a callable Python object callable, with a variable number
+ # of PyObject* arguments. The arguments are provided as a variable
+ # number of parameters followed by NULL. Returns the result of the
+ # call on success, or NULL on failure.
+
+ #PyObject* PyObject_CallMethodObjArgs(object o, object name, ..., NULL)
+ object PyObject_CallMethodObjArgs(object o, object name, ...)
+ # Return value: New reference.
+ # Calls a method of the object o, where the name of the method is
+ # given as a Python string object in name. It is called with a
+ # variable number of PyObject* arguments. The arguments are
+ # provided as a variable number of parameters followed by
+ # NULL. Returns the result of the call on success, or NULL on
+ # failure.
+
+ long PyObject_Hash(object o) except? -1
+ # Compute and return the hash value of an object o. On failure,
+ # return -1. This is the equivalent of the Python expression
+ # "hash(o)".
+
+ bint PyObject_IsTrue(object o) except -1
+ # Returns 1 if the object o is considered to be true, and 0
+ # otherwise. This is equivalent to the Python expression "not not
+ # o". On failure, return -1.
+
+ bint PyObject_Not(object o) except -1
+ # Returns 0 if the object o is considered to be true, and 1
+ # otherwise. This is equivalent to the Python expression "not
+ # o". On failure, return -1.
+
+ object PyObject_Type(object o)
+ # Return value: New reference.
+ # When o is non-NULL, returns a type object corresponding to the
+ # object type of object o. On failure, raises SystemError and
+ # returns NULL. This is equivalent to the Python expression
+ # type(o). This function increments the reference count of the
+ # return value. There's really no reason to use this function
+ # instead of the common expression o->ob_type, which returns a
+ # pointer of type PyTypeObject*, except when the incremented
+ # reference count is needed.
+
+ bint PyObject_TypeCheck(object o, PyTypeObject *type)
+ # Return true if the object o is of type type or a subtype of
+ # type. Both parameters must be non-NULL.
+
+ Py_ssize_t PyObject_Length(object o) except -1
+ Py_ssize_t PyObject_Size(object o) except -1
+ # Return the length of object o. If the object o provides either
+ # the sequence and mapping protocols, the sequence length is
+ # returned. On error, -1 is returned. This is the equivalent to
+ # the Python expression "len(o)".
+
+ object PyObject_GetItem(object o, object key)
+ # Return value: New reference.
+ # Return element of o corresponding to the object key or NULL on
+ # failure. This is the equivalent of the Python expression
+ # "o[key]".
+
+ int PyObject_SetItem(object o, object key, object v) except -1
+ # Map the object key to the value v. Returns -1 on failure. This
+ # is the equivalent of the Python statement "o[key] = v".
+
+ int PyObject_DelItem(object o, object key) except -1
+ # Delete the mapping for key from o. Returns -1 on failure. This
+ # is the equivalent of the Python statement "del o[key]".
+
+ int PyObject_AsFileDescriptor(object o) except -1
+ # Derives a file-descriptor from a Python object. If the object is
+ # an integer or long integer, its value is returned. If not, the
+ # object's fileno() method is called if it exists; the method must
+ # return an integer or long integer, which is returned as the file
+ # descriptor value. Returns -1 on failure.
+
+ object PyObject_Dir(object o)
+ # Return value: New reference.
+ # This is equivalent to the Python expression "dir(o)", returning
+ # a (possibly empty) list of strings appropriate for the object
+ # argument, or NULL if there was an error. If the argument is
+ # NULL, this is like the Python "dir()", returning the names of
+ # the current locals; in this case, if no execution frame is
+ # active then NULL is returned but PyErr_Occurred() will return
+ # false.
+
+ object PyObject_GetIter(object o)
+ # Return value: New reference.
+ # This is equivalent to the Python expression "iter(o)". It
+ # returns a new iterator for the object argument, or the object
+ # itself if the object is already an iterator. Raises TypeError
+ # and returns NULL if the object cannot be iterated.
+
+ Py_ssize_t Py_SIZE(object o)
+
+ object PyObject_Format(object obj, object format_spec)
+ # Takes an arbitrary object and returns the result of calling
+ # obj.__format__(format_spec).
+ # Added in Py2.6
# Type flags (tp_flags of PyTypeObject)
long Py_TPFLAGS_HAVE_GETCHARBUFFER
diff --git a/contrib/tools/cython/Cython/Includes/cpython/oldbuffer.pxd b/contrib/tools/cython/Cython/Includes/cpython/oldbuffer.pxd
index 0222428ed4..c48a9de073 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/oldbuffer.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/oldbuffer.pxd
@@ -1,63 +1,63 @@
-# Legacy Python 2 buffer interface.
-#
-# These functions are no longer available in Python 3, use the new
-# buffer interface instead.
-
-cdef extern from "Python.h":
- cdef enum _:
- Py_END_OF_BUFFER
- # This constant may be passed as the size parameter to
- # PyBuffer_FromObject() or PyBuffer_FromReadWriteObject(). It
- # indicates that the new PyBufferObject should refer to base object
- # from the specified offset to the end of its exported
- # buffer. Using this enables the caller to avoid querying the base
- # object for its length.
-
- bint PyBuffer_Check(object p)
- # Return true if the argument has type PyBuffer_Type.
-
- object PyBuffer_FromObject(object base, Py_ssize_t offset, Py_ssize_t size)
- # Return value: New reference.
- #
- # Return a new read-only buffer object. This raises TypeError if
- # base doesn't support the read-only buffer protocol or doesn't
- # provide exactly one buffer segment, or it raises ValueError if
- # offset is less than zero. The buffer will hold a reference to the
- # base object, and the buffer's contents will refer to the base
- # object's buffer interface, starting as position offset and
- # extending for size bytes. If size is Py_END_OF_BUFFER, then the
- # new buffer's contents extend to the length of the base object's
- # exported buffer data.
-
- object PyBuffer_FromReadWriteObject(object base, Py_ssize_t offset, Py_ssize_t size)
- # Return value: New reference.
- #
- # Return a new writable buffer object. Parameters and exceptions
- # are similar to those for PyBuffer_FromObject(). If the base
- # object does not export the writeable buffer protocol, then
- # TypeError is raised.
-
- object PyBuffer_FromMemory(void *ptr, Py_ssize_t size)
- # Return value: New reference.
- #
- # Return a new read-only buffer object that reads from a specified
- # location in memory, with a specified size. The caller is
- # responsible for ensuring that the memory buffer, passed in as
- # ptr, is not deallocated while the returned buffer object
- # exists. Raises ValueError if size is less than zero. Note that
- # Py_END_OF_BUFFER may not be passed for the size parameter;
- # ValueError will be raised in that case.
-
- object PyBuffer_FromReadWriteMemory(void *ptr, Py_ssize_t size)
- # Return value: New reference.
- #
- # Similar to PyBuffer_FromMemory(), but the returned buffer is
- # writable.
-
- object PyBuffer_New(Py_ssize_t size)
- # Return value: New reference.
- #
- # Return a new writable buffer object that maintains its own memory
- # buffer of size bytes. ValueError is returned if size is not zero
- # or positive. Note that the memory buffer (as returned by
- # PyObject_AsWriteBuffer()) is not specifically aligned.
+# Legacy Python 2 buffer interface.
+#
+# These functions are no longer available in Python 3, use the new
+# buffer interface instead.
+
+cdef extern from "Python.h":
+ cdef enum _:
+ Py_END_OF_BUFFER
+ # This constant may be passed as the size parameter to
+ # PyBuffer_FromObject() or PyBuffer_FromReadWriteObject(). It
+ # indicates that the new PyBufferObject should refer to base object
+ # from the specified offset to the end of its exported
+ # buffer. Using this enables the caller to avoid querying the base
+ # object for its length.
+
+ bint PyBuffer_Check(object p)
+ # Return true if the argument has type PyBuffer_Type.
+
+ object PyBuffer_FromObject(object base, Py_ssize_t offset, Py_ssize_t size)
+ # Return value: New reference.
+ #
+ # Return a new read-only buffer object. This raises TypeError if
+ # base doesn't support the read-only buffer protocol or doesn't
+ # provide exactly one buffer segment, or it raises ValueError if
+ # offset is less than zero. The buffer will hold a reference to the
+ # base object, and the buffer's contents will refer to the base
+ # object's buffer interface, starting as position offset and
+ # extending for size bytes. If size is Py_END_OF_BUFFER, then the
+ # new buffer's contents extend to the length of the base object's
+ # exported buffer data.
+
+ object PyBuffer_FromReadWriteObject(object base, Py_ssize_t offset, Py_ssize_t size)
+ # Return value: New reference.
+ #
+ # Return a new writable buffer object. Parameters and exceptions
+ # are similar to those for PyBuffer_FromObject(). If the base
+ # object does not export the writeable buffer protocol, then
+ # TypeError is raised.
+
+ object PyBuffer_FromMemory(void *ptr, Py_ssize_t size)
+ # Return value: New reference.
+ #
+ # Return a new read-only buffer object that reads from a specified
+ # location in memory, with a specified size. The caller is
+ # responsible for ensuring that the memory buffer, passed in as
+ # ptr, is not deallocated while the returned buffer object
+ # exists. Raises ValueError if size is less than zero. Note that
+ # Py_END_OF_BUFFER may not be passed for the size parameter;
+ # ValueError will be raised in that case.
+
+ object PyBuffer_FromReadWriteMemory(void *ptr, Py_ssize_t size)
+ # Return value: New reference.
+ #
+ # Similar to PyBuffer_FromMemory(), but the returned buffer is
+ # writable.
+
+ object PyBuffer_New(Py_ssize_t size)
+ # Return value: New reference.
+ #
+ # Return a new writable buffer object that maintains its own memory
+ # buffer of size bytes. ValueError is returned if size is not zero
+ # or positive. Note that the memory buffer (as returned by
+ # PyObject_AsWriteBuffer()) is not specifically aligned.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/pycapsule.pxd b/contrib/tools/cython/Cython/Includes/cpython/pycapsule.pxd
index c3d12c7490..a8467ce19a 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/pycapsule.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/pycapsule.pxd
@@ -1,144 +1,144 @@
-
-# available since Python 3.1!
-
-
-cdef extern from "Python.h":
-
- ctypedef struct PyCapsule_Type
- # This subtype of PyObject represents an opaque value, useful for
- # C extension modules who need to pass an opaque value (as a void*
- # pointer) through Python code to other C code. It is often used
- # to make a C function pointer defined in one module available to
- # other modules, so the regular import mechanism can be used to
- # access C APIs defined in dynamically loaded modules.
-
-
- ctypedef void (*PyCapsule_Destructor)(object o)
- # The type of a destructor callback for a capsule.
- #
- # See PyCapsule_New() for the semantics of PyCapsule_Destructor
- # callbacks.
-
-
- bint PyCapsule_CheckExact(object o)
- # Return true if its argument is a PyCapsule.
-
-
+
+# available since Python 3.1!
+
+
+cdef extern from "Python.h":
+
+ ctypedef struct PyCapsule_Type
+ # This subtype of PyObject represents an opaque value, useful for
+ # C extension modules who need to pass an opaque value (as a void*
+ # pointer) through Python code to other C code. It is often used
+ # to make a C function pointer defined in one module available to
+ # other modules, so the regular import mechanism can be used to
+ # access C APIs defined in dynamically loaded modules.
+
+
+ ctypedef void (*PyCapsule_Destructor)(object o)
+ # The type of a destructor callback for a capsule.
+ #
+ # See PyCapsule_New() for the semantics of PyCapsule_Destructor
+ # callbacks.
+
+
+ bint PyCapsule_CheckExact(object o)
+ # Return true if its argument is a PyCapsule.
+
+
object PyCapsule_New(void *pointer, const char *name,
- PyCapsule_Destructor destructor)
- # Return value: New reference.
- #
- # Create a PyCapsule encapsulating the pointer. The pointer
- # argument may not be NULL.
- #
- # On failure, set an exception and return NULL.
- #
- # The name string may either be NULL or a pointer to a valid C
- # string. If non-NULL, this string must outlive the
- # capsule. (Though it is permitted to free it inside the
- # destructor.)
- #
- # If the destructor argument is not NULL, it will be called with
- # the capsule as its argument when it is destroyed.
- #
- # If this capsule will be stored as an attribute of a module, the
- # name should be specified as modulename.attributename. This will
- # enable other modules to import the capsule using
- # PyCapsule_Import().
-
-
+ PyCapsule_Destructor destructor)
+ # Return value: New reference.
+ #
+ # Create a PyCapsule encapsulating the pointer. The pointer
+ # argument may not be NULL.
+ #
+ # On failure, set an exception and return NULL.
+ #
+ # The name string may either be NULL or a pointer to a valid C
+ # string. If non-NULL, this string must outlive the
+ # capsule. (Though it is permitted to free it inside the
+ # destructor.)
+ #
+ # If the destructor argument is not NULL, it will be called with
+ # the capsule as its argument when it is destroyed.
+ #
+ # If this capsule will be stored as an attribute of a module, the
+ # name should be specified as modulename.attributename. This will
+ # enable other modules to import the capsule using
+ # PyCapsule_Import().
+
+
void* PyCapsule_GetPointer(object capsule, const char *name) except? NULL
- # Retrieve the pointer stored in the capsule. On failure, set an
- # exception and return NULL.
- #
- # The name parameter must compare exactly to the name stored in
- # the capsule. If the name stored in the capsule is NULL, the name
- # passed in must also be NULL. Python uses the C function strcmp()
- # to compare capsule names.
-
-
- PyCapsule_Destructor PyCapsule_GetDestructor(object capsule) except? NULL
- # Return the current destructor stored in the capsule. On failure,
- # set an exception and return NULL.
- #
- # It is legal for a capsule to have a NULL destructor. This makes
- # a NULL return code somewhat ambiguous; use PyCapsule_IsValid()
- # or PyErr_Occurred() to disambiguate.
-
-
+ # Retrieve the pointer stored in the capsule. On failure, set an
+ # exception and return NULL.
+ #
+ # The name parameter must compare exactly to the name stored in
+ # the capsule. If the name stored in the capsule is NULL, the name
+ # passed in must also be NULL. Python uses the C function strcmp()
+ # to compare capsule names.
+
+
+ PyCapsule_Destructor PyCapsule_GetDestructor(object capsule) except? NULL
+ # Return the current destructor stored in the capsule. On failure,
+ # set an exception and return NULL.
+ #
+ # It is legal for a capsule to have a NULL destructor. This makes
+ # a NULL return code somewhat ambiguous; use PyCapsule_IsValid()
+ # or PyErr_Occurred() to disambiguate.
+
+
const char* PyCapsule_GetName(object capsule) except? NULL
- # Return the current name stored in the capsule. On failure, set
- # an exception and return NULL.
- #
- # It is legal for a capsule to have a NULL name. This makes a NULL
- # return code somewhat ambiguous; use PyCapsule_IsValid() or
- # PyErr_Occurred() to disambiguate.
-
-
- void* PyCapsule_GetContext(object capsule) except? NULL
- # Return the current context stored in the capsule. On failure,
- # set an exception and return NULL.
- #
- # It is legal for a capsule to have a NULL context. This makes a
- # NULL return code somewhat ambiguous; use PyCapsule_IsValid() or
- # PyErr_Occurred() to disambiguate.
-
-
+ # Return the current name stored in the capsule. On failure, set
+ # an exception and return NULL.
+ #
+ # It is legal for a capsule to have a NULL name. This makes a NULL
+ # return code somewhat ambiguous; use PyCapsule_IsValid() or
+ # PyErr_Occurred() to disambiguate.
+
+
+ void* PyCapsule_GetContext(object capsule) except? NULL
+ # Return the current context stored in the capsule. On failure,
+ # set an exception and return NULL.
+ #
+ # It is legal for a capsule to have a NULL context. This makes a
+ # NULL return code somewhat ambiguous; use PyCapsule_IsValid() or
+ # PyErr_Occurred() to disambiguate.
+
+
bint PyCapsule_IsValid(object capsule, const char *name)
- # Determines whether or not capsule is a valid capsule. A valid
- # capsule is non-NULL, passes PyCapsule_CheckExact(), has a
- # non-NULL pointer stored in it, and its internal name matches the
- # name parameter. (See PyCapsule_GetPointer() for information on
- # how capsule names are compared.)
- #
- # In other words, if PyCapsule_IsValid() returns a true value,
- # calls to any of the accessors (any function starting with
- # PyCapsule_Get()) are guaranteed to succeed.
- #
- # Return a nonzero value if the object is valid and matches the
- # name passed in. Return 0 otherwise. This function will not fail.
-
-
- int PyCapsule_SetPointer(object capsule, void *pointer) except -1
- # Set the void pointer inside capsule to pointer. The pointer may
- # not be NULL.
- #
- # Return 0 on success. Return nonzero and set an exception on
- # failure.
-
-
- int PyCapsule_SetDestructor(object capsule, PyCapsule_Destructor destructor) except -1
- # Set the destructor inside capsule to destructor.
- #
- # Return 0 on success. Return nonzero and set an exception on
- # failure.
-
-
+ # Determines whether or not capsule is a valid capsule. A valid
+ # capsule is non-NULL, passes PyCapsule_CheckExact(), has a
+ # non-NULL pointer stored in it, and its internal name matches the
+ # name parameter. (See PyCapsule_GetPointer() for information on
+ # how capsule names are compared.)
+ #
+ # In other words, if PyCapsule_IsValid() returns a true value,
+ # calls to any of the accessors (any function starting with
+ # PyCapsule_Get()) are guaranteed to succeed.
+ #
+ # Return a nonzero value if the object is valid and matches the
+ # name passed in. Return 0 otherwise. This function will not fail.
+
+
+ int PyCapsule_SetPointer(object capsule, void *pointer) except -1
+ # Set the void pointer inside capsule to pointer. The pointer may
+ # not be NULL.
+ #
+ # Return 0 on success. Return nonzero and set an exception on
+ # failure.
+
+
+ int PyCapsule_SetDestructor(object capsule, PyCapsule_Destructor destructor) except -1
+ # Set the destructor inside capsule to destructor.
+ #
+ # Return 0 on success. Return nonzero and set an exception on
+ # failure.
+
+
int PyCapsule_SetName(object capsule, const char *name) except -1
- # Set the name inside capsule to name. If non-NULL, the name must
- # outlive the capsule. If the previous name stored in the capsule
- # was not NULL, no attempt is made to free it.
- #
- # Return 0 on success. Return nonzero and set an exception on
- # failure.
-
-
- int PyCapsule_SetContext(object capsule, void *context) except -1
- # Set the context pointer inside capsule to context. Return 0 on
- # success. Return nonzero and set an exception on failure.
-
-
+ # Set the name inside capsule to name. If non-NULL, the name must
+ # outlive the capsule. If the previous name stored in the capsule
+ # was not NULL, no attempt is made to free it.
+ #
+ # Return 0 on success. Return nonzero and set an exception on
+ # failure.
+
+
+ int PyCapsule_SetContext(object capsule, void *context) except -1
+ # Set the context pointer inside capsule to context. Return 0 on
+ # success. Return nonzero and set an exception on failure.
+
+
void* PyCapsule_Import(const char *name, int no_block) except? NULL
- # Import a pointer to a C object from a capsule attribute in a
- # module. The name parameter should specify the full name to the
- # attribute, as in module.attribute. The name stored in the
- # capsule must match this string exactly. If no_block is true,
- # import the module without blocking (using
- # PyImport_ImportModuleNoBlock()). If no_block is false, import
- # the module conventionally (using PyImport_ImportModule()).
- #
- # Return the capsule’s internal pointer on success. On failure,
- # set an exception and return NULL. However, if PyCapsule_Import()
- # failed to import the module, and no_block was true, no exception
- # is set.
-
+ # Import a pointer to a C object from a capsule attribute in a
+ # module. The name parameter should specify the full name to the
+ # attribute, as in module.attribute. The name stored in the
+ # capsule must match this string exactly. If no_block is true,
+ # import the module without blocking (using
+ # PyImport_ImportModuleNoBlock()). If no_block is false, import
+ # the module conventionally (using PyImport_ImportModule()).
+ #
+ # Return the capsule’s internal pointer on success. On failure,
+ # set an exception and return NULL. However, if PyCapsule_Import()
+ # failed to import the module, and no_block was true, no exception
+ # is set.
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/pystate.pxd b/contrib/tools/cython/Cython/Includes/cpython/pystate.pxd
index 1af6307931..498841f858 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/pystate.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/pystate.pxd
@@ -1,92 +1,92 @@
-# Thread and interpreter state structures and their interfaces
-
+# Thread and interpreter state structures and their interfaces
+
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
+
+cdef extern from "Python.h":
+
# We make these an opaque types. If the user wants specific attributes,
- # they can be declared manually.
-
+ # they can be declared manually.
+
ctypedef long PY_INT64_T # FIXME: Py2.7+, not defined here but used here
- ctypedef struct PyInterpreterState:
- pass
-
- ctypedef struct PyThreadState:
- pass
-
- ctypedef struct PyFrameObject:
- pass
-
- # This is not actually a struct, but make sure it can never be coerced to
- # an int or used in arithmetic expressions
+ ctypedef struct PyInterpreterState:
+ pass
+
+ ctypedef struct PyThreadState:
+ pass
+
+ ctypedef struct PyFrameObject:
+ pass
+
+ # This is not actually a struct, but make sure it can never be coerced to
+ # an int or used in arithmetic expressions
ctypedef struct PyGILState_STATE:
pass
-
- # The type of the trace function registered using PyEval_SetProfile() and
- # PyEval_SetTrace().
- # Py_tracefunc return -1 when raising an exception, or 0 for success.
- ctypedef int (*Py_tracefunc)(PyObject *, PyFrameObject *, int, PyObject *)
-
- # The following values are used for 'what' for tracefunc functions
- enum:
- PyTrace_CALL
- PyTrace_EXCEPTION
- PyTrace_LINE
- PyTrace_RETURN
- PyTrace_C_CALL
- PyTrace_C_EXCEPTION
- PyTrace_C_RETURN
-
-
- PyInterpreterState * PyInterpreterState_New()
- void PyInterpreterState_Clear(PyInterpreterState *)
- void PyInterpreterState_Delete(PyInterpreterState *)
+
+ # The type of the trace function registered using PyEval_SetProfile() and
+ # PyEval_SetTrace().
+ # Py_tracefunc return -1 when raising an exception, or 0 for success.
+ ctypedef int (*Py_tracefunc)(PyObject *, PyFrameObject *, int, PyObject *)
+
+ # The following values are used for 'what' for tracefunc functions
+ enum:
+ PyTrace_CALL
+ PyTrace_EXCEPTION
+ PyTrace_LINE
+ PyTrace_RETURN
+ PyTrace_C_CALL
+ PyTrace_C_EXCEPTION
+ PyTrace_C_RETURN
+
+
+ PyInterpreterState * PyInterpreterState_New()
+ void PyInterpreterState_Clear(PyInterpreterState *)
+ void PyInterpreterState_Delete(PyInterpreterState *)
PY_INT64_T PyInterpreterState_GetID(PyInterpreterState *)
-
- PyThreadState * PyThreadState_New(PyInterpreterState *)
- void PyThreadState_Clear(PyThreadState *)
- void PyThreadState_Delete(PyThreadState *)
-
- PyThreadState * PyThreadState_Get()
+
+ PyThreadState * PyThreadState_New(PyInterpreterState *)
+ void PyThreadState_Clear(PyThreadState *)
+ void PyThreadState_Delete(PyThreadState *)
+
+ PyThreadState * PyThreadState_Get()
PyThreadState * PyThreadState_Swap(PyThreadState *) # NOTE: DO NOT USE IN CYTHON CODE !
- PyObject * PyThreadState_GetDict()
- int PyThreadState_SetAsyncExc(long, PyObject *)
-
- # Ensure that the current thread is ready to call the Python
- # C API, regardless of the current state of Python, or of its
- # thread lock. This may be called as many times as desired
- # by a thread so long as each call is matched with a call to
- # PyGILState_Release(). In general, other thread-state APIs may
- # be used between _Ensure() and _Release() calls, so long as the
- # thread-state is restored to its previous state before the Release().
- # For example, normal use of the Py_BEGIN_ALLOW_THREADS/
- # Py_END_ALLOW_THREADS macros are acceptable.
-
- # The return value is an opaque "handle" to the thread state when
- # PyGILState_Ensure() was called, and must be passed to
- # PyGILState_Release() to ensure Python is left in the same state. Even
- # though recursive calls are allowed, these handles can *not* be shared -
- # each unique call to PyGILState_Ensure must save the handle for its
- # call to PyGILState_Release.
-
- # When the function returns, the current thread will hold the GIL.
-
- # Failure is a fatal error.
- PyGILState_STATE PyGILState_Ensure()
-
- # Release any resources previously acquired. After this call, Python's
- # state will be the same as it was prior to the corresponding
- # PyGILState_Ensure() call (but generally this state will be unknown to
- # the caller, hence the use of the GILState API.)
-
- # Every call to PyGILState_Ensure must be matched by a call to
- # PyGILState_Release on the same thread.
- void PyGILState_Release(PyGILState_STATE)
-
- # Routines for advanced debuggers, requested by David Beazley.
- # Don't use unless you know what you are doing!
- PyInterpreterState * PyInterpreterState_Head()
- PyInterpreterState * PyInterpreterState_Next(PyInterpreterState *)
- PyThreadState * PyInterpreterState_ThreadHead(PyInterpreterState *)
- PyThreadState * PyThreadState_Next(PyThreadState *)
+ PyObject * PyThreadState_GetDict()
+ int PyThreadState_SetAsyncExc(long, PyObject *)
+
+ # Ensure that the current thread is ready to call the Python
+ # C API, regardless of the current state of Python, or of its
+ # thread lock. This may be called as many times as desired
+ # by a thread so long as each call is matched with a call to
+ # PyGILState_Release(). In general, other thread-state APIs may
+ # be used between _Ensure() and _Release() calls, so long as the
+ # thread-state is restored to its previous state before the Release().
+ # For example, normal use of the Py_BEGIN_ALLOW_THREADS/
+ # Py_END_ALLOW_THREADS macros are acceptable.
+
+ # The return value is an opaque "handle" to the thread state when
+ # PyGILState_Ensure() was called, and must be passed to
+ # PyGILState_Release() to ensure Python is left in the same state. Even
+ # though recursive calls are allowed, these handles can *not* be shared -
+ # each unique call to PyGILState_Ensure must save the handle for its
+ # call to PyGILState_Release.
+
+ # When the function returns, the current thread will hold the GIL.
+
+ # Failure is a fatal error.
+ PyGILState_STATE PyGILState_Ensure()
+
+ # Release any resources previously acquired. After this call, Python's
+ # state will be the same as it was prior to the corresponding
+ # PyGILState_Ensure() call (but generally this state will be unknown to
+ # the caller, hence the use of the GILState API.)
+
+ # Every call to PyGILState_Ensure must be matched by a call to
+ # PyGILState_Release on the same thread.
+ void PyGILState_Release(PyGILState_STATE)
+
+ # Routines for advanced debuggers, requested by David Beazley.
+ # Don't use unless you know what you are doing!
+ PyInterpreterState * PyInterpreterState_Head()
+ PyInterpreterState * PyInterpreterState_Next(PyInterpreterState *)
+ PyThreadState * PyInterpreterState_ThreadHead(PyInterpreterState *)
+ PyThreadState * PyThreadState_Next(PyThreadState *)
diff --git a/contrib/tools/cython/Cython/Includes/cpython/pythread.pxd b/contrib/tools/cython/Cython/Includes/cpython/pythread.pxd
index 392bef7d64..67f48747c4 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/pythread.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/pythread.pxd
@@ -1,45 +1,45 @@
-
-
-cdef extern from "pythread.h":
-
- ctypedef void *PyThread_type_lock
- ctypedef void *PyThread_type_sema
-
- void PyThread_init_thread()
+
+
+cdef extern from "pythread.h":
+
+ ctypedef void *PyThread_type_lock
+ ctypedef void *PyThread_type_sema
+
+ void PyThread_init_thread()
long PyThread_start_new_thread(void (*)(void *), void *) # FIXME: legacy
#unsigned long PyThread_start_new_thread(void (*)(void *), void *) # returned 'long' before Py3.7
- void PyThread_exit_thread()
+ void PyThread_exit_thread()
long PyThread_get_thread_ident() # FIXME: legacy
#unsigned long PyThread_get_thread_ident() # returned 'long' before Py3.7
-
- PyThread_type_lock PyThread_allocate_lock()
- void PyThread_free_lock(PyThread_type_lock)
- int PyThread_acquire_lock(PyThread_type_lock, int mode) nogil
- void PyThread_release_lock(PyThread_type_lock) nogil
-
- enum:
- # 'mode' in PyThread_acquire_lock()
- WAIT_LOCK # 1
- NOWAIT_LOCK # 0
-
- ctypedef enum PyLockStatus:
- # return values of PyThread_acquire_lock() in CPython 3.2+
- PY_LOCK_FAILURE = 0
- PY_LOCK_ACQUIRED = 1
- PY_LOCK_INTR
-
- size_t PyThread_get_stacksize()
- int PyThread_set_stacksize(size_t)
-
+
+ PyThread_type_lock PyThread_allocate_lock()
+ void PyThread_free_lock(PyThread_type_lock)
+ int PyThread_acquire_lock(PyThread_type_lock, int mode) nogil
+ void PyThread_release_lock(PyThread_type_lock) nogil
+
+ enum:
+ # 'mode' in PyThread_acquire_lock()
+ WAIT_LOCK # 1
+ NOWAIT_LOCK # 0
+
+ ctypedef enum PyLockStatus:
+ # return values of PyThread_acquire_lock() in CPython 3.2+
+ PY_LOCK_FAILURE = 0
+ PY_LOCK_ACQUIRED = 1
+ PY_LOCK_INTR
+
+ size_t PyThread_get_stacksize()
+ int PyThread_set_stacksize(size_t)
+
# Thread Local Storage (TLS) API deprecated in CPython 3.7+
- int PyThread_create_key()
- void PyThread_delete_key(int)
- int PyThread_set_key_value(int, void *)
- void * PyThread_get_key_value(int)
- void PyThread_delete_key_value(int key)
-
- # Cleanup after a fork
- void PyThread_ReInitTLS()
+ int PyThread_create_key()
+ void PyThread_delete_key(int)
+ int PyThread_set_key_value(int, void *)
+ void * PyThread_get_key_value(int)
+ void PyThread_delete_key_value(int key)
+
+ # Cleanup after a fork
+ void PyThread_ReInitTLS()
# Thread Specific Storage (TSS) API in CPython 3.7+ (also backported)
#ctypedef struct Py_tss_t: pass # Cython built-in type
diff --git a/contrib/tools/cython/Cython/Includes/cpython/ref.pxd b/contrib/tools/cython/Cython/Includes/cpython/ref.pxd
index 4bc9a7d7c8..84ee788bc8 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/ref.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/ref.pxd
@@ -1,51 +1,51 @@
from .object cimport PyObject, PyTypeObject, Py_TYPE # legacy imports for re-export
-cdef extern from "Python.h":
- #####################################################################
- # 3. Reference Counts
- #####################################################################
- # The macros in this section are used for managing reference counts of Python objects.
- void Py_INCREF(object o)
- # Increment the reference count for object o. The object must not
- # be NULL; if you aren't sure that it isn't NULL, use
- # Py_XINCREF().
-
- void Py_XINCREF(PyObject* o)
- # Increment the reference count for object o. The object may be NULL, in which case the macro has no effect.
-
- void Py_DECREF(object o)
- # Decrement the reference count for object o. The object must not
- # be NULL; if you aren't sure that it isn't NULL, use
- # Py_XDECREF(). If the reference count reaches zero, the object's
- # type's deallocation function (which must not be NULL) is
- # invoked.
-
- # Warning: The deallocation function can cause arbitrary Python
- # code to be invoked (e.g. when a class instance with a __del__()
- # method is deallocated). While exceptions in such code are not
- # propagated, the executed code has free access to all Python
- # global variables. This means that any object that is reachable
- # from a global variable should be in a consistent state before
- # Py_DECREF() is invoked. For example, code to delete an object
- # from a list should copy a reference to the deleted object in a
- # temporary variable, update the list data structure, and then
- # call Py_DECREF() for the temporary variable.
-
- void Py_XDECREF(PyObject* o)
- # Decrement the reference count for object o. The object may be
- # NULL, in which case the macro has no effect; otherwise the
- # effect is the same as for Py_DECREF(), and the same warning
- # applies.
-
- void Py_CLEAR(PyObject* o)
- # Decrement the reference count for object o. The object may be
- # NULL, in which case the macro has no effect; otherwise the
- # effect is the same as for Py_DECREF(), except that the argument
- # is also set to NULL. The warning for Py_DECREF() does not apply
- # with respect to the object passed because the macro carefully
- # uses a temporary variable and sets the argument to NULL before
- # decrementing its reference count.
- # It is a good idea to use this macro whenever decrementing the
- # value of a variable that might be traversed during garbage
- # collection.
-
+cdef extern from "Python.h":
+ #####################################################################
+ # 3. Reference Counts
+ #####################################################################
+ # The macros in this section are used for managing reference counts of Python objects.
+ void Py_INCREF(object o)
+ # Increment the reference count for object o. The object must not
+ # be NULL; if you aren't sure that it isn't NULL, use
+ # Py_XINCREF().
+
+ void Py_XINCREF(PyObject* o)
+ # Increment the reference count for object o. The object may be NULL, in which case the macro has no effect.
+
+ void Py_DECREF(object o)
+ # Decrement the reference count for object o. The object must not
+ # be NULL; if you aren't sure that it isn't NULL, use
+ # Py_XDECREF(). If the reference count reaches zero, the object's
+ # type's deallocation function (which must not be NULL) is
+ # invoked.
+
+ # Warning: The deallocation function can cause arbitrary Python
+ # code to be invoked (e.g. when a class instance with a __del__()
+ # method is deallocated). While exceptions in such code are not
+ # propagated, the executed code has free access to all Python
+ # global variables. This means that any object that is reachable
+ # from a global variable should be in a consistent state before
+ # Py_DECREF() is invoked. For example, code to delete an object
+ # from a list should copy a reference to the deleted object in a
+ # temporary variable, update the list data structure, and then
+ # call Py_DECREF() for the temporary variable.
+
+ void Py_XDECREF(PyObject* o)
+ # Decrement the reference count for object o. The object may be
+ # NULL, in which case the macro has no effect; otherwise the
+ # effect is the same as for Py_DECREF(), and the same warning
+ # applies.
+
+ void Py_CLEAR(PyObject* o)
+ # Decrement the reference count for object o. The object may be
+ # NULL, in which case the macro has no effect; otherwise the
+ # effect is the same as for Py_DECREF(), except that the argument
+ # is also set to NULL. The warning for Py_DECREF() does not apply
+ # with respect to the object passed because the macro carefully
+ # uses a temporary variable and sets the argument to NULL before
+ # decrementing its reference count.
+ # It is a good idea to use this macro whenever decrementing the
+ # value of a variable that might be traversed during garbage
+ # collection.
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/sequence.pxd b/contrib/tools/cython/Cython/Includes/cpython/sequence.pxd
index eb279968d2..14f9c8f29f 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/sequence.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/sequence.pxd
@@ -1,136 +1,136 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
- ############################################################################
- # 6.3 Sequence Protocol
- ############################################################################
-
- bint PySequence_Check(object o)
- # Return 1 if the object provides sequence protocol, and 0
- # otherwise. This function always succeeds.
-
- Py_ssize_t PySequence_Size(object o) except -1
- # Returns the number of objects in sequence o on success, and -1
- # on failure. For objects that do not provide sequence protocol,
- # this is equivalent to the Python expression "len(o)".
-
- Py_ssize_t PySequence_Length(object o) except -1
- # Alternate name for PySequence_Size().
-
- object PySequence_Concat(object o1, object o2)
- # Return value: New reference.
- # Return the concatenation of o1 and o2 on success, and NULL on
- # failure. This is the equivalent of the Python expression "o1 +
- # o2".
-
- object PySequence_Repeat(object o, Py_ssize_t count)
- # Return value: New reference.
- # Return the result of repeating sequence object o count times, or
- # NULL on failure. This is the equivalent of the Python expression
- # "o * count".
-
- object PySequence_InPlaceConcat(object o1, object o2)
- # Return value: New reference.
- # Return the concatenation of o1 and o2 on success, and NULL on
- # failure. The operation is done in-place when o1 supports
- # it. This is the equivalent of the Python expression "o1 += o2".
-
- object PySequence_InPlaceRepeat(object o, Py_ssize_t count)
- # Return value: New reference.
- # Return the result of repeating sequence object o count times, or
- # NULL on failure. The operation is done in-place when o supports
- # it. This is the equivalent of the Python expression "o *=
- # count".
-
- object PySequence_GetItem(object o, Py_ssize_t i)
- # Return value: New reference.
- # Return the ith element of o, or NULL on failure. This is the
- # equivalent of the Python expression "o[i]".
-
- object PySequence_GetSlice(object o, Py_ssize_t i1, Py_ssize_t i2)
- # Return value: New reference.
- # Return the slice of sequence object o between i1 and i2, or NULL
- # on failure. This is the equivalent of the Python expression
- # "o[i1:i2]".
-
- int PySequence_SetItem(object o, Py_ssize_t i, object v) except -1
- # Assign object v to the ith element of o. Returns -1 on
- # failure. This is the equivalent of the Python statement "o[i] =
- # v". This function does not steal a reference to v.
-
- int PySequence_DelItem(object o, Py_ssize_t i) except -1
- # Delete the ith element of object o. Returns -1 on failure. This
- # is the equivalent of the Python statement "del o[i]".
-
- int PySequence_SetSlice(object o, Py_ssize_t i1, Py_ssize_t i2, object v) except -1
- # Assign the sequence object v to the slice in sequence object o
- # from i1 to i2. This is the equivalent of the Python statement
- # "o[i1:i2] = v".
-
- int PySequence_DelSlice(object o, Py_ssize_t i1, Py_ssize_t i2) except -1
- # Delete the slice in sequence object o from i1 to i2. Returns -1
- # on failure. This is the equivalent of the Python statement "del
- # o[i1:i2]".
-
- int PySequence_Count(object o, object value) except -1
- # Return the number of occurrences of value in o, that is, return
- # the number of keys for which o[key] == value. On failure, return
- # -1. This is equivalent to the Python expression
- # "o.count(value)".
-
- int PySequence_Contains(object o, object value) except -1
- # Determine if o contains value. If an item in o is equal to
- # value, return 1, otherwise return 0. On error, return -1. This
- # is equivalent to the Python expression "value in o".
-
- Py_ssize_t PySequence_Index(object o, object value) except -1
- # Return the first index i for which o[i] == value. On error,
- # return -1. This is equivalent to the Python expression
- # "o.index(value)".
-
- object PySequence_List(object o)
- # Return value: New reference.
- # Return a list object with the same contents as the arbitrary
- # sequence o. The returned list is guaranteed to be new.
-
- object PySequence_Tuple(object o)
- # Return value: New reference.
- # Return a tuple object with the same contents as the arbitrary
- # sequence o or NULL on failure. If o is a tuple, a new reference
- # will be returned, otherwise a tuple will be constructed with the
- # appropriate contents. This is equivalent to the Python
- # expression "tuple(o)".
-
- object PySequence_Fast(object o, char *m)
- # Return value: New reference.
- # Returns the sequence o as a tuple, unless it is already a tuple
- # or list, in which case o is returned. Use
- # PySequence_Fast_GET_ITEM() to access the members of the
- # result. Returns NULL on failure. If the object is not a
- # sequence, raises TypeError with m as the message text.
-
- PyObject* PySequence_Fast_GET_ITEM(object o, Py_ssize_t i)
- # Return value: Borrowed reference.
- # Return the ith element of o, assuming that o was returned by
- # PySequence_Fast(), o is not NULL, and that i is within bounds.
-
- PyObject** PySequence_Fast_ITEMS(object o)
- # Return the underlying array of PyObject pointers. Assumes that o
- # was returned by PySequence_Fast() and o is not NULL.
-
- object PySequence_ITEM(object o, Py_ssize_t i)
- # Return value: New reference.
- # Return the ith element of o or NULL on failure. Macro form of
- # PySequence_GetItem() but without checking that
- # PySequence_Check(o) is true and without adjustment for negative
- # indices.
-
- Py_ssize_t PySequence_Fast_GET_SIZE(object o)
- # Returns the length of o, assuming that o was returned by
- # PySequence_Fast() and that o is not NULL. The size can also be
- # gotten by calling PySequence_Size() on o, but
- # PySequence_Fast_GET_SIZE() is faster because it can assume o is
- # a list or tuple.
-
-
+
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 6.3 Sequence Protocol
+ ############################################################################
+
+ bint PySequence_Check(object o)
+ # Return 1 if the object provides sequence protocol, and 0
+ # otherwise. This function always succeeds.
+
+ Py_ssize_t PySequence_Size(object o) except -1
+ # Returns the number of objects in sequence o on success, and -1
+ # on failure. For objects that do not provide sequence protocol,
+ # this is equivalent to the Python expression "len(o)".
+
+ Py_ssize_t PySequence_Length(object o) except -1
+ # Alternate name for PySequence_Size().
+
+ object PySequence_Concat(object o1, object o2)
+ # Return value: New reference.
+ # Return the concatenation of o1 and o2 on success, and NULL on
+ # failure. This is the equivalent of the Python expression "o1 +
+ # o2".
+
+ object PySequence_Repeat(object o, Py_ssize_t count)
+ # Return value: New reference.
+ # Return the result of repeating sequence object o count times, or
+ # NULL on failure. This is the equivalent of the Python expression
+ # "o * count".
+
+ object PySequence_InPlaceConcat(object o1, object o2)
+ # Return value: New reference.
+ # Return the concatenation of o1 and o2 on success, and NULL on
+ # failure. The operation is done in-place when o1 supports
+ # it. This is the equivalent of the Python expression "o1 += o2".
+
+ object PySequence_InPlaceRepeat(object o, Py_ssize_t count)
+ # Return value: New reference.
+ # Return the result of repeating sequence object o count times, or
+ # NULL on failure. The operation is done in-place when o supports
+ # it. This is the equivalent of the Python expression "o *=
+ # count".
+
+ object PySequence_GetItem(object o, Py_ssize_t i)
+ # Return value: New reference.
+ # Return the ith element of o, or NULL on failure. This is the
+ # equivalent of the Python expression "o[i]".
+
+ object PySequence_GetSlice(object o, Py_ssize_t i1, Py_ssize_t i2)
+ # Return value: New reference.
+ # Return the slice of sequence object o between i1 and i2, or NULL
+ # on failure. This is the equivalent of the Python expression
+ # "o[i1:i2]".
+
+ int PySequence_SetItem(object o, Py_ssize_t i, object v) except -1
+ # Assign object v to the ith element of o. Returns -1 on
+ # failure. This is the equivalent of the Python statement "o[i] =
+ # v". This function does not steal a reference to v.
+
+ int PySequence_DelItem(object o, Py_ssize_t i) except -1
+ # Delete the ith element of object o. Returns -1 on failure. This
+ # is the equivalent of the Python statement "del o[i]".
+
+ int PySequence_SetSlice(object o, Py_ssize_t i1, Py_ssize_t i2, object v) except -1
+ # Assign the sequence object v to the slice in sequence object o
+ # from i1 to i2. This is the equivalent of the Python statement
+ # "o[i1:i2] = v".
+
+ int PySequence_DelSlice(object o, Py_ssize_t i1, Py_ssize_t i2) except -1
+ # Delete the slice in sequence object o from i1 to i2. Returns -1
+ # on failure. This is the equivalent of the Python statement "del
+ # o[i1:i2]".
+
+ int PySequence_Count(object o, object value) except -1
+ # Return the number of occurrences of value in o, that is, return
+ # the number of keys for which o[key] == value. On failure, return
+ # -1. This is equivalent to the Python expression
+ # "o.count(value)".
+
+ int PySequence_Contains(object o, object value) except -1
+ # Determine if o contains value. If an item in o is equal to
+ # value, return 1, otherwise return 0. On error, return -1. This
+ # is equivalent to the Python expression "value in o".
+
+ Py_ssize_t PySequence_Index(object o, object value) except -1
+ # Return the first index i for which o[i] == value. On error,
+ # return -1. This is equivalent to the Python expression
+ # "o.index(value)".
+
+ object PySequence_List(object o)
+ # Return value: New reference.
+ # Return a list object with the same contents as the arbitrary
+ # sequence o. The returned list is guaranteed to be new.
+
+ object PySequence_Tuple(object o)
+ # Return value: New reference.
+ # Return a tuple object with the same contents as the arbitrary
+ # sequence o or NULL on failure. If o is a tuple, a new reference
+ # will be returned, otherwise a tuple will be constructed with the
+ # appropriate contents. This is equivalent to the Python
+ # expression "tuple(o)".
+
+ object PySequence_Fast(object o, char *m)
+ # Return value: New reference.
+ # Returns the sequence o as a tuple, unless it is already a tuple
+ # or list, in which case o is returned. Use
+ # PySequence_Fast_GET_ITEM() to access the members of the
+ # result. Returns NULL on failure. If the object is not a
+ # sequence, raises TypeError with m as the message text.
+
+ PyObject* PySequence_Fast_GET_ITEM(object o, Py_ssize_t i)
+ # Return value: Borrowed reference.
+ # Return the ith element of o, assuming that o was returned by
+ # PySequence_Fast(), o is not NULL, and that i is within bounds.
+
+ PyObject** PySequence_Fast_ITEMS(object o)
+ # Return the underlying array of PyObject pointers. Assumes that o
+ # was returned by PySequence_Fast() and o is not NULL.
+
+ object PySequence_ITEM(object o, Py_ssize_t i)
+ # Return value: New reference.
+ # Return the ith element of o or NULL on failure. Macro form of
+ # PySequence_GetItem() but without checking that
+ # PySequence_Check(o) is true and without adjustment for negative
+ # indices.
+
+ Py_ssize_t PySequence_Fast_GET_SIZE(object o)
+ # Returns the length of o, assuming that o was returned by
+ # PySequence_Fast() and that o is not NULL. The size can also be
+ # gotten by calling PySequence_Size() on o, but
+ # PySequence_Fast_GET_SIZE() is faster because it can assume o is
+ # a list or tuple.
+
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/set.pxd b/contrib/tools/cython/Cython/Includes/cpython/set.pxd
index ae31d28ae3..2a196bec10 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/set.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/set.pxd
@@ -1,119 +1,119 @@
-cdef extern from "Python.h":
-
- ############################################################################
- # 7.5.14 Set Objects
- ############################################################################
-
- # This section details the public API for set and frozenset
- # objects. Any functionality not listed below is best accessed
- # using the either the abstract object protocol (including
- # PyObject_CallMethod(), PyObject_RichCompareBool(),
- # PyObject_Hash(), PyObject_Repr(), PyObject_IsTrue(),
- # PyObject_Print(), and PyObject_GetIter()) or the abstract number
- # protocol (including PyNumber_Add(), PyNumber_Subtract(),
- # PyNumber_Or(), PyNumber_Xor(), PyNumber_InPlaceAdd(),
- # PyNumber_InPlaceSubtract(), PyNumber_InPlaceOr(), and
- # PyNumber_InPlaceXor()).
-
- # PySetObject
- # This subtype of PyObject is used to hold the internal data for
- # both set and frozenset objects. It is like a PyDictObject in
- # that it is a fixed size for small sets (much like tuple storage)
- # and will point to a separate, variable sized block of memory for
- # medium and large sized sets (much like list storage). None of
- # the fields of this structure should be considered public and are
- # subject to change. All access should be done through the
- # documented API rather than by manipulating the values in the
- # structure.
-
- # PyTypeObject PySet_Type
- # This is an instance of PyTypeObject representing the Python set type.
-
- # PyTypeObject PyFrozenSet_Type
- # This is an instance of PyTypeObject representing the Python frozenset type.
-
- # The following type check macros work on pointers to any Python
- # object. Likewise, the constructor functions work with any
- # iterable Python object.
-
- bint PyAnySet_Check(object p)
- # Return true if p is a set object, a frozenset object, or an
- # instance of a subtype.
-
- bint PyAnySet_CheckExact(object p)
- # Return true if p is a set object or a frozenset object but not
- # an instance of a subtype.
-
+cdef extern from "Python.h":
+
+ ############################################################################
+ # 7.5.14 Set Objects
+ ############################################################################
+
+ # This section details the public API for set and frozenset
+ # objects. Any functionality not listed below is best accessed
+ # using the either the abstract object protocol (including
+ # PyObject_CallMethod(), PyObject_RichCompareBool(),
+ # PyObject_Hash(), PyObject_Repr(), PyObject_IsTrue(),
+ # PyObject_Print(), and PyObject_GetIter()) or the abstract number
+ # protocol (including PyNumber_Add(), PyNumber_Subtract(),
+ # PyNumber_Or(), PyNumber_Xor(), PyNumber_InPlaceAdd(),
+ # PyNumber_InPlaceSubtract(), PyNumber_InPlaceOr(), and
+ # PyNumber_InPlaceXor()).
+
+ # PySetObject
+ # This subtype of PyObject is used to hold the internal data for
+ # both set and frozenset objects. It is like a PyDictObject in
+ # that it is a fixed size for small sets (much like tuple storage)
+ # and will point to a separate, variable sized block of memory for
+ # medium and large sized sets (much like list storage). None of
+ # the fields of this structure should be considered public and are
+ # subject to change. All access should be done through the
+ # documented API rather than by manipulating the values in the
+ # structure.
+
+ # PyTypeObject PySet_Type
+ # This is an instance of PyTypeObject representing the Python set type.
+
+ # PyTypeObject PyFrozenSet_Type
+ # This is an instance of PyTypeObject representing the Python frozenset type.
+
+ # The following type check macros work on pointers to any Python
+ # object. Likewise, the constructor functions work with any
+ # iterable Python object.
+
+ bint PyAnySet_Check(object p)
+ # Return true if p is a set object, a frozenset object, or an
+ # instance of a subtype.
+
+ bint PyAnySet_CheckExact(object p)
+ # Return true if p is a set object or a frozenset object but not
+ # an instance of a subtype.
+
bint PyFrozenSet_Check(object p)
# Return true if p is a frozenset object or an instance of a subtype.
- bint PyFrozenSet_CheckExact(object p)
- # Return true if p is a frozenset object but not an instance of a subtype.
-
+ bint PyFrozenSet_CheckExact(object p)
+ # Return true if p is a frozenset object but not an instance of a subtype.
+
bint PySet_Check(object p)
# Return true if p is a set object or an instance of a subtype.
- object PySet_New(object iterable)
- # Return value: New reference.
- # Return a new set containing objects returned by the
- # iterable. The iterable may be NULL to create a new empty
- # set. Return the new set on success or NULL on failure. Raise
- # TypeError if iterable is not actually iterable. The constructor
- # is also useful for copying a set (c=set(s)).
-
- object PyFrozenSet_New(object iterable)
- # Return value: New reference.
- # Return a new frozenset containing objects returned by the
- # iterable. The iterable may be NULL to create a new empty
- # frozenset. Return the new set on success or NULL on
- # failure. Raise TypeError if iterable is not actually iterable.
-
-
- # The following functions and macros are available for instances
- # of set or frozenset or instances of their subtypes.
-
- Py_ssize_t PySet_Size(object anyset) except -1
- # Return the length of a set or frozenset object. Equivalent to
- # "len(anyset)". Raises a PyExc_SystemError if anyset is not a
- # set, frozenset, or an instance of a subtype.
-
- Py_ssize_t PySet_GET_SIZE(object anyset)
- # Macro form of PySet_Size() without error checking.
-
- bint PySet_Contains(object anyset, object key) except -1
- # Return 1 if found, 0 if not found, and -1 if an error is
- # encountered. Unlike the Python __contains__() method, this
- # function does not automatically convert unhashable sets into
- # temporary frozensets. Raise a TypeError if the key is
- # unhashable. Raise PyExc_SystemError if anyset is not a set,
- # frozenset, or an instance of a subtype.
-
-
- # The following functions are available for instances of set or
- # its subtypes but not for instances of frozenset or its subtypes.
-
- int PySet_Add(object set, object key) except -1
- # Add key to a set instance. Does not apply to frozenset
- # instances. Return 0 on success or -1 on failure. Raise a
- # TypeError if the key is unhashable. Raise a MemoryError if there
- # is no room to grow. Raise a SystemError if set is an not an
- # instance of set or its subtype.
-
- bint PySet_Discard(object set, object key) except -1
- # Return 1 if found and removed, 0 if not found (no action taken),
- # and -1 if an error is encountered. Does not raise KeyError for
- # missing keys. Raise a TypeError if the key is unhashable. Unlike
- # the Python discard() method, this function does not
- # automatically convert unhashable sets into temporary
- # frozensets. Raise PyExc_SystemError if set is an not an instance
- # of set or its subtype.
-
- object PySet_Pop(object set)
- # Return value: New reference.
- # Return a new reference to an arbitrary object in the set, and
- # removes the object from the set. Return NULL on failure. Raise
- # KeyError if the set is empty. Raise a SystemError if set is an
- # not an instance of set or its subtype.
-
- int PySet_Clear(object set)
- # Empty an existing set of all elements.
+ object PySet_New(object iterable)
+ # Return value: New reference.
+ # Return a new set containing objects returned by the
+ # iterable. The iterable may be NULL to create a new empty
+ # set. Return the new set on success or NULL on failure. Raise
+ # TypeError if iterable is not actually iterable. The constructor
+ # is also useful for copying a set (c=set(s)).
+
+ object PyFrozenSet_New(object iterable)
+ # Return value: New reference.
+ # Return a new frozenset containing objects returned by the
+ # iterable. The iterable may be NULL to create a new empty
+ # frozenset. Return the new set on success or NULL on
+ # failure. Raise TypeError if iterable is not actually iterable.
+
+
+ # The following functions and macros are available for instances
+ # of set or frozenset or instances of their subtypes.
+
+ Py_ssize_t PySet_Size(object anyset) except -1
+ # Return the length of a set or frozenset object. Equivalent to
+ # "len(anyset)". Raises a PyExc_SystemError if anyset is not a
+ # set, frozenset, or an instance of a subtype.
+
+ Py_ssize_t PySet_GET_SIZE(object anyset)
+ # Macro form of PySet_Size() without error checking.
+
+ bint PySet_Contains(object anyset, object key) except -1
+ # Return 1 if found, 0 if not found, and -1 if an error is
+ # encountered. Unlike the Python __contains__() method, this
+ # function does not automatically convert unhashable sets into
+ # temporary frozensets. Raise a TypeError if the key is
+ # unhashable. Raise PyExc_SystemError if anyset is not a set,
+ # frozenset, or an instance of a subtype.
+
+
+ # The following functions are available for instances of set or
+ # its subtypes but not for instances of frozenset or its subtypes.
+
+ int PySet_Add(object set, object key) except -1
+ # Add key to a set instance. Does not apply to frozenset
+ # instances. Return 0 on success or -1 on failure. Raise a
+ # TypeError if the key is unhashable. Raise a MemoryError if there
+ # is no room to grow. Raise a SystemError if set is an not an
+ # instance of set or its subtype.
+
+ bint PySet_Discard(object set, object key) except -1
+ # Return 1 if found and removed, 0 if not found (no action taken),
+ # and -1 if an error is encountered. Does not raise KeyError for
+ # missing keys. Raise a TypeError if the key is unhashable. Unlike
+ # the Python discard() method, this function does not
+ # automatically convert unhashable sets into temporary
+ # frozensets. Raise PyExc_SystemError if set is an not an instance
+ # of set or its subtype.
+
+ object PySet_Pop(object set)
+ # Return value: New reference.
+ # Return a new reference to an arbitrary object in the set, and
+ # removes the object from the set. Return NULL on failure. Raise
+ # KeyError if the set is empty. Raise a SystemError if set is an
+ # not an instance of set or its subtype.
+
+ int PySet_Clear(object set)
+ # Empty an existing set of all elements.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/string.pxd b/contrib/tools/cython/Cython/Includes/cpython/string.pxd
index 8af78f3dde..19fcfd3452 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/string.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/string.pxd
@@ -1,198 +1,198 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
- ctypedef struct va_list
-
- ############################################################################
- # 7.3.1 String Objects
- ############################################################################
-
- # These functions raise TypeError when expecting a string
- # parameter and are called with a non-string parameter.
- # PyStringObject
- # This subtype of PyObject represents a Python string object.
- # PyTypeObject PyString_Type
- # This instance of PyTypeObject represents the Python string type;
- # it is the same object as str and types.StringType in the Python
- # layer.
-
- bint PyString_Check(object o)
- # Return true if the object o is a string object or an instance of
- # a subtype of the string type.
-
- bint PyString_CheckExact(object o)
- # Return true if the object o is a string object, but not an instance of a subtype of the string type.
-
- object PyString_FromString(char *v)
- # Return value: New reference.
- # Return a new string object with the value v on success, and NULL
- # on failure. The parameter v must not be NULL; it will not be
- # checked.
-
- object PyString_FromStringAndSize(char *v, Py_ssize_t len)
- # Return value: New reference.
- # Return a new string object with the value v and length len on
- # success, and NULL on failure. If v is NULL, the contents of the
- # string are uninitialized.
-
- object PyString_FromFormat(char *format, ...)
- # Return value: New reference.
- # Take a C printf()-style format string and a variable number of
- # arguments, calculate the size of the resulting Python string and
- # return a string with the values formatted into it. The variable
- # arguments must be C types and must correspond exactly to the
- # format characters in the format string. The following format
- # characters are allowed:
- # Format Characters Type Comment
- # %% n/a The literal % character.
- # %c int A single character, represented as an C int.
- # %d int Exactly equivalent to printf("%d").
- # %u unsigned int Exactly equivalent to printf("%u").
- # %ld long Exactly equivalent to printf("%ld").
- # %lu unsigned long Exactly equivalent to printf("%lu").
- # %zd Py_ssize_t Exactly equivalent to printf("%zd").
- # %zu size_t Exactly equivalent to printf("%zu").
- # %i int Exactly equivalent to printf("%i").
- # %x int Exactly equivalent to printf("%x").
- # %s char* A null-terminated C character array.
-
- # %p void* The hex representation of a C pointer.
- # Mostly equivalent to printf("%p") except that it is guaranteed to
- # start with the literal 0x regardless of what the platform's printf
- # yields.
- # An unrecognized format character causes all the rest of the
- # format string to be copied as-is to the result string, and any
- # extra arguments discarded.
-
- object PyString_FromFormatV(char *format, va_list vargs)
- # Return value: New reference.
- # Identical to PyString_FromFormat() except that it takes exactly two arguments.
-
- Py_ssize_t PyString_Size(object string) except -1
- # Return the length of the string in string object string.
-
- Py_ssize_t PyString_GET_SIZE(object string)
- # Macro form of PyString_Size() but without error checking.
-
- char* PyString_AsString(object string) except NULL
- # Return a NUL-terminated representation of the contents of
- # string. The pointer refers to the internal buffer of string, not
- # a copy. The data must not be modified in any way, unless the
- # string was just created using PyString_FromStringAndSize(NULL,
- # size). It must not be deallocated. If string is a Unicode
- # object, this function computes the default encoding of string
- # and operates on that. If string is not a string object at all,
- # PyString_AsString() returns NULL and raises TypeError.
-
- char* PyString_AS_STRING(object string)
- # Macro form of PyString_AsString() but without error
- # checking. Only string objects are supported; no Unicode objects
- # should be passed.
-
- int PyString_AsStringAndSize(object obj, char **buffer, Py_ssize_t *length) except -1
- # Return a NULL-terminated representation of the contents of the
- # object obj through the output variables buffer and length.
- #
- # The function accepts both string and Unicode objects as
- # input. For Unicode objects it returns the default encoded
- # version of the object. If length is NULL, the resulting buffer
- # may not contain NUL characters; if it does, the function returns
- # -1 and a TypeError is raised.
-
- # The buffer refers to an internal string buffer of obj, not a
- # copy. The data must not be modified in any way, unless the
- # string was just created using PyString_FromStringAndSize(NULL,
- # size). It must not be deallocated. If string is a Unicode
- # object, this function computes the default encoding of string
- # and operates on that. If string is not a string object at all,
- # PyString_AsStringAndSize() returns -1 and raises TypeError.
-
- void PyString_Concat(PyObject **string, object newpart)
- # Create a new string object in *string containing the contents of
- # newpart appended to string; the caller will own the new
- # reference. The reference to the old value of string will be
- # stolen. If the new string cannot be created, the old reference
- # to string will still be discarded and the value of *string will
- # be set to NULL; the appropriate exception will be set.
-
- void PyString_ConcatAndDel(PyObject **string, object newpart)
- # Create a new string object in *string containing the contents of
- # newpart appended to string. This version decrements the
- # reference count of newpart.
-
- int _PyString_Resize(PyObject **string, Py_ssize_t newsize) except -1
- # A way to resize a string object even though it is
- # ``immutable''. Only use this to build up a brand new string
- # object; don't use this if the string may already be known in
- # other parts of the code. It is an error to call this function if
- # the refcount on the input string object is not one. Pass the
- # address of an existing string object as an lvalue (it may be
- # written into), and the new size desired. On success, *string
- # holds the resized string object and 0 is returned; the address
- # in *string may differ from its input value. If the reallocation
- # fails, the original string object at *string is deallocated,
- # *string is set to NULL, a memory exception is set, and -1 is
- # returned.
-
- object PyString_Format(object format, object args)
- # Return value: New reference. Return a new string object from
- # format and args. Analogous to format % args. The args argument
- # must be a tuple.
-
- void PyString_InternInPlace(PyObject **string)
- # Intern the argument *string in place. The argument must be the
- # address of a pointer variable pointing to a Python string
- # object. If there is an existing interned string that is the same
- # as *string, it sets *string to it (decrementing the reference
- # count of the old string object and incrementing the reference
- # count of the interned string object), otherwise it leaves
- # *string alone and interns it (incrementing its reference
- # count). (Clarification: even though there is a lot of talk about
- # reference counts, think of this function as
- # reference-count-neutral; you own the object after the call if
- # and only if you owned it before the call.)
-
- object PyString_InternFromString(char *v)
- # Return value: New reference.
- # A combination of PyString_FromString() and
- # PyString_InternInPlace(), returning either a new string object
- # that has been interned, or a new (``owned'') reference to an
- # earlier interned string object with the same value.
-
- object PyString_Decode(char *s, Py_ssize_t size, char *encoding, char *errors)
- # Return value: New reference.
- # Create an object by decoding size bytes of the encoded buffer s
- # using the codec registered for encoding. encoding and errors
- # have the same meaning as the parameters of the same name in the
- # unicode() built-in function. The codec to be used is looked up
- # using the Python codec registry. Return NULL if an exception was
- # raised by the codec.
-
- object PyString_AsDecodedObject(object str, char *encoding, char *errors)
- # Return value: New reference.
- # Decode a string object by passing it to the codec registered for
- # encoding and return the result as Python object. encoding and
- # errors have the same meaning as the parameters of the same name
- # in the string encode() method. The codec to be used is looked up
- # using the Python codec registry. Return NULL if an exception was
- # raised by the codec.
-
- object PyString_Encode(char *s, Py_ssize_t size, char *encoding, char *errors)
- # Return value: New reference.
- # Encode the char buffer of the given size by passing it to the
- # codec registered for encoding and return a Python
- # object. encoding and errors have the same meaning as the
- # parameters of the same name in the string encode() method. The
- # codec to be used is looked up using the Python codec
- # registry. Return NULL if an exception was raised by the codec.
-
- object PyString_AsEncodedObject(object str, char *encoding, char *errors)
- # Return value: New reference.
- # Encode a string object using the codec registered for encoding
- # and return the result as Python object. encoding and errors have
- # the same meaning as the parameters of the same name in the
- # string encode() method. The codec to be used is looked up using
- # the Python codec registry. Return NULL if an exception was
- # raised by the codec.
-
-
+
+cdef extern from "Python.h":
+ ctypedef struct va_list
+
+ ############################################################################
+ # 7.3.1 String Objects
+ ############################################################################
+
+ # These functions raise TypeError when expecting a string
+ # parameter and are called with a non-string parameter.
+ # PyStringObject
+ # This subtype of PyObject represents a Python string object.
+ # PyTypeObject PyString_Type
+ # This instance of PyTypeObject represents the Python string type;
+ # it is the same object as str and types.StringType in the Python
+ # layer.
+
+ bint PyString_Check(object o)
+ # Return true if the object o is a string object or an instance of
+ # a subtype of the string type.
+
+ bint PyString_CheckExact(object o)
+ # Return true if the object o is a string object, but not an instance of a subtype of the string type.
+
+ object PyString_FromString(char *v)
+ # Return value: New reference.
+ # Return a new string object with the value v on success, and NULL
+ # on failure. The parameter v must not be NULL; it will not be
+ # checked.
+
+ object PyString_FromStringAndSize(char *v, Py_ssize_t len)
+ # Return value: New reference.
+ # Return a new string object with the value v and length len on
+ # success, and NULL on failure. If v is NULL, the contents of the
+ # string are uninitialized.
+
+ object PyString_FromFormat(char *format, ...)
+ # Return value: New reference.
+ # Take a C printf()-style format string and a variable number of
+ # arguments, calculate the size of the resulting Python string and
+ # return a string with the values formatted into it. The variable
+ # arguments must be C types and must correspond exactly to the
+ # format characters in the format string. The following format
+ # characters are allowed:
+ # Format Characters Type Comment
+ # %% n/a The literal % character.
+ # %c int A single character, represented as an C int.
+ # %d int Exactly equivalent to printf("%d").
+ # %u unsigned int Exactly equivalent to printf("%u").
+ # %ld long Exactly equivalent to printf("%ld").
+ # %lu unsigned long Exactly equivalent to printf("%lu").
+ # %zd Py_ssize_t Exactly equivalent to printf("%zd").
+ # %zu size_t Exactly equivalent to printf("%zu").
+ # %i int Exactly equivalent to printf("%i").
+ # %x int Exactly equivalent to printf("%x").
+ # %s char* A null-terminated C character array.
+
+ # %p void* The hex representation of a C pointer.
+ # Mostly equivalent to printf("%p") except that it is guaranteed to
+ # start with the literal 0x regardless of what the platform's printf
+ # yields.
+ # An unrecognized format character causes all the rest of the
+ # format string to be copied as-is to the result string, and any
+ # extra arguments discarded.
+
+ object PyString_FromFormatV(char *format, va_list vargs)
+ # Return value: New reference.
+ # Identical to PyString_FromFormat() except that it takes exactly two arguments.
+
+ Py_ssize_t PyString_Size(object string) except -1
+ # Return the length of the string in string object string.
+
+ Py_ssize_t PyString_GET_SIZE(object string)
+ # Macro form of PyString_Size() but without error checking.
+
+ char* PyString_AsString(object string) except NULL
+ # Return a NUL-terminated representation of the contents of
+ # string. The pointer refers to the internal buffer of string, not
+ # a copy. The data must not be modified in any way, unless the
+ # string was just created using PyString_FromStringAndSize(NULL,
+ # size). It must not be deallocated. If string is a Unicode
+ # object, this function computes the default encoding of string
+ # and operates on that. If string is not a string object at all,
+ # PyString_AsString() returns NULL and raises TypeError.
+
+ char* PyString_AS_STRING(object string)
+ # Macro form of PyString_AsString() but without error
+ # checking. Only string objects are supported; no Unicode objects
+ # should be passed.
+
+ int PyString_AsStringAndSize(object obj, char **buffer, Py_ssize_t *length) except -1
+ # Return a NULL-terminated representation of the contents of the
+ # object obj through the output variables buffer and length.
+ #
+ # The function accepts both string and Unicode objects as
+ # input. For Unicode objects it returns the default encoded
+ # version of the object. If length is NULL, the resulting buffer
+ # may not contain NUL characters; if it does, the function returns
+ # -1 and a TypeError is raised.
+
+ # The buffer refers to an internal string buffer of obj, not a
+ # copy. The data must not be modified in any way, unless the
+ # string was just created using PyString_FromStringAndSize(NULL,
+ # size). It must not be deallocated. If string is a Unicode
+ # object, this function computes the default encoding of string
+ # and operates on that. If string is not a string object at all,
+ # PyString_AsStringAndSize() returns -1 and raises TypeError.
+
+ void PyString_Concat(PyObject **string, object newpart)
+ # Create a new string object in *string containing the contents of
+ # newpart appended to string; the caller will own the new
+ # reference. The reference to the old value of string will be
+ # stolen. If the new string cannot be created, the old reference
+ # to string will still be discarded and the value of *string will
+ # be set to NULL; the appropriate exception will be set.
+
+ void PyString_ConcatAndDel(PyObject **string, object newpart)
+ # Create a new string object in *string containing the contents of
+ # newpart appended to string. This version decrements the
+ # reference count of newpart.
+
+ int _PyString_Resize(PyObject **string, Py_ssize_t newsize) except -1
+ # A way to resize a string object even though it is
+ # ``immutable''. Only use this to build up a brand new string
+ # object; don't use this if the string may already be known in
+ # other parts of the code. It is an error to call this function if
+ # the refcount on the input string object is not one. Pass the
+ # address of an existing string object as an lvalue (it may be
+ # written into), and the new size desired. On success, *string
+ # holds the resized string object and 0 is returned; the address
+ # in *string may differ from its input value. If the reallocation
+ # fails, the original string object at *string is deallocated,
+ # *string is set to NULL, a memory exception is set, and -1 is
+ # returned.
+
+ object PyString_Format(object format, object args)
+ # Return value: New reference. Return a new string object from
+ # format and args. Analogous to format % args. The args argument
+ # must be a tuple.
+
+ void PyString_InternInPlace(PyObject **string)
+ # Intern the argument *string in place. The argument must be the
+ # address of a pointer variable pointing to a Python string
+ # object. If there is an existing interned string that is the same
+ # as *string, it sets *string to it (decrementing the reference
+ # count of the old string object and incrementing the reference
+ # count of the interned string object), otherwise it leaves
+ # *string alone and interns it (incrementing its reference
+ # count). (Clarification: even though there is a lot of talk about
+ # reference counts, think of this function as
+ # reference-count-neutral; you own the object after the call if
+ # and only if you owned it before the call.)
+
+ object PyString_InternFromString(char *v)
+ # Return value: New reference.
+ # A combination of PyString_FromString() and
+ # PyString_InternInPlace(), returning either a new string object
+ # that has been interned, or a new (``owned'') reference to an
+ # earlier interned string object with the same value.
+
+ object PyString_Decode(char *s, Py_ssize_t size, char *encoding, char *errors)
+ # Return value: New reference.
+ # Create an object by decoding size bytes of the encoded buffer s
+ # using the codec registered for encoding. encoding and errors
+ # have the same meaning as the parameters of the same name in the
+ # unicode() built-in function. The codec to be used is looked up
+ # using the Python codec registry. Return NULL if an exception was
+ # raised by the codec.
+
+ object PyString_AsDecodedObject(object str, char *encoding, char *errors)
+ # Return value: New reference.
+ # Decode a string object by passing it to the codec registered for
+ # encoding and return the result as Python object. encoding and
+ # errors have the same meaning as the parameters of the same name
+ # in the string encode() method. The codec to be used is looked up
+ # using the Python codec registry. Return NULL if an exception was
+ # raised by the codec.
+
+ object PyString_Encode(char *s, Py_ssize_t size, char *encoding, char *errors)
+ # Return value: New reference.
+ # Encode the char buffer of the given size by passing it to the
+ # codec registered for encoding and return a Python
+ # object. encoding and errors have the same meaning as the
+ # parameters of the same name in the string encode() method. The
+ # codec to be used is looked up using the Python codec
+ # registry. Return NULL if an exception was raised by the codec.
+
+ object PyString_AsEncodedObject(object str, char *encoding, char *errors)
+ # Return value: New reference.
+ # Encode a string object using the codec registered for encoding
+ # and return the result as Python object. encoding and errors have
+ # the same meaning as the parameters of the same name in the
+ # string encode() method. The codec to be used is looked up using
+ # the Python codec registry. Return NULL if an exception was
+ # raised by the codec.
+
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/tuple.pxd b/contrib/tools/cython/Cython/Includes/cpython/tuple.pxd
index 09c46e0b4b..178603b691 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/tuple.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/tuple.pxd
@@ -1,71 +1,71 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
- ############################################################################
- # Tuples
- ############################################################################
-
- bint PyTuple_Check(object p)
- # Return true if p is a tuple object or an instance of a subtype
- # of the tuple type.
-
- bint PyTuple_CheckExact(object p)
- # Return true if p is a tuple object, but not an instance of a subtype of the tuple type.
-
- tuple PyTuple_New(Py_ssize_t len)
- # Return value: New reference.
- # Return a new tuple object of size len, or NULL on failure.
-
- tuple PyTuple_Pack(Py_ssize_t n, ...)
- # Return value: New reference.
- # Return a new tuple object of size n, or NULL on failure. The
- # tuple values are initialized to the subsequent n C arguments
- # pointing to Python objects. "PyTuple_Pack(2, a, b)" is
- # equivalent to "Py_BuildValue("(OO)", a, b)".
-
- Py_ssize_t PyTuple_Size(object p) except -1
- # Take a pointer to a tuple object, and return the size of that tuple.
-
- Py_ssize_t PyTuple_GET_SIZE(object p)
- # Return the size of the tuple p, which must be non-NULL and point
- # to a tuple; no error checking is performed.
-
- PyObject* PyTuple_GetItem(object p, Py_ssize_t pos) except NULL
- # Return value: Borrowed reference.
- # Return the object at position pos in the tuple pointed to by
- # p. If pos is out of bounds, return NULL and sets an IndexError
- # exception.
-
- PyObject* PyTuple_GET_ITEM(object p, Py_ssize_t pos)
- # Return value: Borrowed reference.
- # Like PyTuple_GetItem(), but does no checking of its arguments.
-
- tuple PyTuple_GetSlice(object p, Py_ssize_t low, Py_ssize_t high)
- # Return value: New reference.
- # Take a slice of the tuple pointed to by p from low to high and return it as a new tuple.
-
+
+cdef extern from "Python.h":
+
+ ############################################################################
+ # Tuples
+ ############################################################################
+
+ bint PyTuple_Check(object p)
+ # Return true if p is a tuple object or an instance of a subtype
+ # of the tuple type.
+
+ bint PyTuple_CheckExact(object p)
+ # Return true if p is a tuple object, but not an instance of a subtype of the tuple type.
+
+ tuple PyTuple_New(Py_ssize_t len)
+ # Return value: New reference.
+ # Return a new tuple object of size len, or NULL on failure.
+
+ tuple PyTuple_Pack(Py_ssize_t n, ...)
+ # Return value: New reference.
+ # Return a new tuple object of size n, or NULL on failure. The
+ # tuple values are initialized to the subsequent n C arguments
+ # pointing to Python objects. "PyTuple_Pack(2, a, b)" is
+ # equivalent to "Py_BuildValue("(OO)", a, b)".
+
+ Py_ssize_t PyTuple_Size(object p) except -1
+ # Take a pointer to a tuple object, and return the size of that tuple.
+
+ Py_ssize_t PyTuple_GET_SIZE(object p)
+ # Return the size of the tuple p, which must be non-NULL and point
+ # to a tuple; no error checking is performed.
+
+ PyObject* PyTuple_GetItem(object p, Py_ssize_t pos) except NULL
+ # Return value: Borrowed reference.
+ # Return the object at position pos in the tuple pointed to by
+ # p. If pos is out of bounds, return NULL and sets an IndexError
+ # exception.
+
+ PyObject* PyTuple_GET_ITEM(object p, Py_ssize_t pos)
+ # Return value: Borrowed reference.
+ # Like PyTuple_GetItem(), but does no checking of its arguments.
+
+ tuple PyTuple_GetSlice(object p, Py_ssize_t low, Py_ssize_t high)
+ # Return value: New reference.
+ # Take a slice of the tuple pointed to by p from low to high and return it as a new tuple.
+
int PyTuple_SetItem(object p, Py_ssize_t pos, object o) except -1
- # Insert a reference to object o at position pos of the tuple
- # pointed to by p. Return 0 on success. Note: This function
- # ``steals'' a reference to o.
-
- void PyTuple_SET_ITEM(object p, Py_ssize_t pos, object o)
- # Like PyTuple_SetItem(), but does no error checking, and should
- # only be used to fill in brand new tuples. Note: This function
- # ``steals'' a reference to o.
-
- int _PyTuple_Resize(PyObject **p, Py_ssize_t newsize) except -1
- # Can be used to resize a tuple. newsize will be the new length of
- # the tuple. Because tuples are supposed to be immutable, this
- # should only be used if there is only one reference to the
- # object. Do not use this if the tuple may already be known to
- # some other part of the code. The tuple will always grow or
- # shrink at the end. Think of this as destroying the old tuple and
- # creating a new one, only more efficiently. Returns 0 on
- # success. Client code should never assume that the resulting
- # value of *p will be the same as before calling this function. If
- # the object referenced by *p is replaced, the original *p is
- # destroyed. On failure, returns -1 and sets *p to NULL, and
- # raises MemoryError or SystemError.
-
+ # Insert a reference to object o at position pos of the tuple
+ # pointed to by p. Return 0 on success. Note: This function
+ # ``steals'' a reference to o.
+
+ void PyTuple_SET_ITEM(object p, Py_ssize_t pos, object o)
+ # Like PyTuple_SetItem(), but does no error checking, and should
+ # only be used to fill in brand new tuples. Note: This function
+ # ``steals'' a reference to o.
+
+ int _PyTuple_Resize(PyObject **p, Py_ssize_t newsize) except -1
+ # Can be used to resize a tuple. newsize will be the new length of
+ # the tuple. Because tuples are supposed to be immutable, this
+ # should only be used if there is only one reference to the
+ # object. Do not use this if the tuple may already be known to
+ # some other part of the code. The tuple will always grow or
+ # shrink at the end. Think of this as destroying the old tuple and
+ # creating a new one, only more efficiently. Returns 0 on
+ # success. Client code should never assume that the resulting
+ # value of *p will be the same as before calling this function. If
+ # the object referenced by *p is replaced, the original *p is
+ # destroyed. On failure, returns -1 and sets *p to NULL, and
+ # raises MemoryError or SystemError.
+
diff --git a/contrib/tools/cython/Cython/Includes/cpython/type.pxd b/contrib/tools/cython/Cython/Includes/cpython/type.pxd
index a1d094e37c..1a86fe779f 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/type.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/type.pxd
@@ -1,48 +1,48 @@
-
-cdef extern from "Python.h":
- # The C structure of the objects used to describe built-in types.
-
- ############################################################################
- # 7.1.1 Type Objects
- ############################################################################
-
- ctypedef class __builtin__.type [object PyTypeObject]:
- pass
-
- # PyObject* PyType_Type
- # This is the type object for type objects; it is the same object
- # as type and types.TypeType in the Python layer.
-
- bint PyType_Check(object o)
- # Return true if the object o is a type object, including
- # instances of types derived from the standard type object. Return
- # false in all other cases.
-
- bint PyType_CheckExact(object o)
- # Return true if the object o is a type object, but not a subtype
- # of the standard type object. Return false in all other
- # cases.
-
- bint PyType_HasFeature(object o, int feature)
- # Return true if the type object o sets the feature feature. Type
- # features are denoted by single bit flags.
-
- bint PyType_IS_GC(object o)
- # Return true if the type object includes support for the cycle
- # detector; this tests the type flag Py_TPFLAGS_HAVE_GC.
-
- bint PyType_IsSubtype(type a, type b)
- # Return true if a is a subtype of b.
-
- object PyType_GenericAlloc(object type, Py_ssize_t nitems)
- # Return value: New reference.
-
- object PyType_GenericNew(type type, object args, object kwds)
- # Return value: New reference.
-
- bint PyType_Ready(type type) except -1
- # Finalize a type object. This should be called on all type
- # objects to finish their initialization. This function is
- # responsible for adding inherited slots from a type's base
- # class. Return 0 on success, or return -1 and sets an exception
- # on error.
+
+cdef extern from "Python.h":
+ # The C structure of the objects used to describe built-in types.
+
+ ############################################################################
+ # 7.1.1 Type Objects
+ ############################################################################
+
+ ctypedef class __builtin__.type [object PyTypeObject]:
+ pass
+
+ # PyObject* PyType_Type
+ # This is the type object for type objects; it is the same object
+ # as type and types.TypeType in the Python layer.
+
+ bint PyType_Check(object o)
+ # Return true if the object o is a type object, including
+ # instances of types derived from the standard type object. Return
+ # false in all other cases.
+
+ bint PyType_CheckExact(object o)
+ # Return true if the object o is a type object, but not a subtype
+ # of the standard type object. Return false in all other
+ # cases.
+
+ bint PyType_HasFeature(object o, int feature)
+ # Return true if the type object o sets the feature feature. Type
+ # features are denoted by single bit flags.
+
+ bint PyType_IS_GC(object o)
+ # Return true if the type object includes support for the cycle
+ # detector; this tests the type flag Py_TPFLAGS_HAVE_GC.
+
+ bint PyType_IsSubtype(type a, type b)
+ # Return true if a is a subtype of b.
+
+ object PyType_GenericAlloc(object type, Py_ssize_t nitems)
+ # Return value: New reference.
+
+ object PyType_GenericNew(type type, object args, object kwds)
+ # Return value: New reference.
+
+ bint PyType_Ready(type type) except -1
+ # Finalize a type object. This should be called on all type
+ # objects to finish their initialization. This function is
+ # responsible for adding inherited slots from a type's base
+ # class. Return 0 on success, or return -1 and sets an exception
+ # on error.
diff --git a/contrib/tools/cython/Cython/Includes/cpython/unicode.pxd b/contrib/tools/cython/Cython/Includes/cpython/unicode.pxd
index ad01ed64df..3a7d1874e1 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/unicode.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/unicode.pxd
@@ -1,21 +1,21 @@
-cdef extern from *:
- # Return true if the object o is a Unicode object or an instance
- # of a Unicode subtype. Changed in version 2.2: Allowed subtypes
- # to be accepted.
- bint PyUnicode_Check(object o)
-
- # Return true if the object o is a Unicode object, but not an
- # instance of a subtype. New in version 2.2.
- bint PyUnicode_CheckExact(object o)
-
- # Return the size of the object. o has to be a PyUnicodeObject
- # (not checked).
+cdef extern from *:
+ # Return true if the object o is a Unicode object or an instance
+ # of a Unicode subtype. Changed in version 2.2: Allowed subtypes
+ # to be accepted.
+ bint PyUnicode_Check(object o)
+
+ # Return true if the object o is a Unicode object, but not an
+ # instance of a subtype. New in version 2.2.
+ bint PyUnicode_CheckExact(object o)
+
+ # Return the size of the object. o has to be a PyUnicodeObject
+ # (not checked).
#
# Deprecated since version 3.3, will be removed in version 3.10:
# Part of the old-style Unicode API, please migrate to using
# PyUnicode_GET_LENGTH().
- Py_ssize_t PyUnicode_GET_SIZE(object o)
-
+ Py_ssize_t PyUnicode_GET_SIZE(object o)
+
# Return the length of the Unicode string, in code points. o has
# to be a Unicode object in the “canonical” representation (not
# checked).
@@ -23,128 +23,128 @@ cdef extern from *:
# New in version 3.3.
Py_ssize_t PyUnicode_GET_LENGTH(object o)
- # Return the size of the object's internal buffer in bytes. o has
- # to be a PyUnicodeObject (not checked).
- Py_ssize_t PyUnicode_GET_DATA_SIZE(object o)
-
- # Return a pointer to the internal Py_UNICODE buffer of the
- # object. o has to be a PyUnicodeObject (not checked).
- Py_UNICODE* PyUnicode_AS_UNICODE(object o)
-
- # Return a pointer to the internal buffer of the object. o has to
- # be a PyUnicodeObject (not checked).
- char* PyUnicode_AS_DATA(object o)
-
- # Return 1 or 0 depending on whether ch is a whitespace character.
+ # Return the size of the object's internal buffer in bytes. o has
+ # to be a PyUnicodeObject (not checked).
+ Py_ssize_t PyUnicode_GET_DATA_SIZE(object o)
+
+ # Return a pointer to the internal Py_UNICODE buffer of the
+ # object. o has to be a PyUnicodeObject (not checked).
+ Py_UNICODE* PyUnicode_AS_UNICODE(object o)
+
+ # Return a pointer to the internal buffer of the object. o has to
+ # be a PyUnicodeObject (not checked).
+ char* PyUnicode_AS_DATA(object o)
+
+ # Return 1 or 0 depending on whether ch is a whitespace character.
bint Py_UNICODE_ISSPACE(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is a lowercase character.
+
+ # Return 1 or 0 depending on whether ch is a lowercase character.
bint Py_UNICODE_ISLOWER(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is an uppercase character.
+
+ # Return 1 or 0 depending on whether ch is an uppercase character.
bint Py_UNICODE_ISUPPER(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is a titlecase character.
+
+ # Return 1 or 0 depending on whether ch is a titlecase character.
bint Py_UNICODE_ISTITLE(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is a linebreak character.
+
+ # Return 1 or 0 depending on whether ch is a linebreak character.
bint Py_UNICODE_ISLINEBREAK(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is a decimal character.
+
+ # Return 1 or 0 depending on whether ch is a decimal character.
bint Py_UNICODE_ISDECIMAL(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is a digit character.
+
+ # Return 1 or 0 depending on whether ch is a digit character.
bint Py_UNICODE_ISDIGIT(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is a numeric character.
+
+ # Return 1 or 0 depending on whether ch is a numeric character.
bint Py_UNICODE_ISNUMERIC(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is an alphabetic character.
+
+ # Return 1 or 0 depending on whether ch is an alphabetic character.
bint Py_UNICODE_ISALPHA(Py_UCS4 ch)
-
- # Return 1 or 0 depending on whether ch is an alphanumeric character.
+
+ # Return 1 or 0 depending on whether ch is an alphanumeric character.
bint Py_UNICODE_ISALNUM(Py_UCS4 ch)
-
- # Return the character ch converted to lower case.
+
+ # Return the character ch converted to lower case.
# Used to return a Py_UNICODE value before Py3.3.
Py_UCS4 Py_UNICODE_TOLOWER(Py_UCS4 ch)
-
- # Return the character ch converted to upper case.
+
+ # Return the character ch converted to upper case.
# Used to return a Py_UNICODE value before Py3.3.
Py_UCS4 Py_UNICODE_TOUPPER(Py_UCS4 ch)
-
- # Return the character ch converted to title case.
+
+ # Return the character ch converted to title case.
# Used to return a Py_UNICODE value before Py3.3.
Py_UCS4 Py_UNICODE_TOTITLE(Py_UCS4 ch)
-
- # Return the character ch converted to a decimal positive
- # integer. Return -1 if this is not possible. This macro does not
- # raise exceptions.
+
+ # Return the character ch converted to a decimal positive
+ # integer. Return -1 if this is not possible. This macro does not
+ # raise exceptions.
int Py_UNICODE_TODECIMAL(Py_UCS4 ch)
-
- # Return the character ch converted to a single digit
- # integer. Return -1 if this is not possible. This macro does not
- # raise exceptions.
+
+ # Return the character ch converted to a single digit
+ # integer. Return -1 if this is not possible. This macro does not
+ # raise exceptions.
int Py_UNICODE_TODIGIT(Py_UCS4 ch)
-
- # Return the character ch converted to a double. Return -1.0 if
- # this is not possible. This macro does not raise exceptions.
+
+ # Return the character ch converted to a double. Return -1.0 if
+ # this is not possible. This macro does not raise exceptions.
double Py_UNICODE_TONUMERIC(Py_UCS4 ch)
-
- # To create Unicode objects and access their basic sequence
- # properties, use these APIs:
-
- # Create a Unicode Object from the Py_UNICODE buffer u of the
- # given size. u may be NULL which causes the contents to be
- # undefined. It is the user's responsibility to fill in the needed
- # data. The buffer is copied into the new object. If the buffer is
- # not NULL, the return value might be a shared object. Therefore,
- # modification of the resulting Unicode object is only allowed
- # when u is NULL.
- unicode PyUnicode_FromUnicode(Py_UNICODE *u, Py_ssize_t size)
-
- # Create a Unicode Object from the given Unicode code point ordinal.
- #
- # The ordinal must be in range(0x10000) on narrow Python builds
- # (UCS2), and range(0x110000) on wide builds (UCS4). A ValueError
- # is raised in case it is not.
- unicode PyUnicode_FromOrdinal(int ordinal)
-
- # Return a read-only pointer to the Unicode object's internal
- # Py_UNICODE buffer, NULL if unicode is not a Unicode object.
- Py_UNICODE* PyUnicode_AsUnicode(object o) except NULL
-
- # Return the length of the Unicode object.
- Py_ssize_t PyUnicode_GetSize(object o) except -1
-
- # Coerce an encoded object obj to an Unicode object and return a
- # reference with incremented refcount.
- # String and other char buffer compatible objects are decoded
- # according to the given encoding and using the error handling
- # defined by errors. Both can be NULL to have the interface use
- # the default values (see the next section for details).
- # All other objects, including Unicode objects, cause a TypeError
- # to be set.
- object PyUnicode_FromEncodedObject(object o, char *encoding, char *errors)
-
- # Shortcut for PyUnicode_FromEncodedObject(obj, NULL, "strict")
- # which is used throughout the interpreter whenever coercion to
- # Unicode is needed.
- object PyUnicode_FromObject(object obj)
-
- # If the platform supports wchar_t and provides a header file
- # wchar.h, Python can interface directly to this type using the
- # following functions. Support is optimized if Python's own
- # Py_UNICODE type is identical to the system's wchar_t.
-
- #ctypedef int wchar_t
-
- # Create a Unicode object from the wchar_t buffer w of the given
- # size. Return NULL on failure.
- #PyObject* PyUnicode_FromWideChar(wchar_t *w, Py_ssize_t size)
-
- #Py_ssize_t PyUnicode_AsWideChar(object o, wchar_t *w, Py_ssize_t size)
-
+
+ # To create Unicode objects and access their basic sequence
+ # properties, use these APIs:
+
+ # Create a Unicode Object from the Py_UNICODE buffer u of the
+ # given size. u may be NULL which causes the contents to be
+ # undefined. It is the user's responsibility to fill in the needed
+ # data. The buffer is copied into the new object. If the buffer is
+ # not NULL, the return value might be a shared object. Therefore,
+ # modification of the resulting Unicode object is only allowed
+ # when u is NULL.
+ unicode PyUnicode_FromUnicode(Py_UNICODE *u, Py_ssize_t size)
+
+ # Create a Unicode Object from the given Unicode code point ordinal.
+ #
+ # The ordinal must be in range(0x10000) on narrow Python builds
+ # (UCS2), and range(0x110000) on wide builds (UCS4). A ValueError
+ # is raised in case it is not.
+ unicode PyUnicode_FromOrdinal(int ordinal)
+
+ # Return a read-only pointer to the Unicode object's internal
+ # Py_UNICODE buffer, NULL if unicode is not a Unicode object.
+ Py_UNICODE* PyUnicode_AsUnicode(object o) except NULL
+
+ # Return the length of the Unicode object.
+ Py_ssize_t PyUnicode_GetSize(object o) except -1
+
+ # Coerce an encoded object obj to an Unicode object and return a
+ # reference with incremented refcount.
+ # String and other char buffer compatible objects are decoded
+ # according to the given encoding and using the error handling
+ # defined by errors. Both can be NULL to have the interface use
+ # the default values (see the next section for details).
+ # All other objects, including Unicode objects, cause a TypeError
+ # to be set.
+ object PyUnicode_FromEncodedObject(object o, char *encoding, char *errors)
+
+ # Shortcut for PyUnicode_FromEncodedObject(obj, NULL, "strict")
+ # which is used throughout the interpreter whenever coercion to
+ # Unicode is needed.
+ object PyUnicode_FromObject(object obj)
+
+ # If the platform supports wchar_t and provides a header file
+ # wchar.h, Python can interface directly to this type using the
+ # following functions. Support is optimized if Python's own
+ # Py_UNICODE type is identical to the system's wchar_t.
+
+ #ctypedef int wchar_t
+
+ # Create a Unicode object from the wchar_t buffer w of the given
+ # size. Return NULL on failure.
+ #PyObject* PyUnicode_FromWideChar(wchar_t *w, Py_ssize_t size)
+
+ #Py_ssize_t PyUnicode_AsWideChar(object o, wchar_t *w, Py_ssize_t size)
+
# Unicode Methods
@@ -270,267 +270,267 @@ cdef extern from *:
unicode PyUnicode_InternFromString(const char *v)
-# Codecs
-
- # Create a Unicode object by decoding size bytes of the encoded
- # string s. encoding and errors have the same meaning as the
- # parameters of the same name in the unicode() builtin
- # function. The codec to be used is looked up using the Python
- # codec registry. Return NULL if an exception was raised by the
- # codec.
- object PyUnicode_Decode(char *s, Py_ssize_t size, char *encoding, char *errors)
-
- # Encode the Py_UNICODE buffer of the given size and return a
- # Python string object. encoding and errors have the same meaning
- # as the parameters of the same name in the Unicode encode()
- # method. The codec to be used is looked up using the Python codec
- # registry. Return NULL if an exception was raised by the codec.
- object PyUnicode_Encode(Py_UNICODE *s, Py_ssize_t size,
- char *encoding, char *errors)
-
- # Encode a Unicode object and return the result as Python string
- # object. encoding and errors have the same meaning as the
- # parameters of the same name in the Unicode encode() method. The
- # codec to be used is looked up using the Python codec
- # registry. Return NULL if an exception was raised by the codec.
- object PyUnicode_AsEncodedString(object unicode, char *encoding, char *errors)
-
-# These are the UTF-8 codec APIs:
-
- # Create a Unicode object by decoding size bytes of the UTF-8
- # encoded string s. Return NULL if an exception was raised by the
- # codec.
+# Codecs
+
+ # Create a Unicode object by decoding size bytes of the encoded
+ # string s. encoding and errors have the same meaning as the
+ # parameters of the same name in the unicode() builtin
+ # function. The codec to be used is looked up using the Python
+ # codec registry. Return NULL if an exception was raised by the
+ # codec.
+ object PyUnicode_Decode(char *s, Py_ssize_t size, char *encoding, char *errors)
+
+ # Encode the Py_UNICODE buffer of the given size and return a
+ # Python string object. encoding and errors have the same meaning
+ # as the parameters of the same name in the Unicode encode()
+ # method. The codec to be used is looked up using the Python codec
+ # registry. Return NULL if an exception was raised by the codec.
+ object PyUnicode_Encode(Py_UNICODE *s, Py_ssize_t size,
+ char *encoding, char *errors)
+
+ # Encode a Unicode object and return the result as Python string
+ # object. encoding and errors have the same meaning as the
+ # parameters of the same name in the Unicode encode() method. The
+ # codec to be used is looked up using the Python codec
+ # registry. Return NULL if an exception was raised by the codec.
+ object PyUnicode_AsEncodedString(object unicode, char *encoding, char *errors)
+
+# These are the UTF-8 codec APIs:
+
+ # Create a Unicode object by decoding size bytes of the UTF-8
+ # encoded string s. Return NULL if an exception was raised by the
+ # codec.
unicode PyUnicode_DecodeUTF8(char *s, Py_ssize_t size, char *errors)
-
- # If consumed is NULL, behave like PyUnicode_DecodeUTF8(). If
- # consumed is not NULL, trailing incomplete UTF-8 byte sequences
- # will not be treated as an error. Those bytes will not be decoded
- # and the number of bytes that have been decoded will be stored in
- # consumed. New in version 2.4.
+
+ # If consumed is NULL, behave like PyUnicode_DecodeUTF8(). If
+ # consumed is not NULL, trailing incomplete UTF-8 byte sequences
+ # will not be treated as an error. Those bytes will not be decoded
+ # and the number of bytes that have been decoded will be stored in
+ # consumed. New in version 2.4.
unicode PyUnicode_DecodeUTF8Stateful(char *s, Py_ssize_t size, char *errors, Py_ssize_t *consumed)
-
- # Encode the Py_UNICODE buffer of the given size using UTF-8 and
- # return a Python string object. Return NULL if an exception was
- # raised by the codec.
+
+ # Encode the Py_UNICODE buffer of the given size using UTF-8 and
+ # return a Python string object. Return NULL if an exception was
+ # raised by the codec.
bytes PyUnicode_EncodeUTF8(Py_UNICODE *s, Py_ssize_t size, char *errors)
-
- # Encode a Unicode objects using UTF-8 and return the result as Python string object. Error handling is ``strict''. Return NULL if an exception was raised by the codec.
+
+ # Encode a Unicode objects using UTF-8 and return the result as Python string object. Error handling is ``strict''. Return NULL if an exception was raised by the codec.
bytes PyUnicode_AsUTF8String(object unicode)
-
-# These are the UTF-16 codec APIs:
-
- # Decode length bytes from a UTF-16 encoded buffer string and
- # return the corresponding Unicode object. errors (if non-NULL)
- # defines the error handling. It defaults to ``strict''.
- #
- # If byteorder is non-NULL, the decoder starts decoding using the
- # given byte order:
- #
- # *byteorder == -1: little endian
- # *byteorder == 0: native order
- # *byteorder == 1: big endian
- #
- # and then switches if the first two bytes of the input data are a
- # byte order mark (BOM) and the specified byte order is native
- # order. This BOM is not copied into the resulting Unicode
- # string. After completion, *byteorder is set to the current byte
- # order at the.
- #
- # If byteorder is NULL, the codec starts in native order mode.
+
+# These are the UTF-16 codec APIs:
+
+ # Decode length bytes from a UTF-16 encoded buffer string and
+ # return the corresponding Unicode object. errors (if non-NULL)
+ # defines the error handling. It defaults to ``strict''.
+ #
+ # If byteorder is non-NULL, the decoder starts decoding using the
+ # given byte order:
+ #
+ # *byteorder == -1: little endian
+ # *byteorder == 0: native order
+ # *byteorder == 1: big endian
+ #
+ # and then switches if the first two bytes of the input data are a
+ # byte order mark (BOM) and the specified byte order is native
+ # order. This BOM is not copied into the resulting Unicode
+ # string. After completion, *byteorder is set to the current byte
+ # order at the.
+ #
+ # If byteorder is NULL, the codec starts in native order mode.
unicode PyUnicode_DecodeUTF16(char *s, Py_ssize_t size, char *errors, int *byteorder)
-
- # If consumed is NULL, behave like PyUnicode_DecodeUTF16(). If
- # consumed is not NULL, PyUnicode_DecodeUTF16Stateful() will not
- # treat trailing incomplete UTF-16 byte sequences (such as an odd
- # number of bytes or a split surrogate pair) as an error. Those
- # bytes will not be decoded and the number of bytes that have been
- # decoded will be stored in consumed. New in version 2.4.
+
+ # If consumed is NULL, behave like PyUnicode_DecodeUTF16(). If
+ # consumed is not NULL, PyUnicode_DecodeUTF16Stateful() will not
+ # treat trailing incomplete UTF-16 byte sequences (such as an odd
+ # number of bytes or a split surrogate pair) as an error. Those
+ # bytes will not be decoded and the number of bytes that have been
+ # decoded will be stored in consumed. New in version 2.4.
unicode PyUnicode_DecodeUTF16Stateful(char *s, Py_ssize_t size, char *errors, int *byteorder, Py_ssize_t *consumed)
-
- # Return a Python string object holding the UTF-16 encoded value
- # of the Unicode data in s. If byteorder is not 0, output is
- # written according to the following byte order:
- #
- # byteorder == -1: little endian
- # byteorder == 0: native byte order (writes a BOM mark)
- # byteorder == 1: big endian
- #
- # If byteorder is 0, the output string will always start with the
- # Unicode BOM mark (U+FEFF). In the other two modes, no BOM mark
- # is prepended.
- #
- # If Py_UNICODE_WIDE is defined, a single Py_UNICODE value may get
- # represented as a surrogate pair. If it is not defined, each
- # Py_UNICODE values is interpreted as an UCS-2 character.
+
+ # Return a Python string object holding the UTF-16 encoded value
+ # of the Unicode data in s. If byteorder is not 0, output is
+ # written according to the following byte order:
+ #
+ # byteorder == -1: little endian
+ # byteorder == 0: native byte order (writes a BOM mark)
+ # byteorder == 1: big endian
+ #
+ # If byteorder is 0, the output string will always start with the
+ # Unicode BOM mark (U+FEFF). In the other two modes, no BOM mark
+ # is prepended.
+ #
+ # If Py_UNICODE_WIDE is defined, a single Py_UNICODE value may get
+ # represented as a surrogate pair. If it is not defined, each
+ # Py_UNICODE values is interpreted as an UCS-2 character.
bytes PyUnicode_EncodeUTF16(Py_UNICODE *s, Py_ssize_t size, char *errors, int byteorder)
-
- # Return a Python string using the UTF-16 encoding in native byte
- # order. The string always starts with a BOM mark. Error handling
- # is ``strict''. Return NULL if an exception was raised by the
- # codec.
+
+ # Return a Python string using the UTF-16 encoding in native byte
+ # order. The string always starts with a BOM mark. Error handling
+ # is ``strict''. Return NULL if an exception was raised by the
+ # codec.
bytes PyUnicode_AsUTF16String(object unicode)
-
-# These are the ``Unicode Escape'' codec APIs:
-
- # Create a Unicode object by decoding size bytes of the
- # Unicode-Escape encoded string s. Return NULL if an exception was
- # raised by the codec.
- object PyUnicode_DecodeUnicodeEscape(char *s, Py_ssize_t size, char *errors)
-
- # Encode the Py_UNICODE buffer of the given size using
- # Unicode-Escape and return a Python string object. Return NULL if
- # an exception was raised by the codec.
- object PyUnicode_EncodeUnicodeEscape(Py_UNICODE *s, Py_ssize_t size)
-
- # Encode a Unicode objects using Unicode-Escape and return the
- # result as Python string object. Error handling is
- # ``strict''. Return NULL if an exception was raised by the codec.
- object PyUnicode_AsUnicodeEscapeString(object unicode)
-
-# These are the ``Raw Unicode Escape'' codec APIs:
-
- # Create a Unicode object by decoding size bytes of the
- # Raw-Unicode-Escape encoded string s. Return NULL if an exception
- # was raised by the codec.
- object PyUnicode_DecodeRawUnicodeEscape(char *s, Py_ssize_t size, char *errors)
-
- # Encode the Py_UNICODE buffer of the given size using
- # Raw-Unicode-Escape and return a Python string object. Return
- # NULL if an exception was raised by the codec.
- object PyUnicode_EncodeRawUnicodeEscape(Py_UNICODE *s, Py_ssize_t size, char *errors)
-
- # Encode a Unicode objects using Raw-Unicode-Escape and return the
- # result as Python string object. Error handling is
- # ``strict''. Return NULL if an exception was raised by the codec.
- object PyUnicode_AsRawUnicodeEscapeString(object unicode)
-
-# These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 Unicode ordinals and only these are accepted by the codecs during encoding.
-
- # Create a Unicode object by decoding size bytes of the Latin-1
- # encoded string s. Return NULL if an exception was raised by the
- # codec.
+
+# These are the ``Unicode Escape'' codec APIs:
+
+ # Create a Unicode object by decoding size bytes of the
+ # Unicode-Escape encoded string s. Return NULL if an exception was
+ # raised by the codec.
+ object PyUnicode_DecodeUnicodeEscape(char *s, Py_ssize_t size, char *errors)
+
+ # Encode the Py_UNICODE buffer of the given size using
+ # Unicode-Escape and return a Python string object. Return NULL if
+ # an exception was raised by the codec.
+ object PyUnicode_EncodeUnicodeEscape(Py_UNICODE *s, Py_ssize_t size)
+
+ # Encode a Unicode objects using Unicode-Escape and return the
+ # result as Python string object. Error handling is
+ # ``strict''. Return NULL if an exception was raised by the codec.
+ object PyUnicode_AsUnicodeEscapeString(object unicode)
+
+# These are the ``Raw Unicode Escape'' codec APIs:
+
+ # Create a Unicode object by decoding size bytes of the
+ # Raw-Unicode-Escape encoded string s. Return NULL if an exception
+ # was raised by the codec.
+ object PyUnicode_DecodeRawUnicodeEscape(char *s, Py_ssize_t size, char *errors)
+
+ # Encode the Py_UNICODE buffer of the given size using
+ # Raw-Unicode-Escape and return a Python string object. Return
+ # NULL if an exception was raised by the codec.
+ object PyUnicode_EncodeRawUnicodeEscape(Py_UNICODE *s, Py_ssize_t size, char *errors)
+
+ # Encode a Unicode objects using Raw-Unicode-Escape and return the
+ # result as Python string object. Error handling is
+ # ``strict''. Return NULL if an exception was raised by the codec.
+ object PyUnicode_AsRawUnicodeEscapeString(object unicode)
+
+# These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 Unicode ordinals and only these are accepted by the codecs during encoding.
+
+ # Create a Unicode object by decoding size bytes of the Latin-1
+ # encoded string s. Return NULL if an exception was raised by the
+ # codec.
unicode PyUnicode_DecodeLatin1(char *s, Py_ssize_t size, char *errors)
-
- # Encode the Py_UNICODE buffer of the given size using Latin-1 and
+
+ # Encode the Py_UNICODE buffer of the given size using Latin-1 and
# return a Python bytes object. Return NULL if an exception was
- # raised by the codec.
+ # raised by the codec.
bytes PyUnicode_EncodeLatin1(Py_UNICODE *s, Py_ssize_t size, char *errors)
-
- # Encode a Unicode objects using Latin-1 and return the result as
+
+ # Encode a Unicode objects using Latin-1 and return the result as
# Python bytes object. Error handling is ``strict''. Return NULL
- # if an exception was raised by the codec.
+ # if an exception was raised by the codec.
bytes PyUnicode_AsLatin1String(object unicode)
-
-# These are the ASCII codec APIs. Only 7-bit ASCII data is
-# accepted. All other codes generate errors.
-
- # Create a Unicode object by decoding size bytes of the ASCII
- # encoded string s. Return NULL if an exception was raised by the
- # codec.
+
+# These are the ASCII codec APIs. Only 7-bit ASCII data is
+# accepted. All other codes generate errors.
+
+ # Create a Unicode object by decoding size bytes of the ASCII
+ # encoded string s. Return NULL if an exception was raised by the
+ # codec.
unicode PyUnicode_DecodeASCII(char *s, Py_ssize_t size, char *errors)
-
- # Encode the Py_UNICODE buffer of the given size using ASCII and
+
+ # Encode the Py_UNICODE buffer of the given size using ASCII and
# return a Python bytes object. Return NULL if an exception was
- # raised by the codec.
+ # raised by the codec.
bytes PyUnicode_EncodeASCII(Py_UNICODE *s, Py_ssize_t size, char *errors)
-
- # Encode a Unicode objects using ASCII and return the result as
+
+ # Encode a Unicode objects using ASCII and return the result as
# Python bytes object. Error handling is ``strict''. Return NULL
- # if an exception was raised by the codec.
+ # if an exception was raised by the codec.
bytes PyUnicode_AsASCIIString(object o)
-
-# These are the mapping codec APIs:
-#
-# This codec is special in that it can be used to implement many
-# different codecs (and this is in fact what was done to obtain most
-# of the standard codecs included in the encodings package). The codec
-# uses mapping to encode and decode characters.
-#
-# Decoding mappings must map single string characters to single
-# Unicode characters, integers (which are then interpreted as Unicode
-# ordinals) or None (meaning "undefined mapping" and causing an
-# error).
-#
-# Encoding mappings must map single Unicode characters to single
-# string characters, integers (which are then interpreted as Latin-1
-# ordinals) or None (meaning "undefined mapping" and causing an
-# error).
-#
-# The mapping objects provided must only support the __getitem__
-# mapping interface.
-#
-# If a character lookup fails with a LookupError, the character is
-# copied as-is meaning that its ordinal value will be interpreted as
-# Unicode or Latin-1 ordinal resp. Because of this, mappings only need
-# to contain those mappings which map characters to different code
-# points.
-
- # Create a Unicode object by decoding size bytes of the encoded
- # string s using the given mapping object. Return NULL if an
- # exception was raised by the codec. If mapping is NULL latin-1
- # decoding will be done. Else it can be a dictionary mapping byte
- # or a unicode string, which is treated as a lookup table. Byte
- # values greater that the length of the string and U+FFFE
- # "characters" are treated as "undefined mapping". Changed in
- # version 2.4: Allowed unicode string as mapping argument.
- object PyUnicode_DecodeCharmap(char *s, Py_ssize_t size, object mapping, char *errors)
-
- # Encode the Py_UNICODE buffer of the given size using the given
- # mapping object and return a Python string object. Return NULL if
- # an exception was raised by the codec.
+
+# These are the mapping codec APIs:
+#
+# This codec is special in that it can be used to implement many
+# different codecs (and this is in fact what was done to obtain most
+# of the standard codecs included in the encodings package). The codec
+# uses mapping to encode and decode characters.
+#
+# Decoding mappings must map single string characters to single
+# Unicode characters, integers (which are then interpreted as Unicode
+# ordinals) or None (meaning "undefined mapping" and causing an
+# error).
+#
+# Encoding mappings must map single Unicode characters to single
+# string characters, integers (which are then interpreted as Latin-1
+# ordinals) or None (meaning "undefined mapping" and causing an
+# error).
+#
+# The mapping objects provided must only support the __getitem__
+# mapping interface.
+#
+# If a character lookup fails with a LookupError, the character is
+# copied as-is meaning that its ordinal value will be interpreted as
+# Unicode or Latin-1 ordinal resp. Because of this, mappings only need
+# to contain those mappings which map characters to different code
+# points.
+
+ # Create a Unicode object by decoding size bytes of the encoded
+ # string s using the given mapping object. Return NULL if an
+ # exception was raised by the codec. If mapping is NULL latin-1
+ # decoding will be done. Else it can be a dictionary mapping byte
+ # or a unicode string, which is treated as a lookup table. Byte
+ # values greater that the length of the string and U+FFFE
+ # "characters" are treated as "undefined mapping". Changed in
+ # version 2.4: Allowed unicode string as mapping argument.
+ object PyUnicode_DecodeCharmap(char *s, Py_ssize_t size, object mapping, char *errors)
+
+ # Encode the Py_UNICODE buffer of the given size using the given
+ # mapping object and return a Python string object. Return NULL if
+ # an exception was raised by the codec.
#
# Deprecated since version 3.3, will be removed in version 4.0.
- object PyUnicode_EncodeCharmap(Py_UNICODE *s, Py_ssize_t size, object mapping, char *errors)
-
- # Encode a Unicode objects using the given mapping object and
- # return the result as Python string object. Error handling is
- # ``strict''. Return NULL if an exception was raised by the codec.
- object PyUnicode_AsCharmapString(object o, object mapping)
-
-# The following codec API is special in that maps Unicode to Unicode.
-
- # Translate a Py_UNICODE buffer of the given length by applying a
- # character mapping table to it and return the resulting Unicode
- # object. Return NULL when an exception was raised by the codec.
- #
- # The mapping table must map Unicode ordinal integers to Unicode
- # ordinal integers or None (causing deletion of the character).
- #
- # Mapping tables need only provide the __getitem__() interface;
- # dictionaries and sequences work well. Unmapped character
- # ordinals (ones which cause a LookupError) are left untouched and
- # are copied as-is.
+ object PyUnicode_EncodeCharmap(Py_UNICODE *s, Py_ssize_t size, object mapping, char *errors)
+
+ # Encode a Unicode objects using the given mapping object and
+ # return the result as Python string object. Error handling is
+ # ``strict''. Return NULL if an exception was raised by the codec.
+ object PyUnicode_AsCharmapString(object o, object mapping)
+
+# The following codec API is special in that maps Unicode to Unicode.
+
+ # Translate a Py_UNICODE buffer of the given length by applying a
+ # character mapping table to it and return the resulting Unicode
+ # object. Return NULL when an exception was raised by the codec.
+ #
+ # The mapping table must map Unicode ordinal integers to Unicode
+ # ordinal integers or None (causing deletion of the character).
+ #
+ # Mapping tables need only provide the __getitem__() interface;
+ # dictionaries and sequences work well. Unmapped character
+ # ordinals (ones which cause a LookupError) are left untouched and
+ # are copied as-is.
#
# Deprecated since version 3.3, will be removed in version 4.0.
- object PyUnicode_TranslateCharmap(Py_UNICODE *s, Py_ssize_t size,
- object table, char *errors)
-
-# These are the MBCS codec APIs. They are currently only available on
-# Windows and use the Win32 MBCS converters to implement the
-# conversions. Note that MBCS (or DBCS) is a class of encodings, not
-# just one. The target encoding is defined by the user settings on the
-# machine running the codec.
-
- # Create a Unicode object by decoding size bytes of the MBCS
- # encoded string s. Return NULL if an exception was raised by the
- # codec.
+ object PyUnicode_TranslateCharmap(Py_UNICODE *s, Py_ssize_t size,
+ object table, char *errors)
+
+# These are the MBCS codec APIs. They are currently only available on
+# Windows and use the Win32 MBCS converters to implement the
+# conversions. Note that MBCS (or DBCS) is a class of encodings, not
+# just one. The target encoding is defined by the user settings on the
+# machine running the codec.
+
+ # Create a Unicode object by decoding size bytes of the MBCS
+ # encoded string s. Return NULL if an exception was raised by the
+ # codec.
unicode PyUnicode_DecodeMBCS(char *s, Py_ssize_t size, char *errors)
-
- # If consumed is NULL, behave like PyUnicode_DecodeMBCS(). If
- # consumed is not NULL, PyUnicode_DecodeMBCSStateful() will not
- # decode trailing lead byte and the number of bytes that have been
- # decoded will be stored in consumed. New in version 2.5.
- # NOTE: Python 2.x uses 'int' values for 'size' and 'consumed' (changed in 3.0)
+
+ # If consumed is NULL, behave like PyUnicode_DecodeMBCS(). If
+ # consumed is not NULL, PyUnicode_DecodeMBCSStateful() will not
+ # decode trailing lead byte and the number of bytes that have been
+ # decoded will be stored in consumed. New in version 2.5.
+ # NOTE: Python 2.x uses 'int' values for 'size' and 'consumed' (changed in 3.0)
unicode PyUnicode_DecodeMBCSStateful(char *s, Py_ssize_t size, char *errors, Py_ssize_t *consumed)
-
- # Encode the Py_UNICODE buffer of the given size using MBCS and
- # return a Python string object. Return NULL if an exception was
- # raised by the codec.
+
+ # Encode the Py_UNICODE buffer of the given size using MBCS and
+ # return a Python string object. Return NULL if an exception was
+ # raised by the codec.
bytes PyUnicode_EncodeMBCS(Py_UNICODE *s, Py_ssize_t size, char *errors)
-
- # Encode a Unicode objects using MBCS and return the result as
- # Python string object. Error handling is ``strict''. Return NULL
- # if an exception was raised by the codec.
+
+ # Encode a Unicode objects using MBCS and return the result as
+ # Python string object. Error handling is ``strict''. Return NULL
+ # if an exception was raised by the codec.
bytes PyUnicode_AsMBCSString(object o)
# Encode the Unicode object using the specified code page and return
diff --git a/contrib/tools/cython/Cython/Includes/cpython/version.pxd b/contrib/tools/cython/Cython/Includes/cpython/version.pxd
index ce31b249cf..4799b36ebe 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/version.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/version.pxd
@@ -1,32 +1,32 @@
-# Python version constants
-#
-# It's better to evaluate these at runtime (i.e. C compile time) using
-#
-# if PY_MAJOR_VERSION >= 3:
-# do_stuff_in_Py3_0_and_later()
-# if PY_VERSION_HEX >= 0x02070000:
-# do_stuff_in_Py2_7_and_later()
-#
-# than using the IF/DEF statements, which are evaluated at Cython
-# compile time. This will keep your C code portable.
-
-
-cdef extern from *:
- # the complete version, e.g. 0x010502B2 == 1.5.2b2
- int PY_VERSION_HEX
-
- # the individual sections as plain numbers
- int PY_MAJOR_VERSION
- int PY_MINOR_VERSION
- int PY_MICRO_VERSION
- int PY_RELEASE_LEVEL
- int PY_RELEASE_SERIAL
-
- # Note: PY_RELEASE_LEVEL is one of
- # 0xA (alpha)
- # 0xB (beta)
- # 0xC (release candidate)
- # 0xF (final)
-
- char PY_VERSION[]
- char PY_PATCHLEVEL_REVISION[]
+# Python version constants
+#
+# It's better to evaluate these at runtime (i.e. C compile time) using
+#
+# if PY_MAJOR_VERSION >= 3:
+# do_stuff_in_Py3_0_and_later()
+# if PY_VERSION_HEX >= 0x02070000:
+# do_stuff_in_Py2_7_and_later()
+#
+# than using the IF/DEF statements, which are evaluated at Cython
+# compile time. This will keep your C code portable.
+
+
+cdef extern from *:
+ # the complete version, e.g. 0x010502B2 == 1.5.2b2
+ int PY_VERSION_HEX
+
+ # the individual sections as plain numbers
+ int PY_MAJOR_VERSION
+ int PY_MINOR_VERSION
+ int PY_MICRO_VERSION
+ int PY_RELEASE_LEVEL
+ int PY_RELEASE_SERIAL
+
+ # Note: PY_RELEASE_LEVEL is one of
+ # 0xA (alpha)
+ # 0xB (beta)
+ # 0xC (release candidate)
+ # 0xF (final)
+
+ char PY_VERSION[]
+ char PY_PATCHLEVEL_REVISION[]
diff --git a/contrib/tools/cython/Cython/Includes/cpython/weakref.pxd b/contrib/tools/cython/Cython/Includes/cpython/weakref.pxd
index 9c4b50f564..c95605d017 100644
--- a/contrib/tools/cython/Cython/Includes/cpython/weakref.pxd
+++ b/contrib/tools/cython/Cython/Includes/cpython/weakref.pxd
@@ -1,42 +1,42 @@
from .object cimport PyObject
-
-cdef extern from "Python.h":
-
- bint PyWeakref_Check(object ob)
- # Return true if ob is either a reference or proxy object.
-
- bint PyWeakref_CheckRef(object ob)
- # Return true if ob is a reference object.
-
- bint PyWeakref_CheckProxy(ob)
- # Return true if *ob* is a proxy object.
-
- object PyWeakref_NewRef(object ob, object callback)
- # Return a weak reference object for the object ob. This will
- # always return a new reference, but is not guaranteed to create a
- # new object; an existing reference object may be returned. The
- # second parameter, callback, can be a callable object that
- # receives notification when ob is garbage collected; it should
- # accept a single parameter, which will be the weak reference
- # object itself. callback may also be None or NULL. If ob is not
- # a weakly-referencable object, or if callback is not callable,
- # None, or NULL, this will return NULL and raise TypeError.
-
- object PyWeakref_NewProxy(object ob, object callback)
- # Return a weak reference proxy object for the object ob. This
- # will always return a new reference, but is not guaranteed to
- # create a new object; an existing proxy object may be returned.
- # The second parameter, callback, can be a callable object that
- # receives notification when ob is garbage collected; it should
- # accept a single parameter, which will be the weak reference
- # object itself. callback may also be None or NULL. If ob is not
- # a weakly-referencable object, or if callback is not callable,
- # None, or NULL, this will return NULL and raise TypeError.
-
+
+cdef extern from "Python.h":
+
+ bint PyWeakref_Check(object ob)
+ # Return true if ob is either a reference or proxy object.
+
+ bint PyWeakref_CheckRef(object ob)
+ # Return true if ob is a reference object.
+
+ bint PyWeakref_CheckProxy(ob)
+ # Return true if *ob* is a proxy object.
+
+ object PyWeakref_NewRef(object ob, object callback)
+ # Return a weak reference object for the object ob. This will
+ # always return a new reference, but is not guaranteed to create a
+ # new object; an existing reference object may be returned. The
+ # second parameter, callback, can be a callable object that
+ # receives notification when ob is garbage collected; it should
+ # accept a single parameter, which will be the weak reference
+ # object itself. callback may also be None or NULL. If ob is not
+ # a weakly-referencable object, or if callback is not callable,
+ # None, or NULL, this will return NULL and raise TypeError.
+
+ object PyWeakref_NewProxy(object ob, object callback)
+ # Return a weak reference proxy object for the object ob. This
+ # will always return a new reference, but is not guaranteed to
+ # create a new object; an existing proxy object may be returned.
+ # The second parameter, callback, can be a callable object that
+ # receives notification when ob is garbage collected; it should
+ # accept a single parameter, which will be the weak reference
+ # object itself. callback may also be None or NULL. If ob is not
+ # a weakly-referencable object, or if callback is not callable,
+ # None, or NULL, this will return NULL and raise TypeError.
+
PyObject* PyWeakref_GetObject(object ref) except NULL
- # Return the referenced object from a weak reference, ref. If the
- # referent is no longer live, returns None.
-
- PyObject* PyWeakref_GET_OBJECT(object ref)
- # Similar to PyWeakref_GetObject, but implemented as a macro that
- # does no error checking.
+ # Return the referenced object from a weak reference, ref. If the
+ # referent is no longer live, returns None.
+
+ PyObject* PyWeakref_GET_OBJECT(object ref)
+ # Similar to PyWeakref_GetObject, but implemented as a macro that
+ # does no error checking.
diff --git a/contrib/tools/cython/Cython/Includes/libc/__init__.pxd b/contrib/tools/cython/Cython/Includes/libc/__init__.pxd
index fa81adaff6..4a2889e8e1 100644
--- a/contrib/tools/cython/Cython/Includes/libc/__init__.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/__init__.pxd
@@ -1 +1 @@
-# empty file
+# empty file
diff --git a/contrib/tools/cython/Cython/Includes/libc/errno.pxd b/contrib/tools/cython/Cython/Includes/libc/errno.pxd
index 191d47b3dc..8f630e65cb 100644
--- a/contrib/tools/cython/Cython/Includes/libc/errno.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/errno.pxd
@@ -1,128 +1,128 @@
-# 7.5 Errors <errno.h>
-
+# 7.5 Errors <errno.h>
+
cdef extern from "<errno.h>" nogil:
- enum:
- EPERM
- ENOENT
- ESRCH
- EINTR
- EIO
- ENXIO
- E2BIG
- ENOEXEC
- EBADF
- ECHILD
- EAGAIN
- ENOMEM
- EACCES
- EFAULT
- ENOTBLK
- EBUSY
- EEXIST
- EXDEV
- ENODEV
- ENOTDIR
- EISDIR
- EINVAL
- ENFILE
- EMFILE
- ENOTTY
- ETXTBSY
- EFBIG
- ENOSPC
- ESPIPE
- EROFS
- EMLINK
- EPIPE
- EDOM
- ERANGE
- EDEADLOCK
- ENAMETOOLONG
- ENOLCK
- ENOSYS
- ENOTEMPTY
- ELOOP
- ENOMSG
- EIDRM
- ECHRNG
- EL2NSYNC
- EL3HLT
- EL3RST
- ELNRNG
- EUNATCH
- ENOCSI
- EL2HLT
- EBADE
- EBADR
- EXFULL
- ENOANO
- EBADRQC
- EBADSLT
- EBFONT
- ENOSTR
- ENODATA
+ enum:
+ EPERM
+ ENOENT
+ ESRCH
+ EINTR
+ EIO
+ ENXIO
+ E2BIG
+ ENOEXEC
+ EBADF
+ ECHILD
+ EAGAIN
+ ENOMEM
+ EACCES
+ EFAULT
+ ENOTBLK
+ EBUSY
+ EEXIST
+ EXDEV
+ ENODEV
+ ENOTDIR
+ EISDIR
+ EINVAL
+ ENFILE
+ EMFILE
+ ENOTTY
+ ETXTBSY
+ EFBIG
+ ENOSPC
+ ESPIPE
+ EROFS
+ EMLINK
+ EPIPE
+ EDOM
+ ERANGE
+ EDEADLOCK
+ ENAMETOOLONG
+ ENOLCK
+ ENOSYS
+ ENOTEMPTY
+ ELOOP
+ ENOMSG
+ EIDRM
+ ECHRNG
+ EL2NSYNC
+ EL3HLT
+ EL3RST
+ ELNRNG
+ EUNATCH
+ ENOCSI
+ EL2HLT
+ EBADE
+ EBADR
+ EXFULL
+ ENOANO
+ EBADRQC
+ EBADSLT
+ EBFONT
+ ENOSTR
+ ENODATA
ENOATTR
- ETIME
- ENOSR
- ENONET
- ENOPKG
- EREMOTE
- ENOLINK
- EADV
- ESRMNT
- ECOMM
- EPROTO
- EMULTIHOP
- EDOTDOT
- EBADMSG
- EOVERFLOW
- ENOTUNIQ
- EBADFD
- EREMCHG
- ELIBACC
- ELIBBAD
- ELIBSCN
- ELIBMAX
- ELIBEXEC
- EILSEQ
- ERESTART
- ESTRPIPE
- EUSERS
- ENOTSOCK
- EDESTADDRREQ
- EMSGSIZE
- EPROTOTYPE
- ENOPROTOOPT
- EPROTONOSUPPORT
- ESOCKTNOSUPPORT
- EOPNOTSUPP
- EPFNOSUPPORT
- EAFNOSUPPORT
- EADDRINUSE
- EADDRNOTAVAIL
- ENETDOWN
- ENETUNREACH
- ENETRESET
- ECONNABORTED
- ECONNRESET
- ENOBUFS
- EISCONN
- ENOTCONN
- ESHUTDOWN
- ETOOMANYREFS
- ETIMEDOUT
- ECONNREFUSED
- EHOSTDOWN
- EHOSTUNREACH
- EALREADY
- EINPROGRESS
- ESTALE
- EUCLEAN
- ENOTNAM
- ENAVAIL
- EISNAM
- EREMOTEIO
- EDQUOT
-
- int errno
-
+ ETIME
+ ENOSR
+ ENONET
+ ENOPKG
+ EREMOTE
+ ENOLINK
+ EADV
+ ESRMNT
+ ECOMM
+ EPROTO
+ EMULTIHOP
+ EDOTDOT
+ EBADMSG
+ EOVERFLOW
+ ENOTUNIQ
+ EBADFD
+ EREMCHG
+ ELIBACC
+ ELIBBAD
+ ELIBSCN
+ ELIBMAX
+ ELIBEXEC
+ EILSEQ
+ ERESTART
+ ESTRPIPE
+ EUSERS
+ ENOTSOCK
+ EDESTADDRREQ
+ EMSGSIZE
+ EPROTOTYPE
+ ENOPROTOOPT
+ EPROTONOSUPPORT
+ ESOCKTNOSUPPORT
+ EOPNOTSUPP
+ EPFNOSUPPORT
+ EAFNOSUPPORT
+ EADDRINUSE
+ EADDRNOTAVAIL
+ ENETDOWN
+ ENETUNREACH
+ ENETRESET
+ ECONNABORTED
+ ECONNRESET
+ ENOBUFS
+ EISCONN
+ ENOTCONN
+ ESHUTDOWN
+ ETOOMANYREFS
+ ETIMEDOUT
+ ECONNREFUSED
+ EHOSTDOWN
+ EHOSTUNREACH
+ EALREADY
+ EINPROGRESS
+ ESTALE
+ EUCLEAN
+ ENOTNAM
+ ENAVAIL
+ EISNAM
+ EREMOTEIO
+ EDQUOT
+
+ int errno
+
diff --git a/contrib/tools/cython/Cython/Includes/libc/float.pxd b/contrib/tools/cython/Cython/Includes/libc/float.pxd
index 5e4e12d4f4..d0cc602969 100644
--- a/contrib/tools/cython/Cython/Includes/libc/float.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/float.pxd
@@ -1,43 +1,43 @@
-# 5.2.4.2.2 Characteristics of floating types <float.h>
-
+# 5.2.4.2.2 Characteristics of floating types <float.h>
+
cdef extern from "<float.h>":
-
+
const float FLT_RADIX
-
+
const float FLT_MANT_DIG
const double DBL_MANT_DIG
const long double LDBL_MANT_DIG
-
+
const double DECIMAL_DIG
-
+
const float FLT_DIG
const double DBL_DIG
const long double LDBL_DIG
-
+
const float FLT_MIN_EXP
const double DBL_MIN_EXP
const long double LDBL_MIN_EXP
-
+
const float FLT_MIN_10_EXP
const double DBL_MIN_10_EXP
const long double LDBL_MIN_10_EXP
-
+
const float FLT_MAX_EXP
const double DBL_MAX_EXP
const long double LDBL_MAX_EXP
-
+
const float FLT_MAX_10_EXP
const double DBL_MAX_10_EXP
const long double LDBL_MAX_10_EXP
-
+
const float FLT_MAX
const double DBL_MAX
const long double LDBL_MAX
-
+
const float FLT_EPSILON
const double DBL_EPSILON
const long double LDBL_EPSILON
-
+
const float FLT_MIN
const double DBL_MIN
const long double LDBL_MIN
diff --git a/contrib/tools/cython/Cython/Includes/libc/limits.pxd b/contrib/tools/cython/Cython/Includes/libc/limits.pxd
index 39d10a1ff9..b585509d34 100644
--- a/contrib/tools/cython/Cython/Includes/libc/limits.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/limits.pxd
@@ -1,28 +1,28 @@
-# 5.2.4.2.1 Sizes of integer types <limits.h>
-
+# 5.2.4.2.1 Sizes of integer types <limits.h>
+
cdef extern from "<limits.h>":
const int CHAR_BIT
const int MB_LEN_MAX
-
+
const char CHAR_MIN
const char CHAR_MAX
-
+
const signed char SCHAR_MIN
const signed char SCHAR_MAX
const unsigned char UCHAR_MAX
-
+
const short SHRT_MIN
const short SHRT_MAX
const unsigned short USHRT_MAX
-
+
const int INT_MIN
const int INT_MAX
const unsigned int UINT_MAX
-
+
const long LONG_MIN
const long LONG_MAX
const unsigned long ULONG_MAX
-
+
const long long LLONG_MIN
const long long LLONG_MAX
const unsigned long long ULLONG_MAX
diff --git a/contrib/tools/cython/Cython/Includes/libc/locale.pxd b/contrib/tools/cython/Cython/Includes/libc/locale.pxd
index 5cbec953ef..255df6062e 100644
--- a/contrib/tools/cython/Cython/Includes/libc/locale.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/locale.pxd
@@ -1,46 +1,46 @@
-# 7.11 Localization <locale.h>
-
-# deprecated cimport for backwards compatibility:
-from libc.string cimport const_char
-
-
+# 7.11 Localization <locale.h>
+
+# deprecated cimport for backwards compatibility:
+from libc.string cimport const_char
+
+
cdef extern from "<locale.h>" nogil:
-
- struct lconv:
- char *decimal_point
- char *thousands_sep
- char *grouping
- char *mon_decimal_point
- char *mon_thousands_sep
- char *mon_grouping
- char *positive_sign
- char *negative_sign
- char *currency_symbol
- char frac_digits
- char p_cs_precedes
- char n_cs_precedes
- char p_sep_by_space
- char n_sep_by_space
- char p_sign_posn
- char n_sign_posn
- char *int_curr_symbol
- char int_frac_digits
- char int_p_cs_precedes
- char int_n_cs_precedes
- char int_p_sep_by_space
- char int_n_sep_by_space
- char int_p_sign_posn
- char int_n_sign_posn
-
- enum: LC_ALL
- enum: LC_COLLATE
- enum: LC_CTYPE
- enum: LC_MONETARY
- enum: LC_NUMERIC
- enum: LC_TIME
-
- # 7.11.1 Locale control
- char *setlocale (int category, const char *locale)
-
- # 7.11.2 Numeric formatting convention inquiry
- lconv *localeconv ()
+
+ struct lconv:
+ char *decimal_point
+ char *thousands_sep
+ char *grouping
+ char *mon_decimal_point
+ char *mon_thousands_sep
+ char *mon_grouping
+ char *positive_sign
+ char *negative_sign
+ char *currency_symbol
+ char frac_digits
+ char p_cs_precedes
+ char n_cs_precedes
+ char p_sep_by_space
+ char n_sep_by_space
+ char p_sign_posn
+ char n_sign_posn
+ char *int_curr_symbol
+ char int_frac_digits
+ char int_p_cs_precedes
+ char int_n_cs_precedes
+ char int_p_sep_by_space
+ char int_n_sep_by_space
+ char int_p_sign_posn
+ char int_n_sign_posn
+
+ enum: LC_ALL
+ enum: LC_COLLATE
+ enum: LC_CTYPE
+ enum: LC_MONETARY
+ enum: LC_NUMERIC
+ enum: LC_TIME
+
+ # 7.11.1 Locale control
+ char *setlocale (int category, const char *locale)
+
+ # 7.11.2 Numeric formatting convention inquiry
+ lconv *localeconv ()
diff --git a/contrib/tools/cython/Cython/Includes/libc/math.pxd b/contrib/tools/cython/Cython/Includes/libc/math.pxd
index b002670b22..3e5ea51d61 100644
--- a/contrib/tools/cython/Cython/Includes/libc/math.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/math.pxd
@@ -14,95 +14,95 @@ cdef extern from "<math.h>" nogil:
const double M_2_SQRTPI
const double M_SQRT2
const double M_SQRT1_2
-
- # C99 constants
+
+ # C99 constants
const float INFINITY
const float NAN
# note: not providing "nan" and "inf" aliases here as nan() is a function in C
const double HUGE_VAL
const float HUGE_VALF
const long double HUGE_VALL
-
- double acos(double x)
- double asin(double x)
- double atan(double x)
- double atan2(double y, double x)
- double cos(double x)
- double sin(double x)
- double tan(double x)
-
- double cosh(double x)
- double sinh(double x)
- double tanh(double x)
- double acosh(double x)
- double asinh(double x)
- double atanh(double x)
-
- double hypot(double x, double y)
-
- double exp(double x)
- double exp2(double x)
- double expm1(double x)
- double log(double x)
- double logb(double x)
- double log2(double x)
- double log10(double x)
- double log1p(double x)
- int ilogb(double x)
-
- double lgamma(double x)
- double tgamma(double x)
-
- double frexp(double x, int* exponent)
- double ldexp(double x, int exponent)
-
- double modf(double x, double* iptr)
- double fmod(double x, double y)
- double remainder(double x, double y)
- double remquo(double x, double y, int *quot)
- double pow(double x, double y)
- double sqrt(double x)
- double cbrt(double x)
-
- double fabs(double x)
- double ceil(double x)
- double floor(double x)
- double trunc(double x)
- double rint(double x)
- double round(double x)
- double nearbyint(double x)
- double nextafter(double, double)
- double nexttoward(double, long double)
-
- long long llrint(double)
- long lrint(double)
- long long llround(double)
- long lround(double)
-
- double copysign(double, double)
- float copysignf(float, float)
- long double copysignl(long double, long double)
-
- double erf(double)
- float erff(float)
- long double erfl(long double)
- double erfc(double)
- float erfcf(float)
- long double erfcl(long double)
-
- double fdim(double x, double y)
+
+ double acos(double x)
+ double asin(double x)
+ double atan(double x)
+ double atan2(double y, double x)
+ double cos(double x)
+ double sin(double x)
+ double tan(double x)
+
+ double cosh(double x)
+ double sinh(double x)
+ double tanh(double x)
+ double acosh(double x)
+ double asinh(double x)
+ double atanh(double x)
+
+ double hypot(double x, double y)
+
+ double exp(double x)
+ double exp2(double x)
+ double expm1(double x)
+ double log(double x)
+ double logb(double x)
+ double log2(double x)
+ double log10(double x)
+ double log1p(double x)
+ int ilogb(double x)
+
+ double lgamma(double x)
+ double tgamma(double x)
+
+ double frexp(double x, int* exponent)
+ double ldexp(double x, int exponent)
+
+ double modf(double x, double* iptr)
+ double fmod(double x, double y)
+ double remainder(double x, double y)
+ double remquo(double x, double y, int *quot)
+ double pow(double x, double y)
+ double sqrt(double x)
+ double cbrt(double x)
+
+ double fabs(double x)
+ double ceil(double x)
+ double floor(double x)
+ double trunc(double x)
+ double rint(double x)
+ double round(double x)
+ double nearbyint(double x)
+ double nextafter(double, double)
+ double nexttoward(double, long double)
+
+ long long llrint(double)
+ long lrint(double)
+ long long llround(double)
+ long lround(double)
+
+ double copysign(double, double)
+ float copysignf(float, float)
+ long double copysignl(long double, long double)
+
+ double erf(double)
+ float erff(float)
+ long double erfl(long double)
+ double erfc(double)
+ float erfcf(float)
+ long double erfcl(long double)
+
+ double fdim(double x, double y)
double fma(double x, double y, double z)
- double fmax(double x, double y)
- double fmin(double x, double y)
- double scalbln(double x, long n)
- double scalbn(double x, int n)
-
- double nan(const char*)
+ double fmax(double x, double y)
+ double fmin(double x, double y)
+ double scalbln(double x, long n)
+ double scalbn(double x, int n)
+
+ double nan(const char*)
int isinf(long double) # -1 / 0 / 1
- bint isfinite(long double)
+ bint isfinite(long double)
bint isnan(long double)
- bint isnormal(long double)
+ bint isnormal(long double)
bint signbit(long double)
int fpclassify(long double)
const int FP_NAN
diff --git a/contrib/tools/cython/Cython/Includes/libc/setjmp.pxd b/contrib/tools/cython/Cython/Includes/libc/setjmp.pxd
index 6c11a534d4..f7e362146b 100644
--- a/contrib/tools/cython/Cython/Includes/libc/setjmp.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/setjmp.pxd
@@ -1,8 +1,8 @@
cdef extern from "<setjmp.h>" nogil:
- ctypedef struct jmp_buf:
- pass
- int setjmp(jmp_buf state)
- void longjmp(jmp_buf state, int value)
+ ctypedef struct jmp_buf:
+ pass
+ int setjmp(jmp_buf state)
+ void longjmp(jmp_buf state, int value)
ctypedef struct sigjmp_buf:
pass
diff --git a/contrib/tools/cython/Cython/Includes/libc/signal.pxd b/contrib/tools/cython/Cython/Includes/libc/signal.pxd
index 5d34935543..d1effe1f4f 100644
--- a/contrib/tools/cython/Cython/Includes/libc/signal.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/signal.pxd
@@ -1,18 +1,18 @@
-# 7.14 Signal handling <signal.h>
-
-ctypedef void (*sighandler_t)(int SIGNUM) nogil
-
+# 7.14 Signal handling <signal.h>
+
+ctypedef void (*sighandler_t)(int SIGNUM) nogil
+
cdef extern from "<signal.h>" nogil:
-
- ctypedef int sig_atomic_t
-
- sighandler_t SIG_DFL
- sighandler_t SIG_IGN
- sighandler_t SIG_ERR
-
- sighandler_t signal (int signum, sighandler_t action)
- int raise_"raise" (int signum)
-
+
+ ctypedef int sig_atomic_t
+
+ sighandler_t SIG_DFL
+ sighandler_t SIG_IGN
+ sighandler_t SIG_ERR
+
+ sighandler_t signal (int signum, sighandler_t action)
+ int raise_"raise" (int signum)
+
# Signals
enum:
# Program Error
diff --git a/contrib/tools/cython/Cython/Includes/libc/stddef.pxd b/contrib/tools/cython/Cython/Includes/libc/stddef.pxd
index 9b0f4c5fd2..00227447a2 100644
--- a/contrib/tools/cython/Cython/Includes/libc/stddef.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/stddef.pxd
@@ -1,9 +1,9 @@
-# 7.17 Common definitions <stddef.h>
-
+# 7.17 Common definitions <stddef.h>
+
cdef extern from "<stddef.h>":
-
- ctypedef signed int ptrdiff_t
-
- ctypedef unsigned int size_t
-
- ctypedef int wchar_t
+
+ ctypedef signed int ptrdiff_t
+
+ ctypedef unsigned int size_t
+
+ ctypedef int wchar_t
diff --git a/contrib/tools/cython/Cython/Includes/libc/stdint.pxd b/contrib/tools/cython/Cython/Includes/libc/stdint.pxd
index ced3d46add..d7177d554f 100644
--- a/contrib/tools/cython/Cython/Includes/libc/stdint.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/stdint.pxd
@@ -1,105 +1,105 @@
-# Longness only used for type promotion.
-# Actual compile time size used for conversions.
-
-# 7.18 Integer types <stdint.h>
+# Longness only used for type promotion.
+# Actual compile time size used for conversions.
+
+# 7.18 Integer types <stdint.h>
cdef extern from "<stdint.h>" nogil:
-
- # 7.18.1 Integer types
- # 7.18.1.1 Exact-width integer types
- ctypedef signed char int8_t
- ctypedef signed short int16_t
- ctypedef signed int int32_t
- ctypedef signed long int64_t
- ctypedef unsigned char uint8_t
- ctypedef unsigned short uint16_t
- ctypedef unsigned int uint32_t
+
+ # 7.18.1 Integer types
+ # 7.18.1.1 Exact-width integer types
+ ctypedef signed char int8_t
+ ctypedef signed short int16_t
+ ctypedef signed int int32_t
+ ctypedef signed long int64_t
+ ctypedef unsigned char uint8_t
+ ctypedef unsigned short uint16_t
+ ctypedef unsigned int uint32_t
ctypedef unsigned long long uint64_t
- # 7.18.1.2 Minimum-width integer types
- ctypedef signed char int_least8_t
- ctypedef signed short int_least16_t
- ctypedef signed int int_least32_t
- ctypedef signed long int_least64_t
- ctypedef unsigned char uint_least8_t
- ctypedef unsigned short uint_least16_t
- ctypedef unsigned int uint_least32_t
+ # 7.18.1.2 Minimum-width integer types
+ ctypedef signed char int_least8_t
+ ctypedef signed short int_least16_t
+ ctypedef signed int int_least32_t
+ ctypedef signed long int_least64_t
+ ctypedef unsigned char uint_least8_t
+ ctypedef unsigned short uint_least16_t
+ ctypedef unsigned int uint_least32_t
ctypedef unsigned long long uint_least64_t
- # 7.18.1.3 Fastest minimum-width integer types
- ctypedef signed char int_fast8_t
- ctypedef signed short int_fast16_t
- ctypedef signed int int_fast32_t
- ctypedef signed long int_fast64_t
- ctypedef unsigned char uint_fast8_t
- ctypedef unsigned short uint_fast16_t
- ctypedef unsigned int uint_fast32_t
+ # 7.18.1.3 Fastest minimum-width integer types
+ ctypedef signed char int_fast8_t
+ ctypedef signed short int_fast16_t
+ ctypedef signed int int_fast32_t
+ ctypedef signed long int_fast64_t
+ ctypedef unsigned char uint_fast8_t
+ ctypedef unsigned short uint_fast16_t
+ ctypedef unsigned int uint_fast32_t
ctypedef unsigned long long uint_fast64_t
- # 7.18.1.4 Integer types capable of holding object pointers
- ctypedef ssize_t intptr_t
- ctypedef size_t uintptr_t
- # 7.18.1.5 Greatest-width integer types
- ctypedef signed long long intmax_t
- ctypedef unsigned long long uintmax_t
-
- # 7.18.2 Limits of specified-width integer types
- # 7.18.2.1 Limits of exact-width integer types
- int8_t INT8_MIN
- int16_t INT16_MIN
- int32_t INT32_MIN
- int64_t INT64_MIN
- int8_t INT8_MAX
- int16_t INT16_MAX
- int32_t INT32_MAX
- int64_t INT64_MAX
- uint8_t UINT8_MAX
- uint16_t UINT16_MAX
- uint32_t UINT32_MAX
- uint64_t UINT64_MAX
- #7.18.2.2 Limits of minimum-width integer types
- int_least8_t INT_LEAST8_MIN
- int_least16_t INT_LEAST16_MIN
- int_least32_t INT_LEAST32_MIN
- int_least64_t INT_LEAST64_MIN
- int_least8_t INT_LEAST8_MAX
- int_least16_t INT_LEAST16_MAX
- int_least32_t INT_LEAST32_MAX
- int_least64_t INT_LEAST64_MAX
- uint_least8_t UINT_LEAST8_MAX
- uint_least16_t UINT_LEAST16_MAX
- uint_least32_t UINT_LEAST32_MAX
- uint_least64_t UINT_LEAST64_MAX
- #7.18.2.3 Limits of fastest minimum-width integer types
- int_fast8_t INT_FAST8_MIN
- int_fast16_t INT_FAST16_MIN
- int_fast32_t INT_FAST32_MIN
- int_fast64_t INT_FAST64_MIN
- int_fast8_t INT_FAST8_MAX
- int_fast16_t INT_FAST16_MAX
- int_fast32_t INT_FAST32_MAX
- int_fast64_t INT_FAST64_MAX
- uint_fast8_t UINT_FAST8_MAX
- uint_fast16_t UINT_FAST16_MAX
- uint_fast32_t UINT_FAST32_MAX
- uint_fast64_t UINT_FAST64_MAX
- #7.18.2.4 Limits of integer types capable of holding object pointers
- enum: INTPTR_MIN
- enum: INTPTR_MAX
- enum: UINTPTR_MAX
- # 7.18.2.5 Limits of greatest-width integer types
- enum: INTMAX_MAX
- enum: INTMAX_MIN
- enum: UINTMAX_MAX
-
- # 7.18.3 Limits of other integer types
- # ptrdiff_t
- enum: PTRDIFF_MIN
- enum: PTRDIFF_MAX
- # sig_atomic_t
- enum: SIG_ATOMIC_MIN
- enum: SIG_ATOMIC_MAX
- # size_t
- size_t SIZE_MAX
- # wchar_t
- enum: WCHAR_MIN
- enum: WCHAR_MAX
- # wint_t
- enum: WINT_MIN
- enum: WINT_MAX
+ # 7.18.1.4 Integer types capable of holding object pointers
+ ctypedef ssize_t intptr_t
+ ctypedef size_t uintptr_t
+ # 7.18.1.5 Greatest-width integer types
+ ctypedef signed long long intmax_t
+ ctypedef unsigned long long uintmax_t
+
+ # 7.18.2 Limits of specified-width integer types
+ # 7.18.2.1 Limits of exact-width integer types
+ int8_t INT8_MIN
+ int16_t INT16_MIN
+ int32_t INT32_MIN
+ int64_t INT64_MIN
+ int8_t INT8_MAX
+ int16_t INT16_MAX
+ int32_t INT32_MAX
+ int64_t INT64_MAX
+ uint8_t UINT8_MAX
+ uint16_t UINT16_MAX
+ uint32_t UINT32_MAX
+ uint64_t UINT64_MAX
+ #7.18.2.2 Limits of minimum-width integer types
+ int_least8_t INT_LEAST8_MIN
+ int_least16_t INT_LEAST16_MIN
+ int_least32_t INT_LEAST32_MIN
+ int_least64_t INT_LEAST64_MIN
+ int_least8_t INT_LEAST8_MAX
+ int_least16_t INT_LEAST16_MAX
+ int_least32_t INT_LEAST32_MAX
+ int_least64_t INT_LEAST64_MAX
+ uint_least8_t UINT_LEAST8_MAX
+ uint_least16_t UINT_LEAST16_MAX
+ uint_least32_t UINT_LEAST32_MAX
+ uint_least64_t UINT_LEAST64_MAX
+ #7.18.2.3 Limits of fastest minimum-width integer types
+ int_fast8_t INT_FAST8_MIN
+ int_fast16_t INT_FAST16_MIN
+ int_fast32_t INT_FAST32_MIN
+ int_fast64_t INT_FAST64_MIN
+ int_fast8_t INT_FAST8_MAX
+ int_fast16_t INT_FAST16_MAX
+ int_fast32_t INT_FAST32_MAX
+ int_fast64_t INT_FAST64_MAX
+ uint_fast8_t UINT_FAST8_MAX
+ uint_fast16_t UINT_FAST16_MAX
+ uint_fast32_t UINT_FAST32_MAX
+ uint_fast64_t UINT_FAST64_MAX
+ #7.18.2.4 Limits of integer types capable of holding object pointers
+ enum: INTPTR_MIN
+ enum: INTPTR_MAX
+ enum: UINTPTR_MAX
+ # 7.18.2.5 Limits of greatest-width integer types
+ enum: INTMAX_MAX
+ enum: INTMAX_MIN
+ enum: UINTMAX_MAX
+
+ # 7.18.3 Limits of other integer types
+ # ptrdiff_t
+ enum: PTRDIFF_MIN
+ enum: PTRDIFF_MAX
+ # sig_atomic_t
+ enum: SIG_ATOMIC_MIN
+ enum: SIG_ATOMIC_MAX
+ # size_t
+ size_t SIZE_MAX
+ # wchar_t
+ enum: WCHAR_MIN
+ enum: WCHAR_MAX
+ # wint_t
+ enum: WINT_MIN
+ enum: WINT_MAX
diff --git a/contrib/tools/cython/Cython/Includes/libc/stdio.pxd b/contrib/tools/cython/Cython/Includes/libc/stdio.pxd
index 1644a5a0ab..03ed475cd5 100644
--- a/contrib/tools/cython/Cython/Includes/libc/stdio.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/stdio.pxd
@@ -1,80 +1,80 @@
-# 7.19 Input/output <stdio.h>
-
-
-# deprecated cimports for backwards compatibility:
-from libc.string cimport const_char, const_void
-
-
+# 7.19 Input/output <stdio.h>
+
+
+# deprecated cimports for backwards compatibility:
+from libc.string cimport const_char, const_void
+
+
cdef extern from "<stdio.h>" nogil:
-
- ctypedef struct FILE
- cdef FILE *stdin
- cdef FILE *stdout
- cdef FILE *stderr
-
- enum: FOPEN_MAX
- enum: FILENAME_MAX
- FILE *fopen (const char *filename, const char *opentype)
- FILE *freopen (const char *filename, const char *opentype, FILE *stream)
- FILE *fdopen (int fdescriptor, const char *opentype)
- int fclose (FILE *stream)
- int remove (const char *filename)
- int rename (const char *oldname, const char *newname)
- FILE *tmpfile ()
-
- int remove (const char *pathname)
- int rename (const char *oldpath, const char *newpath)
-
- enum: _IOFBF
- enum: _IOLBF
- enum: _IONBF
- int setvbuf (FILE *stream, char *buf, int mode, size_t size)
- enum: BUFSIZ
- void setbuf (FILE *stream, char *buf)
-
- size_t fread (void *data, size_t size, size_t count, FILE *stream)
- size_t fwrite (const void *data, size_t size, size_t count, FILE *stream)
- int fflush (FILE *stream)
-
- enum: EOF
- void clearerr (FILE *stream)
- int feof (FILE *stream)
- int ferror (FILE *stream)
-
- enum: SEEK_SET
- enum: SEEK_CUR
- enum: SEEK_END
- int fseek (FILE *stream, long int offset, int whence)
- void rewind (FILE *stream)
- long int ftell (FILE *stream)
-
- ctypedef struct fpos_t
- ctypedef const fpos_t const_fpos_t "const fpos_t"
- int fgetpos (FILE *stream, fpos_t *position)
- int fsetpos (FILE *stream, const fpos_t *position)
-
- int scanf (const char *template, ...)
- int sscanf (const char *s, const char *template, ...)
- int fscanf (FILE *stream, const char *template, ...)
-
- int printf (const char *template, ...)
- int sprintf (char *s, const char *template, ...)
- int snprintf (char *s, size_t size, const char *template, ...)
- int fprintf (FILE *stream, const char *template, ...)
-
- void perror (const char *message)
-
- char *gets (char *s)
- char *fgets (char *s, int count, FILE *stream)
- int getchar ()
- int fgetc (FILE *stream)
- int getc (FILE *stream)
- int ungetc (int c, FILE *stream)
-
- int puts (const char *s)
- int fputs (const char *s, FILE *stream)
- int putchar (int c)
- int fputc (int c, FILE *stream)
- int putc (int c, FILE *stream)
-
- size_t getline(char **lineptr, size_t *n, FILE *stream)
+
+ ctypedef struct FILE
+ cdef FILE *stdin
+ cdef FILE *stdout
+ cdef FILE *stderr
+
+ enum: FOPEN_MAX
+ enum: FILENAME_MAX
+ FILE *fopen (const char *filename, const char *opentype)
+ FILE *freopen (const char *filename, const char *opentype, FILE *stream)
+ FILE *fdopen (int fdescriptor, const char *opentype)
+ int fclose (FILE *stream)
+ int remove (const char *filename)
+ int rename (const char *oldname, const char *newname)
+ FILE *tmpfile ()
+
+ int remove (const char *pathname)
+ int rename (const char *oldpath, const char *newpath)
+
+ enum: _IOFBF
+ enum: _IOLBF
+ enum: _IONBF
+ int setvbuf (FILE *stream, char *buf, int mode, size_t size)
+ enum: BUFSIZ
+ void setbuf (FILE *stream, char *buf)
+
+ size_t fread (void *data, size_t size, size_t count, FILE *stream)
+ size_t fwrite (const void *data, size_t size, size_t count, FILE *stream)
+ int fflush (FILE *stream)
+
+ enum: EOF
+ void clearerr (FILE *stream)
+ int feof (FILE *stream)
+ int ferror (FILE *stream)
+
+ enum: SEEK_SET
+ enum: SEEK_CUR
+ enum: SEEK_END
+ int fseek (FILE *stream, long int offset, int whence)
+ void rewind (FILE *stream)
+ long int ftell (FILE *stream)
+
+ ctypedef struct fpos_t
+ ctypedef const fpos_t const_fpos_t "const fpos_t"
+ int fgetpos (FILE *stream, fpos_t *position)
+ int fsetpos (FILE *stream, const fpos_t *position)
+
+ int scanf (const char *template, ...)
+ int sscanf (const char *s, const char *template, ...)
+ int fscanf (FILE *stream, const char *template, ...)
+
+ int printf (const char *template, ...)
+ int sprintf (char *s, const char *template, ...)
+ int snprintf (char *s, size_t size, const char *template, ...)
+ int fprintf (FILE *stream, const char *template, ...)
+
+ void perror (const char *message)
+
+ char *gets (char *s)
+ char *fgets (char *s, int count, FILE *stream)
+ int getchar ()
+ int fgetc (FILE *stream)
+ int getc (FILE *stream)
+ int ungetc (int c, FILE *stream)
+
+ int puts (const char *s)
+ int fputs (const char *s, FILE *stream)
+ int putchar (int c)
+ int fputc (int c, FILE *stream)
+ int putc (int c, FILE *stream)
+
+ size_t getline(char **lineptr, size_t *n, FILE *stream)
diff --git a/contrib/tools/cython/Cython/Includes/libc/stdlib.pxd b/contrib/tools/cython/Cython/Includes/libc/stdlib.pxd
index e6fac821c7..9cb0d0320e 100644
--- a/contrib/tools/cython/Cython/Includes/libc/stdlib.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/stdlib.pxd
@@ -1,72 +1,72 @@
-# 7.20 General utilities <stdlib.h>
-
-# deprecated cimports for backwards compatibility:
-from libc.string cimport const_char, const_void
-
-
+# 7.20 General utilities <stdlib.h>
+
+# deprecated cimports for backwards compatibility:
+from libc.string cimport const_char, const_void
+
+
cdef extern from "<stdlib.h>" nogil:
-
- # 7.20.1 Numeric conversion functions
- int atoi (const char *string)
- long atol (const char *string)
- long long atoll (const char *string)
- double atof (const char *string)
- long strtol (const char *string, char **tailptr, int base)
- unsigned long int strtoul (const char *string, char **tailptr, int base)
- long long int strtoll (const char *string, char **tailptr, int base)
- unsigned long long int strtoull (const char *string, char **tailptr, int base)
- float strtof (const char *string, char **tailptr)
- double strtod (const char *string, char **tailptr)
- long double strtold (const char *string, char **tailptr)
-
- # 7.20.2 Pseudo-random sequence generation functions
- enum: RAND_MAX
- int rand ()
- void srand (unsigned int seed)
-
- # 7.20.3 Memory management functions
- void *calloc (size_t count, size_t eltsize)
- void free (void *ptr)
- void *malloc (size_t size)
- void *realloc (void *ptr, size_t newsize)
-
- # 7.20.4 Communication with the environment
- enum: EXIT_FAILURE
- enum: EXIT_SUCCESS
- void exit (int status)
- void _exit (int status)
- int atexit (void (*function) ())
- void abort ()
- char *getenv (const char *name)
- int system (const char *command)
-
- #7.20.5 Searching and sorting utilities
- void *bsearch (const void *key, const void *array,
- size_t count, size_t size,
- int (*compare)(const void *, const void *))
- void qsort (void *array, size_t count, size_t size,
- int (*compare)(const void *, const void *))
-
- # 7.20.6 Integer arithmetic functions
- int abs (int number)
- long int labs (long int number)
- long long int llabs (long long int number)
- ctypedef struct div_t:
- int quot
- int rem
- div_t div (int numerator, int denominator)
- ctypedef struct ldiv_t:
- long int quot
- long int rem
- ldiv_t ldiv (long int numerator, long int denominator)
- ctypedef struct lldiv_t:
- long long int quot
- long long int rem
- lldiv_t lldiv (long long int numerator, long long int denominator)
-
-
- # 7.20.7 Multibyte/wide character conversion functions
- # XXX TODO
-
- # 7.20.8 Multibyte/wide string conversion functions
- # XXX TODO
+
+ # 7.20.1 Numeric conversion functions
+ int atoi (const char *string)
+ long atol (const char *string)
+ long long atoll (const char *string)
+ double atof (const char *string)
+ long strtol (const char *string, char **tailptr, int base)
+ unsigned long int strtoul (const char *string, char **tailptr, int base)
+ long long int strtoll (const char *string, char **tailptr, int base)
+ unsigned long long int strtoull (const char *string, char **tailptr, int base)
+ float strtof (const char *string, char **tailptr)
+ double strtod (const char *string, char **tailptr)
+ long double strtold (const char *string, char **tailptr)
+
+ # 7.20.2 Pseudo-random sequence generation functions
+ enum: RAND_MAX
+ int rand ()
+ void srand (unsigned int seed)
+
+ # 7.20.3 Memory management functions
+ void *calloc (size_t count, size_t eltsize)
+ void free (void *ptr)
+ void *malloc (size_t size)
+ void *realloc (void *ptr, size_t newsize)
+
+ # 7.20.4 Communication with the environment
+ enum: EXIT_FAILURE
+ enum: EXIT_SUCCESS
+ void exit (int status)
+ void _exit (int status)
+ int atexit (void (*function) ())
+ void abort ()
+ char *getenv (const char *name)
+ int system (const char *command)
+
+ #7.20.5 Searching and sorting utilities
+ void *bsearch (const void *key, const void *array,
+ size_t count, size_t size,
+ int (*compare)(const void *, const void *))
+ void qsort (void *array, size_t count, size_t size,
+ int (*compare)(const void *, const void *))
+
+ # 7.20.6 Integer arithmetic functions
+ int abs (int number)
+ long int labs (long int number)
+ long long int llabs (long long int number)
+ ctypedef struct div_t:
+ int quot
+ int rem
+ div_t div (int numerator, int denominator)
+ ctypedef struct ldiv_t:
+ long int quot
+ long int rem
+ ldiv_t ldiv (long int numerator, long int denominator)
+ ctypedef struct lldiv_t:
+ long long int quot
+ long long int rem
+ lldiv_t lldiv (long long int numerator, long long int denominator)
+
+
+ # 7.20.7 Multibyte/wide character conversion functions
+ # XXX TODO
+
+ # 7.20.8 Multibyte/wide string conversion functions
+ # XXX TODO
diff --git a/contrib/tools/cython/Cython/Includes/libc/string.pxd b/contrib/tools/cython/Cython/Includes/libc/string.pxd
index e6d96183f2..d7248fdb6e 100644
--- a/contrib/tools/cython/Cython/Includes/libc/string.pxd
+++ b/contrib/tools/cython/Cython/Includes/libc/string.pxd
@@ -1,50 +1,50 @@
-# 7.21 String handling <string.h>
-
-cdef extern from *:
- # deprecated backwards compatibility declarations
- ctypedef const char const_char "const char"
- ctypedef const signed char const_schar "const signed char"
- ctypedef const unsigned char const_uchar "const unsigned char"
- ctypedef const void const_void "const void"
-
+# 7.21 String handling <string.h>
+
+cdef extern from *:
+ # deprecated backwards compatibility declarations
+ ctypedef const char const_char "const char"
+ ctypedef const signed char const_schar "const signed char"
+ ctypedef const unsigned char const_uchar "const unsigned char"
+ ctypedef const void const_void "const void"
+
cdef extern from "<string.h>" nogil:
-
- void *memcpy (void *pto, const void *pfrom, size_t size)
- void *memmove (void *pto, const void *pfrom, size_t size)
- void *memset (void *block, int c, size_t size)
- int memcmp (const void *a1, const void *a2, size_t size)
- void *memchr (const void *block, int c, size_t size)
-
- void *memchr (const void *block, int c, size_t size)
- void *memrchr (const void *block, int c, size_t size)
-
- size_t strlen (const char *s)
- char *strcpy (char *pto, const char *pfrom)
- char *strncpy (char *pto, const char *pfrom, size_t size)
- char *strdup (const char *s)
- char *strndup (const char *s, size_t size)
- char *strcat (char *pto, const char *pfrom)
- char *strncat (char *pto, const char *pfrom, size_t size)
-
- int strcmp (const char *s1, const char *s2)
- int strcasecmp (const char *s1, const char *s2)
- int strncmp (const char *s1, const char *s2, size_t size)
- int strncasecmp (const char *s1, const char *s2, size_t n)
-
- int strcoll (const char *s1, const char *s2)
- size_t strxfrm (char *pto, const char *pfrom, size_t size)
-
- char *strerror (int errnum)
-
- char *strchr (const char *string, int c)
- char *strrchr (const char *string, int c)
-
- char *strstr (const char *haystack, const char *needle)
- char *strcasestr (const char *haystack, const char *needle)
-
- size_t strcspn (const char *string, const char *stopset)
- size_t strspn (const char *string, const char *set)
- char * strpbrk (const char *string, const char *stopset)
-
- char *strtok (char *newstring, const char *delimiters)
- char *strsep (char **string_ptr, const char *delimiter)
+
+ void *memcpy (void *pto, const void *pfrom, size_t size)
+ void *memmove (void *pto, const void *pfrom, size_t size)
+ void *memset (void *block, int c, size_t size)
+ int memcmp (const void *a1, const void *a2, size_t size)
+ void *memchr (const void *block, int c, size_t size)
+
+ void *memchr (const void *block, int c, size_t size)
+ void *memrchr (const void *block, int c, size_t size)
+
+ size_t strlen (const char *s)
+ char *strcpy (char *pto, const char *pfrom)
+ char *strncpy (char *pto, const char *pfrom, size_t size)
+ char *strdup (const char *s)
+ char *strndup (const char *s, size_t size)
+ char *strcat (char *pto, const char *pfrom)
+ char *strncat (char *pto, const char *pfrom, size_t size)
+
+ int strcmp (const char *s1, const char *s2)
+ int strcasecmp (const char *s1, const char *s2)
+ int strncmp (const char *s1, const char *s2, size_t size)
+ int strncasecmp (const char *s1, const char *s2, size_t n)
+
+ int strcoll (const char *s1, const char *s2)
+ size_t strxfrm (char *pto, const char *pfrom, size_t size)
+
+ char *strerror (int errnum)
+
+ char *strchr (const char *string, int c)
+ char *strrchr (const char *string, int c)
+
+ char *strstr (const char *haystack, const char *needle)
+ char *strcasestr (const char *haystack, const char *needle)
+
+ size_t strcspn (const char *string, const char *stopset)
+ size_t strspn (const char *string, const char *set)
+ char * strpbrk (const char *string, const char *stopset)
+
+ char *strtok (char *newstring, const char *delimiters)
+ char *strsep (char **string_ptr, const char *delimiter)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/__init__.pxd b/contrib/tools/cython/Cython/Includes/libcpp/__init__.pxd
index 111ea25c2f..8ccd1ae6d9 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/__init__.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/__init__.pxd
@@ -1,4 +1,4 @@
-cdef extern from *:
- ctypedef bint bool
+cdef extern from *:
+ ctypedef bint bool
ctypedef void* nullptr_t
nullptr_t nullptr
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/algorithm.pxd b/contrib/tools/cython/Cython/Includes/libcpp/algorithm.pxd
index ec7c3835b4..e7649cf9be 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/algorithm.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/algorithm.pxd
@@ -1,7 +1,7 @@
from libcpp cimport bool
-cdef extern from "<algorithm>" namespace "std" nogil:
+cdef extern from "<algorithm>" namespace "std" nogil:
# Sorting and searching
bool binary_search[Iter, T](Iter first, Iter last, const T& value)
bool binary_search[Iter, T, Compare](Iter first, Iter last, const T& value,
@@ -27,17 +27,17 @@ cdef extern from "<algorithm>" namespace "std" nogil:
Iter unique[Iter, BinaryPredicate](Iter first, Iter last, BinaryPredicate p)
# Binary heaps (priority queues)
- void make_heap[Iter](Iter first, Iter last)
- void make_heap[Iter, Compare](Iter first, Iter last, Compare comp)
-
- void pop_heap[Iter](Iter first, Iter last)
- void pop_heap[Iter, Compare](Iter first, Iter last, Compare comp)
-
- void push_heap[Iter](Iter first, Iter last)
- void push_heap[Iter, Compare](Iter first, Iter last, Compare comp)
-
- void sort_heap[Iter](Iter first, Iter last)
- void sort_heap[Iter, Compare](Iter first, Iter last, Compare comp)
+ void make_heap[Iter](Iter first, Iter last)
+ void make_heap[Iter, Compare](Iter first, Iter last, Compare comp)
+
+ void pop_heap[Iter](Iter first, Iter last)
+ void pop_heap[Iter, Compare](Iter first, Iter last, Compare comp)
+
+ void push_heap[Iter](Iter first, Iter last)
+ void push_heap[Iter, Compare](Iter first, Iter last, Compare comp)
+
+ void sort_heap[Iter](Iter first, Iter last)
+ void sort_heap[Iter, Compare](Iter first, Iter last, Compare comp)
# Copy
OutputIter copy[InputIter,OutputIter](InputIter,InputIter,OutputIter)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/cast.pxd b/contrib/tools/cython/Cython/Includes/libcpp/cast.pxd
index c3a4d8978f..b0ce3b9b3d 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/cast.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/cast.pxd
@@ -1,12 +1,12 @@
-# Defines the standard C++ cast operators.
-#
-# Due to type restrictions, these are only defined for pointer parameters,
-# however that is the only case where they are significantly more interesting
-# than the standard C cast operator which can be written "<T>(expression)" in
-# Cython.
-
+# Defines the standard C++ cast operators.
+#
+# Due to type restrictions, these are only defined for pointer parameters,
+# however that is the only case where they are significantly more interesting
+# than the standard C cast operator which can be written "<T>(expression)" in
+# Cython.
+
cdef extern from * nogil:
- cdef T dynamic_cast[T](void *) except + # nullptr may also indicate failure
- cdef T static_cast[T](void *)
- cdef T reinterpret_cast[T](void *)
- cdef T const_cast[T](void *)
+ cdef T dynamic_cast[T](void *) except + # nullptr may also indicate failure
+ cdef T static_cast[T](void *)
+ cdef T reinterpret_cast[T](void *)
+ cdef T const_cast[T](void *)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/complex.pxd b/contrib/tools/cython/Cython/Includes/libcpp/complex.pxd
index c875d5e5bd..7ae6fd0908 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/complex.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/complex.pxd
@@ -1,101 +1,101 @@
-# Note: add integer versions of the functions?
-
-cdef extern from "<complex>" namespace "std" nogil:
- cdef cppclass complex[T]:
- complex() except +
- complex(T, T) except +
- complex(complex[T]&) except +
- # How to make the converting constructor, i.e. convert complex[double]
- # to complex[float]?
-
- complex[T] operator+(complex[T]&)
- complex[T] operator-(complex[T]&)
- complex[T] operator+(complex[T]&, complex[T]&)
- complex[T] operator+(complex[T]&, T&)
- complex[T] operator+(T&, complex[T]&)
- complex[T] operator-(complex[T]&, complex[T]&)
- complex[T] operator-(complex[T]&, T&)
- complex[T] operator-(T&, complex[T]&)
- complex[T] operator*(complex[T]&, complex[T]&)
- complex[T] operator*(complex[T]&, T&)
- complex[T] operator*(T&, complex[T]&)
- complex[T] operator/(complex[T]&, complex[T]&)
- complex[T] operator/(complex[T]&, T&)
- complex[T] operator/(T&, complex[T]&)
-
- bint operator==(complex[T]&, complex[T]&)
- bint operator==(complex[T]&, T&)
- bint operator==(T&, complex[T]&)
- bint operator!=(complex[T]&, complex[T]&)
- bint operator!=(complex[T]&, T&)
- bint operator!=(T&, complex[T]&)
-
- # Access real part
- T real()
- void real(T)
-
- # Access imaginary part
- T imag()
- void imag(T)
-
- # Return real part
+# Note: add integer versions of the functions?
+
+cdef extern from "<complex>" namespace "std" nogil:
+ cdef cppclass complex[T]:
+ complex() except +
+ complex(T, T) except +
+ complex(complex[T]&) except +
+ # How to make the converting constructor, i.e. convert complex[double]
+ # to complex[float]?
+
+ complex[T] operator+(complex[T]&)
+ complex[T] operator-(complex[T]&)
+ complex[T] operator+(complex[T]&, complex[T]&)
+ complex[T] operator+(complex[T]&, T&)
+ complex[T] operator+(T&, complex[T]&)
+ complex[T] operator-(complex[T]&, complex[T]&)
+ complex[T] operator-(complex[T]&, T&)
+ complex[T] operator-(T&, complex[T]&)
+ complex[T] operator*(complex[T]&, complex[T]&)
+ complex[T] operator*(complex[T]&, T&)
+ complex[T] operator*(T&, complex[T]&)
+ complex[T] operator/(complex[T]&, complex[T]&)
+ complex[T] operator/(complex[T]&, T&)
+ complex[T] operator/(T&, complex[T]&)
+
+ bint operator==(complex[T]&, complex[T]&)
+ bint operator==(complex[T]&, T&)
+ bint operator==(T&, complex[T]&)
+ bint operator!=(complex[T]&, complex[T]&)
+ bint operator!=(complex[T]&, T&)
+ bint operator!=(T&, complex[T]&)
+
+ # Access real part
+ T real()
+ void real(T)
+
+ # Access imaginary part
+ T imag()
+ void imag(T)
+
+ # Return real part
T real[T](complex[T]&)
- long double real(long double)
- double real(double)
- float real(float)
-
- # Return imaginary part
+ long double real(long double)
+ double real(double)
+ float real(float)
+
+ # Return imaginary part
T imag[T](complex[T]&)
- long double imag(long double)
- double imag(double)
- float imag(float)
-
+ long double imag(long double)
+ double imag(double)
+ float imag(float)
+
T abs[T](complex[T]&)
T arg[T](complex[T]&)
- long double arg(long double)
- double arg(double)
- float arg(float)
-
+ long double arg(long double)
+ double arg(double)
+ float arg(float)
+
T norm[T](complex[T])
- long double norm(long double)
- double norm(double)
- float norm(float)
-
+ long double norm(long double)
+ double norm(double)
+ float norm(float)
+
complex[T] conj[T](complex[T]&)
- complex[long double] conj(long double)
- complex[double] conj(double)
- complex[float] conj(float)
-
+ complex[long double] conj(long double)
+ complex[double] conj(double)
+ complex[float] conj(float)
+
complex[T] proj[T](complex[T])
- complex[long double] proj(long double)
- complex[double] proj(double)
- complex[float] proj(float)
-
+ complex[long double] proj(long double)
+ complex[double] proj(double)
+ complex[float] proj(float)
+
complex[T] polar[T](T&, T&)
complex[T] ploar[T](T&)
-
+
complex[T] exp[T](complex[T]&)
complex[T] log[T](complex[T]&)
complex[T] log10[T](complex[T]&)
-
+
complex[T] pow[T](complex[T]&, complex[T]&)
complex[T] pow[T](complex[T]&, T&)
complex[T] pow[T](T&, complex[T]&)
- # There are some promotion versions too
-
+ # There are some promotion versions too
+
complex[T] sqrt[T](complex[T]&)
-
+
complex[T] sin[T](complex[T]&)
complex[T] cos[T](complex[T]&)
complex[T] tan[T](complex[T]&)
complex[T] asin[T](complex[T]&)
complex[T] acos[T](complex[T]&)
complex[T] atan[T](complex[T]&)
-
+
complex[T] sinh[T](complex[T]&)
complex[T] cosh[T](complex[T]&)
complex[T] tanh[T](complex[T]&)
-
+
complex[T] asinh[T](complex[T]&)
complex[T] acosh[T](complex[T]&)
complex[T] atanh[T](complex[T]&)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/deque.pxd b/contrib/tools/cython/Cython/Includes/libcpp/deque.pxd
index 9e2b2291d0..c1374cd2f4 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/deque.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/deque.pxd
@@ -1,4 +1,4 @@
-cdef extern from "<deque>" namespace "std" nogil:
+cdef extern from "<deque>" namespace "std" nogil:
cdef cppclass deque[T,ALLOCATOR=*]:
ctypedef T value_type
ctypedef ALLOCATOR allocator_type
@@ -9,28 +9,28 @@ cdef extern from "<deque>" namespace "std" nogil:
ctypedef size_t size_type
ctypedef ptrdiff_t difference_type
- cppclass iterator:
- T& operator*()
- iterator operator++()
- iterator operator--()
+ cppclass iterator:
+ T& operator*()
+ iterator operator++()
+ iterator operator--()
iterator operator+(size_type)
iterator operator-(size_type)
difference_type operator-(iterator)
- bint operator==(iterator)
- bint operator!=(iterator)
+ bint operator==(iterator)
+ bint operator!=(iterator)
bint operator<(iterator)
bint operator>(iterator)
bint operator<=(iterator)
bint operator>=(iterator)
- cppclass reverse_iterator:
- T& operator*()
+ cppclass reverse_iterator:
+ T& operator*()
reverse_iterator operator++()
reverse_iterator operator--()
reverse_iterator operator+(size_type)
reverse_iterator operator-(size_type)
difference_type operator-(reverse_iterator)
- bint operator==(reverse_iterator)
- bint operator!=(reverse_iterator)
+ bint operator==(reverse_iterator)
+ bint operator!=(reverse_iterator)
bint operator<(reverse_iterator)
bint operator>(reverse_iterator)
bint operator<=(reverse_iterator)
@@ -39,48 +39,48 @@ cdef extern from "<deque>" namespace "std" nogil:
pass
cppclass const_reverse_iterator(reverse_iterator):
pass
- deque() except +
- deque(deque&) except +
- deque(size_t) except +
- deque(size_t, T&) except +
- #deque[input_iterator](input_iterator, input_iterator)
- T& operator[](size_t)
- #deque& operator=(deque&)
- bint operator==(deque&, deque&)
- bint operator!=(deque&, deque&)
- bint operator<(deque&, deque&)
- bint operator>(deque&, deque&)
- bint operator<=(deque&, deque&)
- bint operator>=(deque&, deque&)
- void assign(size_t, T&)
- void assign(input_iterator, input_iterator)
- T& at(size_t)
- T& back()
- iterator begin()
+ deque() except +
+ deque(deque&) except +
+ deque(size_t) except +
+ deque(size_t, T&) except +
+ #deque[input_iterator](input_iterator, input_iterator)
+ T& operator[](size_t)
+ #deque& operator=(deque&)
+ bint operator==(deque&, deque&)
+ bint operator!=(deque&, deque&)
+ bint operator<(deque&, deque&)
+ bint operator>(deque&, deque&)
+ bint operator<=(deque&, deque&)
+ bint operator>=(deque&, deque&)
+ void assign(size_t, T&)
+ void assign(input_iterator, input_iterator)
+ T& at(size_t)
+ T& back()
+ iterator begin()
const_iterator const_begin "begin"()
- void clear()
- bint empty()
- iterator end()
+ void clear()
+ bint empty()
+ iterator end()
const_iterator const_end "end"()
- iterator erase(iterator)
- iterator erase(iterator, iterator)
- T& front()
- iterator insert(iterator, T&)
- void insert(iterator, size_t, T&)
- void insert(iterator, input_iterator, input_iterator)
- size_t max_size()
- void pop_back()
- void pop_front()
- void push_back(T&)
- void push_front(T&)
- reverse_iterator rbegin()
- #const_reverse_iterator rbegin()
- reverse_iterator rend()
- #const_reverse_iterator rend()
- void resize(size_t)
- void resize(size_t, T&)
- size_t size()
- void swap(deque&)
+ iterator erase(iterator)
+ iterator erase(iterator, iterator)
+ T& front()
+ iterator insert(iterator, T&)
+ void insert(iterator, size_t, T&)
+ void insert(iterator, input_iterator, input_iterator)
+ size_t max_size()
+ void pop_back()
+ void pop_front()
+ void push_back(T&)
+ void push_front(T&)
+ reverse_iterator rbegin()
+ #const_reverse_iterator rbegin()
+ reverse_iterator rend()
+ #const_reverse_iterator rend()
+ void resize(size_t)
+ void resize(size_t, T&)
+ size_t size()
+ void swap(deque&)
# C++11 methods
void shrink_to_fit()
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/list.pxd b/contrib/tools/cython/Cython/Includes/libcpp/list.pxd
index b5b0410ad8..ebbe39d487 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/list.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/list.pxd
@@ -1,4 +1,4 @@
-cdef extern from "<list>" namespace "std" nogil:
+cdef extern from "<list>" namespace "std" nogil:
cdef cppclass list[T,ALLOCATOR=*]:
ctypedef T value_type
ctypedef ALLOCATOR allocator_type
@@ -9,70 +9,70 @@ cdef extern from "<list>" namespace "std" nogil:
ctypedef size_t size_type
ctypedef ptrdiff_t difference_type
- cppclass iterator:
- iterator()
- iterator(iterator &)
- T& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(iterator)
- bint operator!=(iterator)
- cppclass reverse_iterator:
- reverse_iterator()
- reverse_iterator(iterator &)
- T& operator*()
- reverse_iterator operator++()
- reverse_iterator operator--()
- bint operator==(reverse_iterator)
- bint operator!=(reverse_iterator)
+ cppclass iterator:
+ iterator()
+ iterator(iterator &)
+ T& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(iterator)
+ bint operator!=(iterator)
+ cppclass reverse_iterator:
+ reverse_iterator()
+ reverse_iterator(iterator &)
+ T& operator*()
+ reverse_iterator operator++()
+ reverse_iterator operator--()
+ bint operator==(reverse_iterator)
+ bint operator!=(reverse_iterator)
cppclass const_iterator(iterator):
pass
cppclass const_reverse_iterator(reverse_iterator):
pass
- list() except +
- list(list&) except +
- list(size_t, T&) except +
- #list operator=(list&)
- bint operator==(list&, list&)
- bint operator!=(list&, list&)
- bint operator<(list&, list&)
- bint operator>(list&, list&)
- bint operator<=(list&, list&)
- bint operator>=(list&, list&)
- void assign(size_t, T&)
- T& back()
- iterator begin()
+ list() except +
+ list(list&) except +
+ list(size_t, T&) except +
+ #list operator=(list&)
+ bint operator==(list&, list&)
+ bint operator!=(list&, list&)
+ bint operator<(list&, list&)
+ bint operator>(list&, list&)
+ bint operator<=(list&, list&)
+ bint operator>=(list&, list&)
+ void assign(size_t, T&)
+ T& back()
+ iterator begin()
const_iterator const_begin "begin"()
- void clear()
- bint empty()
- iterator end()
+ void clear()
+ bint empty()
+ iterator end()
const_iterator const_end "end"()
- iterator erase(iterator)
- iterator erase(iterator, iterator)
- T& front()
- iterator insert(iterator, T&)
- void insert(iterator, size_t, T&)
- size_t max_size()
- void merge(list&)
- #void merge(list&, BinPred)
- void pop_back()
- void pop_front()
- void push_back(T&)
- void push_front(T&)
- reverse_iterator rbegin()
+ iterator erase(iterator)
+ iterator erase(iterator, iterator)
+ T& front()
+ iterator insert(iterator, T&)
+ void insert(iterator, size_t, T&)
+ size_t max_size()
+ void merge(list&)
+ #void merge(list&, BinPred)
+ void pop_back()
+ void pop_front()
+ void push_back(T&)
+ void push_front(T&)
+ reverse_iterator rbegin()
const_reverse_iterator const_rbegin "rbegin"()
- void remove(T&)
- #void remove_if(UnPred)
- reverse_iterator rend()
+ void remove(T&)
+ #void remove_if(UnPred)
+ reverse_iterator rend()
const_reverse_iterator const_rend "rend"()
- void resize(size_t, T&)
- void reverse()
- size_t size()
- void sort()
- #void sort(BinPred)
- void splice(iterator, list&)
- void splice(iterator, list&, iterator)
- void splice(iterator, list&, iterator, iterator)
- void swap(list&)
- void unique()
- #void unique(BinPred)
+ void resize(size_t, T&)
+ void reverse()
+ size_t size()
+ void sort()
+ #void sort(BinPred)
+ void splice(iterator, list&)
+ void splice(iterator, list&, iterator)
+ void splice(iterator, list&, iterator, iterator)
+ void swap(list&)
+ void unique()
+ #void unique(BinPred)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/map.pxd b/contrib/tools/cython/Cython/Includes/libcpp/map.pxd
index 624a7ac026..167d467848 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/map.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/map.pxd
@@ -1,68 +1,68 @@
-from .utility cimport pair
-
-cdef extern from "<map>" namespace "std" nogil:
+from .utility cimport pair
+
+cdef extern from "<map>" namespace "std" nogil:
cdef cppclass map[T, U, COMPARE=*, ALLOCATOR=*]:
ctypedef T key_type
ctypedef U mapped_type
ctypedef pair[const T, U] value_type
ctypedef COMPARE key_compare
ctypedef ALLOCATOR allocator_type
- cppclass iterator:
- pair[T, U]& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(iterator)
- bint operator!=(iterator)
- cppclass reverse_iterator:
- pair[T, U]& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(reverse_iterator)
- bint operator!=(reverse_iterator)
+ cppclass iterator:
+ pair[T, U]& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(iterator)
+ bint operator!=(iterator)
+ cppclass reverse_iterator:
+ pair[T, U]& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(reverse_iterator)
+ bint operator!=(reverse_iterator)
cppclass const_iterator(iterator):
pass
cppclass const_reverse_iterator(reverse_iterator):
pass
- map() except +
- map(map&) except +
- #map(key_compare&)
- U& operator[](T&)
- #map& operator=(map&)
- bint operator==(map&, map&)
- bint operator!=(map&, map&)
- bint operator<(map&, map&)
- bint operator>(map&, map&)
- bint operator<=(map&, map&)
- bint operator>=(map&, map&)
+ map() except +
+ map(map&) except +
+ #map(key_compare&)
+ U& operator[](T&)
+ #map& operator=(map&)
+ bint operator==(map&, map&)
+ bint operator!=(map&, map&)
+ bint operator<(map&, map&)
+ bint operator>(map&, map&)
+ bint operator<=(map&, map&)
+ bint operator>=(map&, map&)
U& at(const T&) except +
const U& const_at "at"(const T&) except +
- iterator begin()
- const_iterator const_begin "begin" ()
- void clear()
+ iterator begin()
+ const_iterator const_begin "begin" ()
+ void clear()
size_t count(const T&)
- bint empty()
- iterator end()
- const_iterator const_end "end" ()
+ bint empty()
+ iterator end()
+ const_iterator const_end "end" ()
pair[iterator, iterator] equal_range(const T&)
- #pair[const_iterator, const_iterator] equal_range(key_type&)
- void erase(iterator)
- void erase(iterator, iterator)
+ #pair[const_iterator, const_iterator] equal_range(key_type&)
+ void erase(iterator)
+ void erase(iterator, iterator)
size_t erase(const T&)
iterator find(const T&)
const_iterator const_find "find" (const T&)
pair[iterator, bint] insert(pair[T, U]) except + # XXX pair[T,U]&
iterator insert(iterator, pair[T, U]) except + # XXX pair[T,U]&
- #void insert(input_iterator, input_iterator)
- #key_compare key_comp()
+ #void insert(input_iterator, input_iterator)
+ #key_compare key_comp()
iterator lower_bound(const T&)
const_iterator const_lower_bound "lower_bound"(const T&)
- size_t max_size()
- reverse_iterator rbegin()
+ size_t max_size()
+ reverse_iterator rbegin()
const_reverse_iterator const_rbegin "rbegin"()
- reverse_iterator rend()
+ reverse_iterator rend()
const_reverse_iterator const_rend "rend"()
- size_t size()
- void swap(map&)
+ size_t size()
+ void swap(map&)
iterator upper_bound(const T&)
const_iterator const_upper_bound "upper_bound"(const T&)
- #value_compare value_comp()
+ #value_compare value_comp()
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/pair.pxd b/contrib/tools/cython/Cython/Includes/libcpp/pair.pxd
index 869fe6674d..76a21aba91 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/pair.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/pair.pxd
@@ -1 +1 @@
-from .utility cimport pair
+from .utility cimport pair
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/queue.pxd b/contrib/tools/cython/Cython/Includes/libcpp/queue.pxd
index 578cbd9159..1b4adbbed6 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/queue.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/queue.pxd
@@ -1,25 +1,25 @@
-cdef extern from "<queue>" namespace "std" nogil:
- cdef cppclass queue[T]:
- queue() except +
- queue(queue&) except +
- #queue(Container&)
- T& back()
- bint empty()
- T& front()
- void pop()
- void push(T&)
- size_t size()
+cdef extern from "<queue>" namespace "std" nogil:
+ cdef cppclass queue[T]:
+ queue() except +
+ queue(queue&) except +
+ #queue(Container&)
+ T& back()
+ bint empty()
+ T& front()
+ void pop()
+ void push(T&)
+ size_t size()
# C++11 methods
void swap(queue&)
- cdef cppclass priority_queue[T]:
- priority_queue() except +
- priority_queue(priority_queue&) except +
- #priority_queue(Container&)
- bint empty()
- void pop()
- void push(T&)
- size_t size()
- T& top()
+ cdef cppclass priority_queue[T]:
+ priority_queue() except +
+ priority_queue(priority_queue&) except +
+ #priority_queue(Container&)
+ bint empty()
+ void pop()
+ void push(T&)
+ size_t size()
+ T& top()
# C++11 methods
void swap(priority_queue&)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/set.pxd b/contrib/tools/cython/Cython/Includes/libcpp/set.pxd
index 1069be7466..9d9e0ca66d 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/set.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/set.pxd
@@ -1,61 +1,61 @@
-from .utility cimport pair
-
-cdef extern from "<set>" namespace "std" nogil:
- cdef cppclass set[T]:
+from .utility cimport pair
+
+cdef extern from "<set>" namespace "std" nogil:
+ cdef cppclass set[T]:
ctypedef T value_type
- cppclass iterator:
- T& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(iterator)
- bint operator!=(iterator)
- cppclass reverse_iterator:
- T& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(reverse_iterator)
- bint operator!=(reverse_iterator)
+ cppclass iterator:
+ T& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(iterator)
+ bint operator!=(iterator)
+ cppclass reverse_iterator:
+ T& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(reverse_iterator)
+ bint operator!=(reverse_iterator)
cppclass const_iterator(iterator):
pass
cppclass const_reverse_iterator(reverse_iterator):
pass
- set() except +
- set(set&) except +
- #set(key_compare&)
- #set& operator=(set&)
- bint operator==(set&, set&)
- bint operator!=(set&, set&)
- bint operator<(set&, set&)
- bint operator>(set&, set&)
- bint operator<=(set&, set&)
- bint operator>=(set&, set&)
- iterator begin()
+ set() except +
+ set(set&) except +
+ #set(key_compare&)
+ #set& operator=(set&)
+ bint operator==(set&, set&)
+ bint operator!=(set&, set&)
+ bint operator<(set&, set&)
+ bint operator>(set&, set&)
+ bint operator<=(set&, set&)
+ bint operator>=(set&, set&)
+ iterator begin()
const_iterator const_begin "begin"()
- void clear()
+ void clear()
size_t count(const T&)
- bint empty()
- iterator end()
+ bint empty()
+ iterator end()
const_iterator const_end "end"()
pair[iterator, iterator] equal_range(const T&)
- #pair[const_iterator, const_iterator] equal_range(T&)
+ #pair[const_iterator, const_iterator] equal_range(T&)
iterator erase(iterator)
iterator erase(iterator, iterator)
- size_t erase(T&)
- iterator find(T&)
+ size_t erase(T&)
+ iterator find(T&)
const_iterator const_find "find"(T&)
pair[iterator, bint] insert(const T&) except +
iterator insert(iterator, const T&) except +
void insert(iterator, iterator) except +
- #key_compare key_comp()
- iterator lower_bound(T&)
+ #key_compare key_comp()
+ iterator lower_bound(T&)
const_iterator const_lower_bound "lower_bound"(T&)
- size_t max_size()
- reverse_iterator rbegin()
+ size_t max_size()
+ reverse_iterator rbegin()
const_reverse_iterator const_rbegin "rbegin"()
- reverse_iterator rend()
+ reverse_iterator rend()
const_reverse_iterator const_rend "rend"()
- size_t size()
- void swap(set&)
+ size_t size()
+ void swap(set&)
iterator upper_bound(const T&)
const_iterator const_upper_bound "upper_bound"(const T&)
- #value_compare value_comp()
+ #value_compare value_comp()
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/stack.pxd b/contrib/tools/cython/Cython/Includes/libcpp/stack.pxd
index 2dc80992b7..923823e3ec 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/stack.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/stack.pxd
@@ -1,11 +1,11 @@
-cdef extern from "<stack>" namespace "std" nogil:
- cdef cppclass stack[T]:
+cdef extern from "<stack>" namespace "std" nogil:
+ cdef cppclass stack[T]:
ctypedef T value_type
- stack() except +
- stack(stack&) except +
- #stack(Container&)
- bint empty()
- void pop()
- void push(T&)
- size_t size()
- T& top()
+ stack() except +
+ stack(stack&) except +
+ #stack(Container&)
+ bint empty()
+ void pop()
+ void push(T&)
+ size_t size()
+ T& top()
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/string.pxd b/contrib/tools/cython/Cython/Includes/libcpp/string.pxd
index a894144f1f..5f965e8d97 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/string.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/string.pxd
@@ -1,13 +1,13 @@
-
-# deprecated cimport for backwards compatibility:
-from libc.string cimport const_char
-
+
+# deprecated cimport for backwards compatibility:
+from libc.string cimport const_char
+
cdef extern from "<string>" namespace "std::string" nogil:
const size_t npos
-
-cdef extern from "<string>" namespace "std" nogil:
- cdef cppclass string:
-
+
+cdef extern from "<string>" namespace "std" nogil:
+ cdef cppclass string:
+
cppclass iterator:
iterator()
char& operator*()
@@ -54,19 +54,19 @@ cdef extern from "<string>" namespace "std" nogil:
reverse_iterator rend()
const_reverse_iterator const_rend "rend"()
- const char* c_str()
- const char* data()
- size_t size()
- size_t max_size()
- size_t length()
+ const char* c_str()
+ const char* data()
+ size_t size()
+ size_t max_size()
+ size_t length()
void resize(size_t) except +
void resize(size_t, char) except +
void shrink_to_fit() except +
- size_t capacity()
+ size_t capacity()
void reserve(size_t) except +
- void clear()
- bint empty()
-
+ void clear()
+ bint empty()
+
iterator erase(iterator first, iterator last)
iterator erase(iterator p)
iterator erase(const_iterator first, const_iterator last)
@@ -74,7 +74,7 @@ cdef extern from "<string>" namespace "std" nogil:
string& erase(size_t pos, size_t len) except +
string& erase(size_t pos) except +
string& erase() except +
-
+
char& at(size_t pos) except +
char& operator[](size_t pos)
char& front()
@@ -85,22 +85,22 @@ cdef extern from "<string>" namespace "std" nogil:
int compare(const char* s) except +
int compare(size_t pos, size_t len, const char* s) except +
int compare(size_t pos, size_t len, const char* s , size_t n) except +
-
+
string& append(const string& s) except +
string& append(const string& s, size_t subpos, size_t sublen) except +
string& append(const char* s) except +
string& append(const char* s, size_t n) except +
string& append(size_t n, char c) except +
-
+
void push_back(char c) except +
void pop_back()
-
+
string& assign(const string& s) except +
string& assign(const string& s, size_t subpos, size_t sublen) except +
string& assign(const char* s, size_t n) except +
string& assign(const char* s) except +
string& assign(size_t n, char c) except +
-
+
string& insert(size_t pos, const string& s, size_t subpos, size_t sublen) except +
string& insert(size_t pos, const string& s) except +
string& insert(size_t pos, const char* s, size_t n) except +
@@ -108,10 +108,10 @@ cdef extern from "<string>" namespace "std" nogil:
string& insert(size_t pos, size_t n, char c) except +
void insert(iterator p, size_t n, char c) except +
iterator insert(iterator p, char c) except +
-
+
size_t copy(char* s, size_t len, size_t pos) except +
size_t copy(char* s, size_t len) except +
-
+
size_t find(const string& s, size_t pos)
size_t find(const string& s)
size_t find(const char* s, size_t pos, size_t n)
@@ -119,39 +119,39 @@ cdef extern from "<string>" namespace "std" nogil:
size_t find(const char* s)
size_t find(char c, size_t pos)
size_t find(char c)
-
+
size_t rfind(const string&, size_t pos)
size_t rfind(const string&)
size_t rfind(const char* s, size_t pos, size_t n)
size_t rfind(const char* s, size_t pos)
size_t rfind(const char* s)
size_t rfind(char c, size_t pos)
- size_t rfind(char c)
-
+ size_t rfind(char c)
+
size_t find_first_of(const string&, size_t pos)
size_t find_first_of(const string&)
size_t find_first_of(const char* s, size_t pos, size_t n)
size_t find_first_of(const char* s, size_t pos)
size_t find_first_of(const char* s)
size_t find_first_of(char c, size_t pos)
- size_t find_first_of(char c)
-
+ size_t find_first_of(char c)
+
size_t find_first_not_of(const string& s, size_t pos)
size_t find_first_not_of(const string& s)
size_t find_first_not_of(const char* s, size_t pos, size_t n)
size_t find_first_not_of(const char* s, size_t pos)
size_t find_first_not_of(const char*)
size_t find_first_not_of(char c, size_t pos)
- size_t find_first_not_of(char c)
-
+ size_t find_first_not_of(char c)
+
size_t find_last_of(const string& s, size_t pos)
size_t find_last_of(const string& s)
size_t find_last_of(const char* s, size_t pos, size_t n)
size_t find_last_of(const char* s, size_t pos)
size_t find_last_of(const char* s)
size_t find_last_of(char c, size_t pos)
- size_t find_last_of(char c)
-
+ size_t find_last_of(char c)
+
size_t find_last_not_of(const string& s, size_t pos)
size_t find_last_not_of(const string& s)
size_t find_last_not_of(const char* s, size_t pos, size_t n)
@@ -159,33 +159,33 @@ cdef extern from "<string>" namespace "std" nogil:
size_t find_last_not_of(const char* s)
size_t find_last_not_of(char c, size_t pos)
size_t find_last_not_of(char c)
-
+
string substr(size_t pos, size_t len) except +
string substr(size_t pos) except +
- string substr()
-
+ string substr()
+
#string& operator= (const string&)
#string& operator= (const char*)
- #string& operator= (char)
-
+ #string& operator= (char)
+
string operator+ (const string&) except +
string operator+ (const char*) except +
-
+
bint operator==(const string&)
bint operator==(const char*)
-
+
bint operator!= (const string&)
bint operator!= (const char*)
-
+
bint operator< (const string&)
bint operator< (const char*)
-
+
bint operator> (const string&)
bint operator> (const char*)
-
+
bint operator<= (const string&)
bint operator<= (const char*)
-
+
bint operator>= (const string&)
bint operator>= (const char*)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/unordered_map.pxd b/contrib/tools/cython/Cython/Includes/libcpp/unordered_map.pxd
index a00fbbed28..370710abe0 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/unordered_map.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/unordered_map.pxd
@@ -1,69 +1,69 @@
-from .utility cimport pair
-
-cdef extern from "<unordered_map>" namespace "std" nogil:
+from .utility cimport pair
+
+cdef extern from "<unordered_map>" namespace "std" nogil:
cdef cppclass unordered_map[T, U, HASH=*, PRED=*, ALLOCATOR=*]:
ctypedef T key_type
ctypedef U mapped_type
ctypedef pair[const T, U] value_type
- cppclass iterator:
- pair[T, U]& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(iterator)
- bint operator!=(iterator)
- cppclass reverse_iterator:
- pair[T, U]& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(reverse_iterator)
- bint operator!=(reverse_iterator)
+ cppclass iterator:
+ pair[T, U]& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(iterator)
+ bint operator!=(iterator)
+ cppclass reverse_iterator:
+ pair[T, U]& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(reverse_iterator)
+ bint operator!=(reverse_iterator)
cppclass const_iterator(iterator):
pass
cppclass const_reverse_iterator(reverse_iterator):
pass
- unordered_map() except +
- unordered_map(unordered_map&) except +
- #unordered_map(key_compare&)
- U& operator[](T&)
- #unordered_map& operator=(unordered_map&)
- bint operator==(unordered_map&, unordered_map&)
- bint operator!=(unordered_map&, unordered_map&)
- bint operator<(unordered_map&, unordered_map&)
- bint operator>(unordered_map&, unordered_map&)
- bint operator<=(unordered_map&, unordered_map&)
- bint operator>=(unordered_map&, unordered_map&)
+ unordered_map() except +
+ unordered_map(unordered_map&) except +
+ #unordered_map(key_compare&)
+ U& operator[](T&)
+ #unordered_map& operator=(unordered_map&)
+ bint operator==(unordered_map&, unordered_map&)
+ bint operator!=(unordered_map&, unordered_map&)
+ bint operator<(unordered_map&, unordered_map&)
+ bint operator>(unordered_map&, unordered_map&)
+ bint operator<=(unordered_map&, unordered_map&)
+ bint operator>=(unordered_map&, unordered_map&)
U& at(const T&)
const U& const_at "at"(const T&)
- iterator begin()
+ iterator begin()
const_iterator const_begin "begin"()
- void clear()
- size_t count(T&)
- bint empty()
- iterator end()
+ void clear()
+ size_t count(T&)
+ bint empty()
+ iterator end()
const_iterator const_end "end"()
- pair[iterator, iterator] equal_range(T&)
+ pair[iterator, iterator] equal_range(T&)
pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
iterator erase(iterator)
iterator erase(iterator, iterator)
- size_t erase(T&)
- iterator find(T&)
+ size_t erase(T&)
+ iterator find(T&)
const_iterator const_find "find"(T&)
- pair[iterator, bint] insert(pair[T, U]) # XXX pair[T,U]&
- iterator insert(iterator, pair[T, U]) # XXX pair[T,U]&
+ pair[iterator, bint] insert(pair[T, U]) # XXX pair[T,U]&
+ iterator insert(iterator, pair[T, U]) # XXX pair[T,U]&
iterator insert(iterator, iterator)
- #key_compare key_comp()
- iterator lower_bound(T&)
+ #key_compare key_comp()
+ iterator lower_bound(T&)
const_iterator const_lower_bound "lower_bound"(T&)
- size_t max_size()
- reverse_iterator rbegin()
+ size_t max_size()
+ reverse_iterator rbegin()
const_reverse_iterator const_rbegin "rbegin"()
- reverse_iterator rend()
+ reverse_iterator rend()
const_reverse_iterator const_rend "rend"()
- size_t size()
- void swap(unordered_map&)
- iterator upper_bound(T&)
+ size_t size()
+ void swap(unordered_map&)
+ iterator upper_bound(T&)
const_iterator const_upper_bound "upper_bound"(T&)
- #value_compare value_comp()
+ #value_compare value_comp()
void max_load_factor(float)
float max_load_factor()
void rehash(size_t)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/unordered_set.pxd b/contrib/tools/cython/Cython/Includes/libcpp/unordered_set.pxd
index 5aa2417528..9379003a45 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/unordered_set.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/unordered_set.pxd
@@ -1,64 +1,64 @@
-from .utility cimport pair
-
-cdef extern from "<unordered_set>" namespace "std" nogil:
+from .utility cimport pair
+
+cdef extern from "<unordered_set>" namespace "std" nogil:
cdef cppclass unordered_set[T,HASH=*,PRED=*,ALLOCATOR=*]:
ctypedef T value_type
- cppclass iterator:
- T& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(iterator)
- bint operator!=(iterator)
- cppclass reverse_iterator:
- T& operator*()
- iterator operator++()
- iterator operator--()
- bint operator==(reverse_iterator)
- bint operator!=(reverse_iterator)
+ cppclass iterator:
+ T& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(iterator)
+ bint operator!=(iterator)
+ cppclass reverse_iterator:
+ T& operator*()
+ iterator operator++()
+ iterator operator--()
+ bint operator==(reverse_iterator)
+ bint operator!=(reverse_iterator)
cppclass const_iterator(iterator):
pass
cppclass const_reverse_iterator(reverse_iterator):
pass
- unordered_set() except +
- unordered_set(unordered_set&) except +
- #unordered_set(key_compare&)
- #unordered_set& operator=(unordered_set&)
- bint operator==(unordered_set&, unordered_set&)
- bint operator!=(unordered_set&, unordered_set&)
- bint operator<(unordered_set&, unordered_set&)
- bint operator>(unordered_set&, unordered_set&)
- bint operator<=(unordered_set&, unordered_set&)
- bint operator>=(unordered_set&, unordered_set&)
- iterator begin()
+ unordered_set() except +
+ unordered_set(unordered_set&) except +
+ #unordered_set(key_compare&)
+ #unordered_set& operator=(unordered_set&)
+ bint operator==(unordered_set&, unordered_set&)
+ bint operator!=(unordered_set&, unordered_set&)
+ bint operator<(unordered_set&, unordered_set&)
+ bint operator>(unordered_set&, unordered_set&)
+ bint operator<=(unordered_set&, unordered_set&)
+ bint operator>=(unordered_set&, unordered_set&)
+ iterator begin()
const_iterator const_begin "begin"()
- void clear()
- size_t count(T&)
- bint empty()
- iterator end()
+ void clear()
+ size_t count(T&)
+ bint empty()
+ iterator end()
const_iterator const_end "end"()
- pair[iterator, iterator] equal_range(T&)
+ pair[iterator, iterator] equal_range(T&)
pair[const_iterator, const_iterator] const_equal_range "equal_range"(T&)
iterator erase(iterator)
iterator erase(iterator, iterator)
- size_t erase(T&)
- iterator find(T&)
+ size_t erase(T&)
+ iterator find(T&)
const_iterator const_find "find"(T&)
- pair[iterator, bint] insert(T&)
- iterator insert(iterator, T&)
- #key_compare key_comp()
+ pair[iterator, bint] insert(T&)
+ iterator insert(iterator, T&)
+ #key_compare key_comp()
iterator insert(iterator, iterator)
- iterator lower_bound(T&)
+ iterator lower_bound(T&)
const_iterator const_lower_bound "lower_bound"(T&)
- size_t max_size()
- reverse_iterator rbegin()
+ size_t max_size()
+ reverse_iterator rbegin()
const_reverse_iterator const_rbegin "rbegin"()
- reverse_iterator rend()
+ reverse_iterator rend()
const_reverse_iterator const_rend "rend"()
- size_t size()
- void swap(unordered_set&)
- iterator upper_bound(T&)
+ size_t size()
+ void swap(unordered_set&)
+ iterator upper_bound(T&)
const_iterator const_upper_bound "upper_bound"(T&)
- #value_compare value_comp()
+ #value_compare value_comp()
void max_load_factor(float)
float max_load_factor()
void rehash(size_t)
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/utility.pxd b/contrib/tools/cython/Cython/Includes/libcpp/utility.pxd
index e0df69b166..82bd11e42f 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/utility.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/utility.pxd
@@ -1,18 +1,18 @@
-cdef extern from "<utility>" namespace "std" nogil:
- cdef cppclass pair[T, U]:
+cdef extern from "<utility>" namespace "std" nogil:
+ cdef cppclass pair[T, U]:
ctypedef T first_type
ctypedef U second_type
- T first
- U second
- pair() except +
- pair(pair&) except +
- pair(T&, U&) except +
- bint operator==(pair&, pair&)
- bint operator!=(pair&, pair&)
- bint operator<(pair&, pair&)
- bint operator>(pair&, pair&)
- bint operator<=(pair&, pair&)
- bint operator>=(pair&, pair&)
+ T first
+ U second
+ pair() except +
+ pair(pair&) except +
+ pair(T&, U&) except +
+ bint operator==(pair&, pair&)
+ bint operator!=(pair&, pair&)
+ bint operator<(pair&, pair&)
+ bint operator>(pair&, pair&)
+ bint operator<=(pair&, pair&)
+ bint operator>=(pair&, pair&)
cdef extern from * namespace "cython_std" nogil:
"""
diff --git a/contrib/tools/cython/Cython/Includes/libcpp/vector.pxd b/contrib/tools/cython/Cython/Includes/libcpp/vector.pxd
index 9b007dd0c7..1ec22706b2 100644
--- a/contrib/tools/cython/Cython/Includes/libcpp/vector.pxd
+++ b/contrib/tools/cython/Cython/Includes/libcpp/vector.pxd
@@ -1,4 +1,4 @@
-cdef extern from "<vector>" namespace "std" nogil:
+cdef extern from "<vector>" namespace "std" nogil:
cdef cppclass vector[T,ALLOCATOR=*]:
ctypedef T value_type
ctypedef ALLOCATOR allocator_type
@@ -9,80 +9,80 @@ cdef extern from "<vector>" namespace "std" nogil:
ctypedef size_t size_type
ctypedef ptrdiff_t difference_type
- cppclass iterator:
- T& operator*()
- iterator operator++()
- iterator operator--()
+ cppclass iterator:
+ T& operator*()
+ iterator operator++()
+ iterator operator--()
iterator operator+(size_type)
iterator operator-(size_type)
difference_type operator-(iterator)
- bint operator==(iterator)
- bint operator!=(iterator)
- bint operator<(iterator)
- bint operator>(iterator)
- bint operator<=(iterator)
- bint operator>=(iterator)
- cppclass reverse_iterator:
- T& operator*()
+ bint operator==(iterator)
+ bint operator!=(iterator)
+ bint operator<(iterator)
+ bint operator>(iterator)
+ bint operator<=(iterator)
+ bint operator>=(iterator)
+ cppclass reverse_iterator:
+ T& operator*()
reverse_iterator operator++()
reverse_iterator operator--()
reverse_iterator operator+(size_type)
reverse_iterator operator-(size_type)
difference_type operator-(reverse_iterator)
- bint operator==(reverse_iterator)
- bint operator!=(reverse_iterator)
- bint operator<(reverse_iterator)
- bint operator>(reverse_iterator)
- bint operator<=(reverse_iterator)
- bint operator>=(reverse_iterator)
+ bint operator==(reverse_iterator)
+ bint operator!=(reverse_iterator)
+ bint operator<(reverse_iterator)
+ bint operator>(reverse_iterator)
+ bint operator<=(reverse_iterator)
+ bint operator>=(reverse_iterator)
cppclass const_iterator(iterator):
pass
cppclass const_reverse_iterator(reverse_iterator):
pass
- vector() except +
- vector(vector&) except +
+ vector() except +
+ vector(vector&) except +
vector(size_type) except +
vector(size_type, T&) except +
- #vector[input_iterator](input_iterator, input_iterator)
+ #vector[input_iterator](input_iterator, input_iterator)
T& operator[](size_type)
- #vector& operator=(vector&)
- bint operator==(vector&, vector&)
- bint operator!=(vector&, vector&)
- bint operator<(vector&, vector&)
- bint operator>(vector&, vector&)
- bint operator<=(vector&, vector&)
- bint operator>=(vector&, vector&)
+ #vector& operator=(vector&)
+ bint operator==(vector&, vector&)
+ bint operator!=(vector&, vector&)
+ bint operator<(vector&, vector&)
+ bint operator>(vector&, vector&)
+ bint operator<=(vector&, vector&)
+ bint operator>=(vector&, vector&)
void assign(size_type, const T&)
void assign[input_iterator](input_iterator, input_iterator) except +
T& at(size_type) except +
- T& back()
- iterator begin()
+ T& back()
+ iterator begin()
const_iterator const_begin "begin"()
size_type capacity()
- void clear()
- bint empty()
- iterator end()
+ void clear()
+ bint empty()
+ iterator end()
const_iterator const_end "end"()
- iterator erase(iterator)
- iterator erase(iterator, iterator)
- T& front()
+ iterator erase(iterator)
+ iterator erase(iterator, iterator)
+ T& front()
iterator insert(iterator, const T&) except +
iterator insert(iterator, size_type, const T&) except +
iterator insert[Iter](iterator, Iter, Iter) except +
size_type max_size()
- void pop_back()
+ void pop_back()
void push_back(T&) except +
- reverse_iterator rbegin()
+ reverse_iterator rbegin()
const_reverse_iterator const_rbegin "crbegin"()
- reverse_iterator rend()
+ reverse_iterator rend()
const_reverse_iterator const_rend "crend"()
void reserve(size_type)
void resize(size_type) except +
void resize(size_type, T&) except +
size_type size()
- void swap(vector&)
+ void swap(vector&)
# C++11 methods
- T* data()
+ T* data()
const T* const_data "data"()
- void shrink_to_fit()
+ void shrink_to_fit()
diff --git a/contrib/tools/cython/Cython/Includes/numpy.pxd b/contrib/tools/cython/Cython/Includes/numpy.pxd
index 789669dac1..d8296d6643 100644
--- a/contrib/tools/cython/Cython/Includes/numpy.pxd
+++ b/contrib/tools/cython/Cython/Includes/numpy.pxd
@@ -1,97 +1,97 @@
-# NumPy static imports for Cython
-#
-# If any of the PyArray_* functions are called, import_array must be
-# called first.
-#
+# NumPy static imports for Cython
+#
+# If any of the PyArray_* functions are called, import_array must be
+# called first.
+#
# This also defines backwards-compatibility buffer acquisition
-# code for use in Python 2.x (or Python <= 2.5 when NumPy starts
-# implementing PEP-3118 directly).
-#
-# Because of laziness, the format string of the buffer is statically
-# allocated. Increase the size if this is not enough, or submit a
-# patch to do this properly.
-#
-# Author: Dag Sverre Seljebotn
-#
-
-DEF _buffer_format_string_len = 255
-
-cimport cpython.buffer as pybuf
+# code for use in Python 2.x (or Python <= 2.5 when NumPy starts
+# implementing PEP-3118 directly).
+#
+# Because of laziness, the format string of the buffer is statically
+# allocated. Increase the size if this is not enough, or submit a
+# patch to do this properly.
+#
+# Author: Dag Sverre Seljebotn
+#
+
+DEF _buffer_format_string_len = 255
+
+cimport cpython.buffer as pybuf
from cpython.ref cimport Py_INCREF
from cpython.mem cimport PyObject_Malloc, PyObject_Free
from cpython.object cimport PyObject, PyTypeObject
-from cpython.type cimport type
-cimport libc.stdio as stdio
-
-cdef extern from "Python.h":
- ctypedef int Py_intptr_t
-
-cdef extern from "numpy/arrayobject.h":
- ctypedef Py_intptr_t npy_intp
- ctypedef size_t npy_uintp
-
- cdef enum NPY_TYPES:
- NPY_BOOL
- NPY_BYTE
- NPY_UBYTE
- NPY_SHORT
- NPY_USHORT
- NPY_INT
- NPY_UINT
- NPY_LONG
- NPY_ULONG
- NPY_LONGLONG
- NPY_ULONGLONG
- NPY_FLOAT
- NPY_DOUBLE
- NPY_LONGDOUBLE
- NPY_CFLOAT
- NPY_CDOUBLE
- NPY_CLONGDOUBLE
- NPY_OBJECT
- NPY_STRING
- NPY_UNICODE
- NPY_VOID
+from cpython.type cimport type
+cimport libc.stdio as stdio
+
+cdef extern from "Python.h":
+ ctypedef int Py_intptr_t
+
+cdef extern from "numpy/arrayobject.h":
+ ctypedef Py_intptr_t npy_intp
+ ctypedef size_t npy_uintp
+
+ cdef enum NPY_TYPES:
+ NPY_BOOL
+ NPY_BYTE
+ NPY_UBYTE
+ NPY_SHORT
+ NPY_USHORT
+ NPY_INT
+ NPY_UINT
+ NPY_LONG
+ NPY_ULONG
+ NPY_LONGLONG
+ NPY_ULONGLONG
+ NPY_FLOAT
+ NPY_DOUBLE
+ NPY_LONGDOUBLE
+ NPY_CFLOAT
+ NPY_CDOUBLE
+ NPY_CLONGDOUBLE
+ NPY_OBJECT
+ NPY_STRING
+ NPY_UNICODE
+ NPY_VOID
NPY_DATETIME
NPY_TIMEDELTA
- NPY_NTYPES
- NPY_NOTYPE
-
- NPY_INT8
- NPY_INT16
- NPY_INT32
- NPY_INT64
- NPY_INT128
- NPY_INT256
- NPY_UINT8
- NPY_UINT16
- NPY_UINT32
- NPY_UINT64
- NPY_UINT128
- NPY_UINT256
- NPY_FLOAT16
- NPY_FLOAT32
- NPY_FLOAT64
- NPY_FLOAT80
- NPY_FLOAT96
- NPY_FLOAT128
- NPY_FLOAT256
- NPY_COMPLEX32
- NPY_COMPLEX64
- NPY_COMPLEX128
- NPY_COMPLEX160
- NPY_COMPLEX192
- NPY_COMPLEX256
- NPY_COMPLEX512
-
- NPY_INTP
-
- ctypedef enum NPY_ORDER:
- NPY_ANYORDER
- NPY_CORDER
- NPY_FORTRANORDER
+ NPY_NTYPES
+ NPY_NOTYPE
+
+ NPY_INT8
+ NPY_INT16
+ NPY_INT32
+ NPY_INT64
+ NPY_INT128
+ NPY_INT256
+ NPY_UINT8
+ NPY_UINT16
+ NPY_UINT32
+ NPY_UINT64
+ NPY_UINT128
+ NPY_UINT256
+ NPY_FLOAT16
+ NPY_FLOAT32
+ NPY_FLOAT64
+ NPY_FLOAT80
+ NPY_FLOAT96
+ NPY_FLOAT128
+ NPY_FLOAT256
+ NPY_COMPLEX32
+ NPY_COMPLEX64
+ NPY_COMPLEX128
+ NPY_COMPLEX160
+ NPY_COMPLEX192
+ NPY_COMPLEX256
+ NPY_COMPLEX512
+
+ NPY_INTP
+
+ ctypedef enum NPY_ORDER:
+ NPY_ANYORDER
+ NPY_CORDER
+ NPY_FORTRANORDER
NPY_KEEPORDER
-
+
ctypedef enum NPY_CASTING:
NPY_NO_CASTING
NPY_EQUIV_CASTING
@@ -99,63 +99,63 @@ cdef extern from "numpy/arrayobject.h":
NPY_SAME_KIND_CASTING
NPY_UNSAFE_CASTING
- ctypedef enum NPY_CLIPMODE:
- NPY_CLIP
- NPY_WRAP
- NPY_RAISE
-
- ctypedef enum NPY_SCALARKIND:
- NPY_NOSCALAR,
- NPY_BOOL_SCALAR,
- NPY_INTPOS_SCALAR,
- NPY_INTNEG_SCALAR,
- NPY_FLOAT_SCALAR,
- NPY_COMPLEX_SCALAR,
- NPY_OBJECT_SCALAR
-
- ctypedef enum NPY_SORTKIND:
- NPY_QUICKSORT
- NPY_HEAPSORT
- NPY_MERGESORT
-
- ctypedef enum NPY_SEARCHSIDE:
- NPY_SEARCHLEFT
- NPY_SEARCHRIGHT
-
- enum:
+ ctypedef enum NPY_CLIPMODE:
+ NPY_CLIP
+ NPY_WRAP
+ NPY_RAISE
+
+ ctypedef enum NPY_SCALARKIND:
+ NPY_NOSCALAR,
+ NPY_BOOL_SCALAR,
+ NPY_INTPOS_SCALAR,
+ NPY_INTNEG_SCALAR,
+ NPY_FLOAT_SCALAR,
+ NPY_COMPLEX_SCALAR,
+ NPY_OBJECT_SCALAR
+
+ ctypedef enum NPY_SORTKIND:
+ NPY_QUICKSORT
+ NPY_HEAPSORT
+ NPY_MERGESORT
+
+ ctypedef enum NPY_SEARCHSIDE:
+ NPY_SEARCHLEFT
+ NPY_SEARCHRIGHT
+
+ enum:
# DEPRECATED since NumPy 1.7 ! Do not use in new code!
- NPY_C_CONTIGUOUS
- NPY_F_CONTIGUOUS
- NPY_CONTIGUOUS
- NPY_FORTRAN
- NPY_OWNDATA
- NPY_FORCECAST
- NPY_ENSURECOPY
- NPY_ENSUREARRAY
- NPY_ELEMENTSTRIDES
- NPY_ALIGNED
- NPY_NOTSWAPPED
- NPY_WRITEABLE
- NPY_UPDATEIFCOPY
- NPY_ARR_HAS_DESCR
-
- NPY_BEHAVED
- NPY_BEHAVED_NS
- NPY_CARRAY
- NPY_CARRAY_RO
- NPY_FARRAY
- NPY_FARRAY_RO
- NPY_DEFAULT
-
- NPY_IN_ARRAY
- NPY_OUT_ARRAY
- NPY_INOUT_ARRAY
- NPY_IN_FARRAY
- NPY_OUT_FARRAY
- NPY_INOUT_FARRAY
-
- NPY_UPDATE_ALL
-
+ NPY_C_CONTIGUOUS
+ NPY_F_CONTIGUOUS
+ NPY_CONTIGUOUS
+ NPY_FORTRAN
+ NPY_OWNDATA
+ NPY_FORCECAST
+ NPY_ENSURECOPY
+ NPY_ENSUREARRAY
+ NPY_ELEMENTSTRIDES
+ NPY_ALIGNED
+ NPY_NOTSWAPPED
+ NPY_WRITEABLE
+ NPY_UPDATEIFCOPY
+ NPY_ARR_HAS_DESCR
+
+ NPY_BEHAVED
+ NPY_BEHAVED_NS
+ NPY_CARRAY
+ NPY_CARRAY_RO
+ NPY_FARRAY
+ NPY_FARRAY_RO
+ NPY_DEFAULT
+
+ NPY_IN_ARRAY
+ NPY_OUT_ARRAY
+ NPY_INOUT_ARRAY
+ NPY_IN_FARRAY
+ NPY_OUT_FARRAY
+ NPY_INOUT_FARRAY
+
+ NPY_UPDATE_ALL
+
enum:
# Added in NumPy 1.7 to replace the deprecated enums above.
NPY_ARRAY_C_CONTIGUOUS
@@ -187,13 +187,13 @@ cdef extern from "numpy/arrayobject.h":
NPY_ARRAY_UPDATE_ALL
- cdef enum:
- NPY_MAXDIMS
-
- npy_intp NPY_MAX_ELSIZE
-
- ctypedef void (*PyArray_VectorUnaryFunc)(void *, void *, npy_intp, void *, void *)
-
+ cdef enum:
+ NPY_MAXDIMS
+
+ npy_intp NPY_MAX_ELSIZE
+
+ ctypedef void (*PyArray_VectorUnaryFunc)(void *, void *, npy_intp, void *, void *)
+
ctypedef struct PyArray_ArrayDescr:
# shape is a tuple, but Cython doesn't support "tuple shape"
# inside a non-PyObject declaration, so we have to declare it
@@ -204,7 +204,7 @@ cdef extern from "numpy/arrayobject.h":
pass
ctypedef class numpy.dtype [object PyArray_Descr, check_size ignore]:
- # Use PyDataType_* macros when possible, however there are no macros
+ # Use PyDataType_* macros when possible, however there are no macros
# for accessing some of the fields, so some are defined.
cdef PyTypeObject* typeobj
cdef char kind
@@ -216,817 +216,817 @@ cdef extern from "numpy/arrayobject.h":
# directly accessing this field.
cdef char byteorder
cdef char flags
- cdef int type_num
- cdef int itemsize "elsize"
+ cdef int type_num
+ cdef int itemsize "elsize"
cdef int alignment
cdef dict fields
- cdef tuple names
+ cdef tuple names
# Use PyDataType_HASSUBARRAY to test whether this field is
# valid (the pointer can be NULL). Most users should access
# this field via the inline helper method PyDataType_SHAPE.
cdef PyArray_ArrayDescr* subarray
-
- ctypedef extern class numpy.flatiter [object PyArrayIterObject]:
- # Use through macros
- pass
-
- ctypedef extern class numpy.broadcast [object PyArrayMultiIterObject]:
- # Use through macros
- pass
-
- ctypedef struct PyArrayObject:
- # For use in situations where ndarray can't replace PyArrayObject*,
- # like PyArrayObject**.
- pass
-
+
+ ctypedef extern class numpy.flatiter [object PyArrayIterObject]:
+ # Use through macros
+ pass
+
+ ctypedef extern class numpy.broadcast [object PyArrayMultiIterObject]:
+ # Use through macros
+ pass
+
+ ctypedef struct PyArrayObject:
+ # For use in situations where ndarray can't replace PyArrayObject*,
+ # like PyArrayObject**.
+ pass
+
ctypedef class numpy.ndarray [object PyArrayObject, check_size ignore]:
- cdef __cythonbufferdefaults__ = {"mode": "strided"}
-
- cdef:
- # Only taking a few of the most commonly used and stable fields.
- # One should use PyArray_* macros instead to access the C fields.
- char *data
- int ndim "nd"
- npy_intp *shape "dimensions"
- npy_intp *strides
+ cdef __cythonbufferdefaults__ = {"mode": "strided"}
+
+ cdef:
+ # Only taking a few of the most commonly used and stable fields.
+ # One should use PyArray_* macros instead to access the C fields.
+ char *data
+ int ndim "nd"
+ npy_intp *shape "dimensions"
+ npy_intp *strides
dtype descr # deprecated since NumPy 1.7 !
- PyObject* base
-
- # Note: This syntax (function definition in pxd files) is an
- # experimental exception made for __getbuffer__ and __releasebuffer__
- # -- the details of this may change.
- def __getbuffer__(ndarray self, Py_buffer* info, int flags):
- # This implementation of getbuffer is geared towards Cython
+ PyObject* base
+
+ # Note: This syntax (function definition in pxd files) is an
+ # experimental exception made for __getbuffer__ and __releasebuffer__
+ # -- the details of this may change.
+ def __getbuffer__(ndarray self, Py_buffer* info, int flags):
+ # This implementation of getbuffer is geared towards Cython
# requirements, and does not yet fulfill the PEP.
- # In particular strided access is always provided regardless
- # of flags
-
+ # In particular strided access is always provided regardless
+ # of flags
+
cdef int i, ndim
- cdef int endian_detector = 1
- cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
-
- ndim = PyArray_NDIM(self)
-
- if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ cdef int endian_detector = 1
+ cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+
+ ndim = PyArray_NDIM(self)
+
+ if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
- raise ValueError(u"ndarray is not C contiguous")
-
- if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ raise ValueError(u"ndarray is not C contiguous")
+
+ if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
- raise ValueError(u"ndarray is not Fortran contiguous")
-
- info.buf = PyArray_DATA(self)
- info.ndim = ndim
+ raise ValueError(u"ndarray is not Fortran contiguous")
+
+ info.buf = PyArray_DATA(self)
+ info.ndim = ndim
if sizeof(npy_intp) != sizeof(Py_ssize_t):
- # Allocate new buffer for strides and shape info.
- # This is allocated as one block, strides first.
+ # Allocate new buffer for strides and shape info.
+ # This is allocated as one block, strides first.
info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
- info.shape = info.strides + ndim
- for i in range(ndim):
- info.strides[i] = PyArray_STRIDES(self)[i]
- info.shape[i] = PyArray_DIMS(self)[i]
- else:
- info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
- info.shape = <Py_ssize_t*>PyArray_DIMS(self)
- info.suboffsets = NULL
- info.itemsize = PyArray_ITEMSIZE(self)
- info.readonly = not PyArray_ISWRITEABLE(self)
-
- cdef int t
- cdef char* f = NULL
+ info.shape = info.strides + ndim
+ for i in range(ndim):
+ info.strides[i] = PyArray_STRIDES(self)[i]
+ info.shape[i] = PyArray_DIMS(self)[i]
+ else:
+ info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ info.suboffsets = NULL
+ info.itemsize = PyArray_ITEMSIZE(self)
+ info.readonly = not PyArray_ISWRITEABLE(self)
+
+ cdef int t
+ cdef char* f = NULL
cdef dtype descr = <dtype>PyArray_DESCR(self)
- cdef int offset
-
+ cdef int offset
+
info.obj = self
-
+
if not PyDataType_HASFIELDS(descr):
- t = descr.type_num
- if ((descr.byteorder == c'>' and little_endian) or
- (descr.byteorder == c'<' and not little_endian)):
- raise ValueError(u"Non-native byte order not supported")
- if t == NPY_BYTE: f = "b"
- elif t == NPY_UBYTE: f = "B"
- elif t == NPY_SHORT: f = "h"
- elif t == NPY_USHORT: f = "H"
- elif t == NPY_INT: f = "i"
- elif t == NPY_UINT: f = "I"
- elif t == NPY_LONG: f = "l"
- elif t == NPY_ULONG: f = "L"
- elif t == NPY_LONGLONG: f = "q"
- elif t == NPY_ULONGLONG: f = "Q"
- elif t == NPY_FLOAT: f = "f"
- elif t == NPY_DOUBLE: f = "d"
- elif t == NPY_LONGDOUBLE: f = "g"
- elif t == NPY_CFLOAT: f = "Zf"
- elif t == NPY_CDOUBLE: f = "Zd"
- elif t == NPY_CLONGDOUBLE: f = "Zg"
- elif t == NPY_OBJECT: f = "O"
- else:
- raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- info.format = f
- return
- else:
+ t = descr.type_num
+ if ((descr.byteorder == c'>' and little_endian) or
+ (descr.byteorder == c'<' and not little_endian)):
+ raise ValueError(u"Non-native byte order not supported")
+ if t == NPY_BYTE: f = "b"
+ elif t == NPY_UBYTE: f = "B"
+ elif t == NPY_SHORT: f = "h"
+ elif t == NPY_USHORT: f = "H"
+ elif t == NPY_INT: f = "i"
+ elif t == NPY_UINT: f = "I"
+ elif t == NPY_LONG: f = "l"
+ elif t == NPY_ULONG: f = "L"
+ elif t == NPY_LONGLONG: f = "q"
+ elif t == NPY_ULONGLONG: f = "Q"
+ elif t == NPY_FLOAT: f = "f"
+ elif t == NPY_DOUBLE: f = "d"
+ elif t == NPY_LONGDOUBLE: f = "g"
+ elif t == NPY_CFLOAT: f = "Zf"
+ elif t == NPY_CDOUBLE: f = "Zd"
+ elif t == NPY_CLONGDOUBLE: f = "Zg"
+ elif t == NPY_OBJECT: f = "O"
+ else:
+ raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ info.format = f
+ return
+ else:
info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
- info.format[0] = c'^' # Native data types, manual alignment
- offset = 0
- f = _util_dtypestring(descr, info.format + 1,
- info.format + _buffer_format_string_len,
- &offset)
- f[0] = c'\0' # Terminate format string
-
- def __releasebuffer__(ndarray self, Py_buffer* info):
- if PyArray_HASFIELDS(self):
+ info.format[0] = c'^' # Native data types, manual alignment
+ offset = 0
+ f = _util_dtypestring(descr, info.format + 1,
+ info.format + _buffer_format_string_len,
+ &offset)
+ f[0] = c'\0' # Terminate format string
+
+ def __releasebuffer__(ndarray self, Py_buffer* info):
+ if PyArray_HASFIELDS(self):
PyObject_Free(info.format)
- if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ if sizeof(npy_intp) != sizeof(Py_ssize_t):
PyObject_Free(info.strides)
- # info.shape was stored after info.strides in the same block
-
-
+ # info.shape was stored after info.strides in the same block
+
+
ctypedef unsigned char npy_bool
-
- ctypedef signed char npy_byte
- ctypedef signed short npy_short
- ctypedef signed int npy_int
- ctypedef signed long npy_long
- ctypedef signed long long npy_longlong
-
- ctypedef unsigned char npy_ubyte
- ctypedef unsigned short npy_ushort
- ctypedef unsigned int npy_uint
- ctypedef unsigned long npy_ulong
- ctypedef unsigned long long npy_ulonglong
-
- ctypedef float npy_float
- ctypedef double npy_double
- ctypedef long double npy_longdouble
-
- ctypedef signed char npy_int8
- ctypedef signed short npy_int16
- ctypedef signed int npy_int32
- ctypedef signed long long npy_int64
- ctypedef signed long long npy_int96
- ctypedef signed long long npy_int128
-
- ctypedef unsigned char npy_uint8
- ctypedef unsigned short npy_uint16
- ctypedef unsigned int npy_uint32
- ctypedef unsigned long long npy_uint64
- ctypedef unsigned long long npy_uint96
- ctypedef unsigned long long npy_uint128
-
- ctypedef float npy_float32
- ctypedef double npy_float64
- ctypedef long double npy_float80
- ctypedef long double npy_float96
- ctypedef long double npy_float128
-
- ctypedef struct npy_cfloat:
- double real
- double imag
-
- ctypedef struct npy_cdouble:
- double real
- double imag
-
- ctypedef struct npy_clongdouble:
+
+ ctypedef signed char npy_byte
+ ctypedef signed short npy_short
+ ctypedef signed int npy_int
+ ctypedef signed long npy_long
+ ctypedef signed long long npy_longlong
+
+ ctypedef unsigned char npy_ubyte
+ ctypedef unsigned short npy_ushort
+ ctypedef unsigned int npy_uint
+ ctypedef unsigned long npy_ulong
+ ctypedef unsigned long long npy_ulonglong
+
+ ctypedef float npy_float
+ ctypedef double npy_double
+ ctypedef long double npy_longdouble
+
+ ctypedef signed char npy_int8
+ ctypedef signed short npy_int16
+ ctypedef signed int npy_int32
+ ctypedef signed long long npy_int64
+ ctypedef signed long long npy_int96
+ ctypedef signed long long npy_int128
+
+ ctypedef unsigned char npy_uint8
+ ctypedef unsigned short npy_uint16
+ ctypedef unsigned int npy_uint32
+ ctypedef unsigned long long npy_uint64
+ ctypedef unsigned long long npy_uint96
+ ctypedef unsigned long long npy_uint128
+
+ ctypedef float npy_float32
+ ctypedef double npy_float64
+ ctypedef long double npy_float80
+ ctypedef long double npy_float96
+ ctypedef long double npy_float128
+
+ ctypedef struct npy_cfloat:
+ double real
+ double imag
+
+ ctypedef struct npy_cdouble:
+ double real
+ double imag
+
+ ctypedef struct npy_clongdouble:
long double real
long double imag
-
- ctypedef struct npy_complex64:
+
+ ctypedef struct npy_complex64:
float real
float imag
-
- ctypedef struct npy_complex128:
- double real
- double imag
-
- ctypedef struct npy_complex160:
+
+ ctypedef struct npy_complex128:
+ double real
+ double imag
+
+ ctypedef struct npy_complex160:
long double real
long double imag
-
- ctypedef struct npy_complex192:
+
+ ctypedef struct npy_complex192:
long double real
long double imag
-
- ctypedef struct npy_complex256:
+
+ ctypedef struct npy_complex256:
long double real
long double imag
-
- ctypedef struct PyArray_Dims:
- npy_intp *ptr
- int len
-
+
+ ctypedef struct PyArray_Dims:
+ npy_intp *ptr
+ int len
+
int _import_array() except -1
-
- #
- # Macros from ndarrayobject.h
- #
- bint PyArray_CHKFLAGS(ndarray m, int flags)
+
+ #
+ # Macros from ndarrayobject.h
+ #
+ bint PyArray_CHKFLAGS(ndarray m, int flags)
bint PyArray_IS_C_CONTIGUOUS(ndarray arr)
bint PyArray_IS_F_CONTIGUOUS(ndarray arr)
- bint PyArray_ISCONTIGUOUS(ndarray m)
- bint PyArray_ISWRITEABLE(ndarray m)
- bint PyArray_ISALIGNED(ndarray m)
-
- int PyArray_NDIM(ndarray)
- bint PyArray_ISONESEGMENT(ndarray)
- bint PyArray_ISFORTRAN(ndarray)
- int PyArray_FORTRANIF(ndarray)
-
- void* PyArray_DATA(ndarray)
- char* PyArray_BYTES(ndarray)
- npy_intp* PyArray_DIMS(ndarray)
- npy_intp* PyArray_STRIDES(ndarray)
- npy_intp PyArray_DIM(ndarray, size_t)
- npy_intp PyArray_STRIDE(ndarray, size_t)
-
+ bint PyArray_ISCONTIGUOUS(ndarray m)
+ bint PyArray_ISWRITEABLE(ndarray m)
+ bint PyArray_ISALIGNED(ndarray m)
+
+ int PyArray_NDIM(ndarray)
+ bint PyArray_ISONESEGMENT(ndarray)
+ bint PyArray_ISFORTRAN(ndarray)
+ int PyArray_FORTRANIF(ndarray)
+
+ void* PyArray_DATA(ndarray)
+ char* PyArray_BYTES(ndarray)
+ npy_intp* PyArray_DIMS(ndarray)
+ npy_intp* PyArray_STRIDES(ndarray)
+ npy_intp PyArray_DIM(ndarray, size_t)
+ npy_intp PyArray_STRIDE(ndarray, size_t)
+
PyObject *PyArray_BASE(ndarray) # returns borrowed reference!
PyArray_Descr *PyArray_DESCR(ndarray) # returns borrowed reference to dtype!
- int PyArray_FLAGS(ndarray)
- npy_intp PyArray_ITEMSIZE(ndarray)
- int PyArray_TYPE(ndarray arr)
-
- object PyArray_GETITEM(ndarray arr, void *itemptr)
- int PyArray_SETITEM(ndarray arr, void *itemptr, object obj)
-
- bint PyTypeNum_ISBOOL(int)
- bint PyTypeNum_ISUNSIGNED(int)
- bint PyTypeNum_ISSIGNED(int)
- bint PyTypeNum_ISINTEGER(int)
- bint PyTypeNum_ISFLOAT(int)
- bint PyTypeNum_ISNUMBER(int)
- bint PyTypeNum_ISSTRING(int)
- bint PyTypeNum_ISCOMPLEX(int)
- bint PyTypeNum_ISPYTHON(int)
- bint PyTypeNum_ISFLEXIBLE(int)
- bint PyTypeNum_ISUSERDEF(int)
- bint PyTypeNum_ISEXTENDED(int)
- bint PyTypeNum_ISOBJECT(int)
-
- bint PyDataType_ISBOOL(dtype)
- bint PyDataType_ISUNSIGNED(dtype)
- bint PyDataType_ISSIGNED(dtype)
- bint PyDataType_ISINTEGER(dtype)
- bint PyDataType_ISFLOAT(dtype)
- bint PyDataType_ISNUMBER(dtype)
- bint PyDataType_ISSTRING(dtype)
- bint PyDataType_ISCOMPLEX(dtype)
- bint PyDataType_ISPYTHON(dtype)
- bint PyDataType_ISFLEXIBLE(dtype)
- bint PyDataType_ISUSERDEF(dtype)
- bint PyDataType_ISEXTENDED(dtype)
- bint PyDataType_ISOBJECT(dtype)
- bint PyDataType_HASFIELDS(dtype)
+ int PyArray_FLAGS(ndarray)
+ npy_intp PyArray_ITEMSIZE(ndarray)
+ int PyArray_TYPE(ndarray arr)
+
+ object PyArray_GETITEM(ndarray arr, void *itemptr)
+ int PyArray_SETITEM(ndarray arr, void *itemptr, object obj)
+
+ bint PyTypeNum_ISBOOL(int)
+ bint PyTypeNum_ISUNSIGNED(int)
+ bint PyTypeNum_ISSIGNED(int)
+ bint PyTypeNum_ISINTEGER(int)
+ bint PyTypeNum_ISFLOAT(int)
+ bint PyTypeNum_ISNUMBER(int)
+ bint PyTypeNum_ISSTRING(int)
+ bint PyTypeNum_ISCOMPLEX(int)
+ bint PyTypeNum_ISPYTHON(int)
+ bint PyTypeNum_ISFLEXIBLE(int)
+ bint PyTypeNum_ISUSERDEF(int)
+ bint PyTypeNum_ISEXTENDED(int)
+ bint PyTypeNum_ISOBJECT(int)
+
+ bint PyDataType_ISBOOL(dtype)
+ bint PyDataType_ISUNSIGNED(dtype)
+ bint PyDataType_ISSIGNED(dtype)
+ bint PyDataType_ISINTEGER(dtype)
+ bint PyDataType_ISFLOAT(dtype)
+ bint PyDataType_ISNUMBER(dtype)
+ bint PyDataType_ISSTRING(dtype)
+ bint PyDataType_ISCOMPLEX(dtype)
+ bint PyDataType_ISPYTHON(dtype)
+ bint PyDataType_ISFLEXIBLE(dtype)
+ bint PyDataType_ISUSERDEF(dtype)
+ bint PyDataType_ISEXTENDED(dtype)
+ bint PyDataType_ISOBJECT(dtype)
+ bint PyDataType_HASFIELDS(dtype)
bint PyDataType_HASSUBARRAY(dtype)
-
- bint PyArray_ISBOOL(ndarray)
- bint PyArray_ISUNSIGNED(ndarray)
- bint PyArray_ISSIGNED(ndarray)
- bint PyArray_ISINTEGER(ndarray)
- bint PyArray_ISFLOAT(ndarray)
- bint PyArray_ISNUMBER(ndarray)
- bint PyArray_ISSTRING(ndarray)
- bint PyArray_ISCOMPLEX(ndarray)
- bint PyArray_ISPYTHON(ndarray)
- bint PyArray_ISFLEXIBLE(ndarray)
- bint PyArray_ISUSERDEF(ndarray)
- bint PyArray_ISEXTENDED(ndarray)
- bint PyArray_ISOBJECT(ndarray)
- bint PyArray_HASFIELDS(ndarray)
-
- bint PyArray_ISVARIABLE(ndarray)
-
- bint PyArray_SAFEALIGNEDCOPY(ndarray)
+
+ bint PyArray_ISBOOL(ndarray)
+ bint PyArray_ISUNSIGNED(ndarray)
+ bint PyArray_ISSIGNED(ndarray)
+ bint PyArray_ISINTEGER(ndarray)
+ bint PyArray_ISFLOAT(ndarray)
+ bint PyArray_ISNUMBER(ndarray)
+ bint PyArray_ISSTRING(ndarray)
+ bint PyArray_ISCOMPLEX(ndarray)
+ bint PyArray_ISPYTHON(ndarray)
+ bint PyArray_ISFLEXIBLE(ndarray)
+ bint PyArray_ISUSERDEF(ndarray)
+ bint PyArray_ISEXTENDED(ndarray)
+ bint PyArray_ISOBJECT(ndarray)
+ bint PyArray_HASFIELDS(ndarray)
+
+ bint PyArray_ISVARIABLE(ndarray)
+
+ bint PyArray_SAFEALIGNEDCOPY(ndarray)
bint PyArray_ISNBO(char) # works on ndarray.byteorder
bint PyArray_IsNativeByteOrder(char) # works on ndarray.byteorder
- bint PyArray_ISNOTSWAPPED(ndarray)
- bint PyArray_ISBYTESWAPPED(ndarray)
-
- bint PyArray_FLAGSWAP(ndarray, int)
-
- bint PyArray_ISCARRAY(ndarray)
- bint PyArray_ISCARRAY_RO(ndarray)
- bint PyArray_ISFARRAY(ndarray)
- bint PyArray_ISFARRAY_RO(ndarray)
- bint PyArray_ISBEHAVED(ndarray)
- bint PyArray_ISBEHAVED_RO(ndarray)
-
-
- bint PyDataType_ISNOTSWAPPED(dtype)
- bint PyDataType_ISBYTESWAPPED(dtype)
-
- bint PyArray_DescrCheck(object)
-
- bint PyArray_Check(object)
- bint PyArray_CheckExact(object)
-
- # Cannot be supported due to out arg:
- # bint PyArray_HasArrayInterfaceType(object, dtype, object, object&)
- # bint PyArray_HasArrayInterface(op, out)
-
-
- bint PyArray_IsZeroDim(object)
- # Cannot be supported due to ## ## in macro:
- # bint PyArray_IsScalar(object, verbatim work)
- bint PyArray_CheckScalar(object)
- bint PyArray_IsPythonNumber(object)
- bint PyArray_IsPythonScalar(object)
- bint PyArray_IsAnyScalar(object)
- bint PyArray_CheckAnyScalar(object)
- ndarray PyArray_GETCONTIGUOUS(ndarray)
- bint PyArray_SAMESHAPE(ndarray, ndarray)
- npy_intp PyArray_SIZE(ndarray)
- npy_intp PyArray_NBYTES(ndarray)
-
- object PyArray_FROM_O(object)
- object PyArray_FROM_OF(object m, int flags)
+ bint PyArray_ISNOTSWAPPED(ndarray)
+ bint PyArray_ISBYTESWAPPED(ndarray)
+
+ bint PyArray_FLAGSWAP(ndarray, int)
+
+ bint PyArray_ISCARRAY(ndarray)
+ bint PyArray_ISCARRAY_RO(ndarray)
+ bint PyArray_ISFARRAY(ndarray)
+ bint PyArray_ISFARRAY_RO(ndarray)
+ bint PyArray_ISBEHAVED(ndarray)
+ bint PyArray_ISBEHAVED_RO(ndarray)
+
+
+ bint PyDataType_ISNOTSWAPPED(dtype)
+ bint PyDataType_ISBYTESWAPPED(dtype)
+
+ bint PyArray_DescrCheck(object)
+
+ bint PyArray_Check(object)
+ bint PyArray_CheckExact(object)
+
+ # Cannot be supported due to out arg:
+ # bint PyArray_HasArrayInterfaceType(object, dtype, object, object&)
+ # bint PyArray_HasArrayInterface(op, out)
+
+
+ bint PyArray_IsZeroDim(object)
+ # Cannot be supported due to ## ## in macro:
+ # bint PyArray_IsScalar(object, verbatim work)
+ bint PyArray_CheckScalar(object)
+ bint PyArray_IsPythonNumber(object)
+ bint PyArray_IsPythonScalar(object)
+ bint PyArray_IsAnyScalar(object)
+ bint PyArray_CheckAnyScalar(object)
+ ndarray PyArray_GETCONTIGUOUS(ndarray)
+ bint PyArray_SAMESHAPE(ndarray, ndarray)
+ npy_intp PyArray_SIZE(ndarray)
+ npy_intp PyArray_NBYTES(ndarray)
+
+ object PyArray_FROM_O(object)
+ object PyArray_FROM_OF(object m, int flags)
object PyArray_FROM_OT(object m, int type)
object PyArray_FROM_OTF(object m, int type, int flags)
- object PyArray_FROMANY(object m, int type, int min, int max, int flags)
- object PyArray_ZEROS(int nd, npy_intp* dims, int type, int fortran)
- object PyArray_EMPTY(int nd, npy_intp* dims, int type, int fortran)
- void PyArray_FILLWBYTE(object, int val)
- npy_intp PyArray_REFCOUNT(object)
- object PyArray_ContiguousFromAny(op, int, int min_depth, int max_depth)
- unsigned char PyArray_EquivArrTypes(ndarray a1, ndarray a2)
- bint PyArray_EquivByteorders(int b1, int b2)
- object PyArray_SimpleNew(int nd, npy_intp* dims, int typenum)
- object PyArray_SimpleNewFromData(int nd, npy_intp* dims, int typenum, void* data)
- #object PyArray_SimpleNewFromDescr(int nd, npy_intp* dims, dtype descr)
- object PyArray_ToScalar(void* data, ndarray arr)
-
- void* PyArray_GETPTR1(ndarray m, npy_intp i)
- void* PyArray_GETPTR2(ndarray m, npy_intp i, npy_intp j)
- void* PyArray_GETPTR3(ndarray m, npy_intp i, npy_intp j, npy_intp k)
- void* PyArray_GETPTR4(ndarray m, npy_intp i, npy_intp j, npy_intp k, npy_intp l)
-
- void PyArray_XDECREF_ERR(ndarray)
- # Cannot be supported due to out arg
- # void PyArray_DESCR_REPLACE(descr)
-
-
- object PyArray_Copy(ndarray)
- object PyArray_FromObject(object op, int type, int min_depth, int max_depth)
- object PyArray_ContiguousFromObject(object op, int type, int min_depth, int max_depth)
- object PyArray_CopyFromObject(object op, int type, int min_depth, int max_depth)
-
- object PyArray_Cast(ndarray mp, int type_num)
- object PyArray_Take(ndarray ap, object items, int axis)
- object PyArray_Put(ndarray ap, object items, object values)
-
- void PyArray_ITER_RESET(flatiter it) nogil
- void PyArray_ITER_NEXT(flatiter it) nogil
- void PyArray_ITER_GOTO(flatiter it, npy_intp* destination) nogil
- void PyArray_ITER_GOTO1D(flatiter it, npy_intp ind) nogil
- void* PyArray_ITER_DATA(flatiter it) nogil
- bint PyArray_ITER_NOTDONE(flatiter it) nogil
-
- void PyArray_MultiIter_RESET(broadcast multi) nogil
- void PyArray_MultiIter_NEXT(broadcast multi) nogil
- void PyArray_MultiIter_GOTO(broadcast multi, npy_intp dest) nogil
- void PyArray_MultiIter_GOTO1D(broadcast multi, npy_intp ind) nogil
- void* PyArray_MultiIter_DATA(broadcast multi, npy_intp i) nogil
- void PyArray_MultiIter_NEXTi(broadcast multi, npy_intp i) nogil
- bint PyArray_MultiIter_NOTDONE(broadcast multi) nogil
-
- # Functions from __multiarray_api.h
-
- # Functions taking dtype and returning object/ndarray are disabled
- # for now as they steal dtype references. I'm conservative and disable
- # more than is probably needed until it can be checked further.
- int PyArray_SetNumericOps (object)
- object PyArray_GetNumericOps ()
- int PyArray_INCREF (ndarray)
- int PyArray_XDECREF (ndarray)
- void PyArray_SetStringFunction (object, int)
- dtype PyArray_DescrFromType (int)
- object PyArray_TypeObjectFromType (int)
- char * PyArray_Zero (ndarray)
- char * PyArray_One (ndarray)
- #object PyArray_CastToType (ndarray, dtype, int)
- int PyArray_CastTo (ndarray, ndarray)
- int PyArray_CastAnyTo (ndarray, ndarray)
- int PyArray_CanCastSafely (int, int)
- npy_bool PyArray_CanCastTo (dtype, dtype)
- int PyArray_ObjectType (object, int)
- dtype PyArray_DescrFromObject (object, dtype)
- #ndarray* PyArray_ConvertToCommonType (object, int *)
- dtype PyArray_DescrFromScalar (object)
- dtype PyArray_DescrFromTypeObject (object)
- npy_intp PyArray_Size (object)
- #object PyArray_Scalar (void *, dtype, object)
- #object PyArray_FromScalar (object, dtype)
- void PyArray_ScalarAsCtype (object, void *)
- #int PyArray_CastScalarToCtype (object, void *, dtype)
- #int PyArray_CastScalarDirect (object, dtype, void *, int)
- object PyArray_ScalarFromObject (object)
- #PyArray_VectorUnaryFunc * PyArray_GetCastFunc (dtype, int)
- object PyArray_FromDims (int, int *, int)
- #object PyArray_FromDimsAndDataAndDescr (int, int *, dtype, char *)
- #object PyArray_FromAny (object, dtype, int, int, int, object)
- object PyArray_EnsureArray (object)
- object PyArray_EnsureAnyArray (object)
- #object PyArray_FromFile (stdio.FILE *, dtype, npy_intp, char *)
- #object PyArray_FromString (char *, npy_intp, dtype, npy_intp, char *)
- #object PyArray_FromBuffer (object, dtype, npy_intp, npy_intp)
- #object PyArray_FromIter (object, dtype, npy_intp)
- object PyArray_Return (ndarray)
- #object PyArray_GetField (ndarray, dtype, int)
- #int PyArray_SetField (ndarray, dtype, int, object)
- object PyArray_Byteswap (ndarray, npy_bool)
- object PyArray_Resize (ndarray, PyArray_Dims *, int, NPY_ORDER)
- int PyArray_MoveInto (ndarray, ndarray)
- int PyArray_CopyInto (ndarray, ndarray)
- int PyArray_CopyAnyInto (ndarray, ndarray)
- int PyArray_CopyObject (ndarray, object)
- object PyArray_NewCopy (ndarray, NPY_ORDER)
- object PyArray_ToList (ndarray)
- object PyArray_ToString (ndarray, NPY_ORDER)
- int PyArray_ToFile (ndarray, stdio.FILE *, char *, char *)
- int PyArray_Dump (object, object, int)
- object PyArray_Dumps (object, int)
- int PyArray_ValidType (int)
- void PyArray_UpdateFlags (ndarray, int)
- object PyArray_New (type, int, npy_intp *, int, npy_intp *, void *, int, int, object)
- #object PyArray_NewFromDescr (type, dtype, int, npy_intp *, npy_intp *, void *, int, object)
- #dtype PyArray_DescrNew (dtype)
- dtype PyArray_DescrNewFromType (int)
- double PyArray_GetPriority (object, double)
- object PyArray_IterNew (object)
- object PyArray_MultiIterNew (int, ...)
-
- int PyArray_PyIntAsInt (object)
- npy_intp PyArray_PyIntAsIntp (object)
- int PyArray_Broadcast (broadcast)
- void PyArray_FillObjectArray (ndarray, object)
- int PyArray_FillWithScalar (ndarray, object)
- npy_bool PyArray_CheckStrides (int, int, npy_intp, npy_intp, npy_intp *, npy_intp *)
- dtype PyArray_DescrNewByteorder (dtype, char)
- object PyArray_IterAllButAxis (object, int *)
- #object PyArray_CheckFromAny (object, dtype, int, int, int, object)
- #object PyArray_FromArray (ndarray, dtype, int)
- object PyArray_FromInterface (object)
- object PyArray_FromStructInterface (object)
- #object PyArray_FromArrayAttr (object, dtype, object)
- #NPY_SCALARKIND PyArray_ScalarKind (int, ndarray*)
- int PyArray_CanCoerceScalar (int, int, NPY_SCALARKIND)
- object PyArray_NewFlagsObject (object)
- npy_bool PyArray_CanCastScalar (type, type)
- #int PyArray_CompareUCS4 (npy_ucs4 *, npy_ucs4 *, register size_t)
- int PyArray_RemoveSmallest (broadcast)
- int PyArray_ElementStrides (object)
- void PyArray_Item_INCREF (char *, dtype)
- void PyArray_Item_XDECREF (char *, dtype)
- object PyArray_FieldNames (object)
- object PyArray_Transpose (ndarray, PyArray_Dims *)
- object PyArray_TakeFrom (ndarray, object, int, ndarray, NPY_CLIPMODE)
- object PyArray_PutTo (ndarray, object, object, NPY_CLIPMODE)
- object PyArray_PutMask (ndarray, object, object)
- object PyArray_Repeat (ndarray, object, int)
- object PyArray_Choose (ndarray, object, ndarray, NPY_CLIPMODE)
- int PyArray_Sort (ndarray, int, NPY_SORTKIND)
- object PyArray_ArgSort (ndarray, int, NPY_SORTKIND)
- object PyArray_SearchSorted (ndarray, object, NPY_SEARCHSIDE)
- object PyArray_ArgMax (ndarray, int, ndarray)
- object PyArray_ArgMin (ndarray, int, ndarray)
- object PyArray_Reshape (ndarray, object)
- object PyArray_Newshape (ndarray, PyArray_Dims *, NPY_ORDER)
- object PyArray_Squeeze (ndarray)
- #object PyArray_View (ndarray, dtype, type)
- object PyArray_SwapAxes (ndarray, int, int)
- object PyArray_Max (ndarray, int, ndarray)
- object PyArray_Min (ndarray, int, ndarray)
- object PyArray_Ptp (ndarray, int, ndarray)
- object PyArray_Mean (ndarray, int, int, ndarray)
- object PyArray_Trace (ndarray, int, int, int, int, ndarray)
- object PyArray_Diagonal (ndarray, int, int, int)
- object PyArray_Clip (ndarray, object, object, ndarray)
- object PyArray_Conjugate (ndarray, ndarray)
- object PyArray_Nonzero (ndarray)
- object PyArray_Std (ndarray, int, int, ndarray, int)
- object PyArray_Sum (ndarray, int, int, ndarray)
- object PyArray_CumSum (ndarray, int, int, ndarray)
- object PyArray_Prod (ndarray, int, int, ndarray)
- object PyArray_CumProd (ndarray, int, int, ndarray)
- object PyArray_All (ndarray, int, ndarray)
- object PyArray_Any (ndarray, int, ndarray)
- object PyArray_Compress (ndarray, object, int, ndarray)
- object PyArray_Flatten (ndarray, NPY_ORDER)
- object PyArray_Ravel (ndarray, NPY_ORDER)
- npy_intp PyArray_MultiplyList (npy_intp *, int)
- int PyArray_MultiplyIntList (int *, int)
- void * PyArray_GetPtr (ndarray, npy_intp*)
- int PyArray_CompareLists (npy_intp *, npy_intp *, int)
- #int PyArray_AsCArray (object*, void *, npy_intp *, int, dtype)
- #int PyArray_As1D (object*, char **, int *, int)
- #int PyArray_As2D (object*, char ***, int *, int *, int)
- int PyArray_Free (object, void *)
- #int PyArray_Converter (object, object*)
- int PyArray_IntpFromSequence (object, npy_intp *, int)
- object PyArray_Concatenate (object, int)
- object PyArray_InnerProduct (object, object)
- object PyArray_MatrixProduct (object, object)
- object PyArray_CopyAndTranspose (object)
- object PyArray_Correlate (object, object, int)
- int PyArray_TypestrConvert (int, int)
- #int PyArray_DescrConverter (object, dtype*)
- #int PyArray_DescrConverter2 (object, dtype*)
- int PyArray_IntpConverter (object, PyArray_Dims *)
- #int PyArray_BufferConverter (object, chunk)
- int PyArray_AxisConverter (object, int *)
- int PyArray_BoolConverter (object, npy_bool *)
- int PyArray_ByteorderConverter (object, char *)
- int PyArray_OrderConverter (object, NPY_ORDER *)
- unsigned char PyArray_EquivTypes (dtype, dtype)
- #object PyArray_Zeros (int, npy_intp *, dtype, int)
- #object PyArray_Empty (int, npy_intp *, dtype, int)
- object PyArray_Where (object, object, object)
- object PyArray_Arange (double, double, double, int)
- #object PyArray_ArangeObj (object, object, object, dtype)
- int PyArray_SortkindConverter (object, NPY_SORTKIND *)
- object PyArray_LexSort (object, int)
- object PyArray_Round (ndarray, int, ndarray)
- unsigned char PyArray_EquivTypenums (int, int)
- int PyArray_RegisterDataType (dtype)
- int PyArray_RegisterCastFunc (dtype, int, PyArray_VectorUnaryFunc *)
- int PyArray_RegisterCanCast (dtype, int, NPY_SCALARKIND)
- #void PyArray_InitArrFuncs (PyArray_ArrFuncs *)
- object PyArray_IntTupleFromIntp (int, npy_intp *)
- int PyArray_TypeNumFromName (char *)
- int PyArray_ClipmodeConverter (object, NPY_CLIPMODE *)
- #int PyArray_OutputConverter (object, ndarray*)
- object PyArray_BroadcastToShape (object, npy_intp *, int)
- void _PyArray_SigintHandler (int)
- void* _PyArray_GetSigintBuf ()
- #int PyArray_DescrAlignConverter (object, dtype*)
- #int PyArray_DescrAlignConverter2 (object, dtype*)
- int PyArray_SearchsideConverter (object, void *)
- object PyArray_CheckAxis (ndarray, int *, int)
- npy_intp PyArray_OverflowMultiplyList (npy_intp *, int)
- int PyArray_CompareString (char *, char *, size_t)
+ object PyArray_FROMANY(object m, int type, int min, int max, int flags)
+ object PyArray_ZEROS(int nd, npy_intp* dims, int type, int fortran)
+ object PyArray_EMPTY(int nd, npy_intp* dims, int type, int fortran)
+ void PyArray_FILLWBYTE(object, int val)
+ npy_intp PyArray_REFCOUNT(object)
+ object PyArray_ContiguousFromAny(op, int, int min_depth, int max_depth)
+ unsigned char PyArray_EquivArrTypes(ndarray a1, ndarray a2)
+ bint PyArray_EquivByteorders(int b1, int b2)
+ object PyArray_SimpleNew(int nd, npy_intp* dims, int typenum)
+ object PyArray_SimpleNewFromData(int nd, npy_intp* dims, int typenum, void* data)
+ #object PyArray_SimpleNewFromDescr(int nd, npy_intp* dims, dtype descr)
+ object PyArray_ToScalar(void* data, ndarray arr)
+
+ void* PyArray_GETPTR1(ndarray m, npy_intp i)
+ void* PyArray_GETPTR2(ndarray m, npy_intp i, npy_intp j)
+ void* PyArray_GETPTR3(ndarray m, npy_intp i, npy_intp j, npy_intp k)
+ void* PyArray_GETPTR4(ndarray m, npy_intp i, npy_intp j, npy_intp k, npy_intp l)
+
+ void PyArray_XDECREF_ERR(ndarray)
+ # Cannot be supported due to out arg
+ # void PyArray_DESCR_REPLACE(descr)
+
+
+ object PyArray_Copy(ndarray)
+ object PyArray_FromObject(object op, int type, int min_depth, int max_depth)
+ object PyArray_ContiguousFromObject(object op, int type, int min_depth, int max_depth)
+ object PyArray_CopyFromObject(object op, int type, int min_depth, int max_depth)
+
+ object PyArray_Cast(ndarray mp, int type_num)
+ object PyArray_Take(ndarray ap, object items, int axis)
+ object PyArray_Put(ndarray ap, object items, object values)
+
+ void PyArray_ITER_RESET(flatiter it) nogil
+ void PyArray_ITER_NEXT(flatiter it) nogil
+ void PyArray_ITER_GOTO(flatiter it, npy_intp* destination) nogil
+ void PyArray_ITER_GOTO1D(flatiter it, npy_intp ind) nogil
+ void* PyArray_ITER_DATA(flatiter it) nogil
+ bint PyArray_ITER_NOTDONE(flatiter it) nogil
+
+ void PyArray_MultiIter_RESET(broadcast multi) nogil
+ void PyArray_MultiIter_NEXT(broadcast multi) nogil
+ void PyArray_MultiIter_GOTO(broadcast multi, npy_intp dest) nogil
+ void PyArray_MultiIter_GOTO1D(broadcast multi, npy_intp ind) nogil
+ void* PyArray_MultiIter_DATA(broadcast multi, npy_intp i) nogil
+ void PyArray_MultiIter_NEXTi(broadcast multi, npy_intp i) nogil
+ bint PyArray_MultiIter_NOTDONE(broadcast multi) nogil
+
+ # Functions from __multiarray_api.h
+
+ # Functions taking dtype and returning object/ndarray are disabled
+ # for now as they steal dtype references. I'm conservative and disable
+ # more than is probably needed until it can be checked further.
+ int PyArray_SetNumericOps (object)
+ object PyArray_GetNumericOps ()
+ int PyArray_INCREF (ndarray)
+ int PyArray_XDECREF (ndarray)
+ void PyArray_SetStringFunction (object, int)
+ dtype PyArray_DescrFromType (int)
+ object PyArray_TypeObjectFromType (int)
+ char * PyArray_Zero (ndarray)
+ char * PyArray_One (ndarray)
+ #object PyArray_CastToType (ndarray, dtype, int)
+ int PyArray_CastTo (ndarray, ndarray)
+ int PyArray_CastAnyTo (ndarray, ndarray)
+ int PyArray_CanCastSafely (int, int)
+ npy_bool PyArray_CanCastTo (dtype, dtype)
+ int PyArray_ObjectType (object, int)
+ dtype PyArray_DescrFromObject (object, dtype)
+ #ndarray* PyArray_ConvertToCommonType (object, int *)
+ dtype PyArray_DescrFromScalar (object)
+ dtype PyArray_DescrFromTypeObject (object)
+ npy_intp PyArray_Size (object)
+ #object PyArray_Scalar (void *, dtype, object)
+ #object PyArray_FromScalar (object, dtype)
+ void PyArray_ScalarAsCtype (object, void *)
+ #int PyArray_CastScalarToCtype (object, void *, dtype)
+ #int PyArray_CastScalarDirect (object, dtype, void *, int)
+ object PyArray_ScalarFromObject (object)
+ #PyArray_VectorUnaryFunc * PyArray_GetCastFunc (dtype, int)
+ object PyArray_FromDims (int, int *, int)
+ #object PyArray_FromDimsAndDataAndDescr (int, int *, dtype, char *)
+ #object PyArray_FromAny (object, dtype, int, int, int, object)
+ object PyArray_EnsureArray (object)
+ object PyArray_EnsureAnyArray (object)
+ #object PyArray_FromFile (stdio.FILE *, dtype, npy_intp, char *)
+ #object PyArray_FromString (char *, npy_intp, dtype, npy_intp, char *)
+ #object PyArray_FromBuffer (object, dtype, npy_intp, npy_intp)
+ #object PyArray_FromIter (object, dtype, npy_intp)
+ object PyArray_Return (ndarray)
+ #object PyArray_GetField (ndarray, dtype, int)
+ #int PyArray_SetField (ndarray, dtype, int, object)
+ object PyArray_Byteswap (ndarray, npy_bool)
+ object PyArray_Resize (ndarray, PyArray_Dims *, int, NPY_ORDER)
+ int PyArray_MoveInto (ndarray, ndarray)
+ int PyArray_CopyInto (ndarray, ndarray)
+ int PyArray_CopyAnyInto (ndarray, ndarray)
+ int PyArray_CopyObject (ndarray, object)
+ object PyArray_NewCopy (ndarray, NPY_ORDER)
+ object PyArray_ToList (ndarray)
+ object PyArray_ToString (ndarray, NPY_ORDER)
+ int PyArray_ToFile (ndarray, stdio.FILE *, char *, char *)
+ int PyArray_Dump (object, object, int)
+ object PyArray_Dumps (object, int)
+ int PyArray_ValidType (int)
+ void PyArray_UpdateFlags (ndarray, int)
+ object PyArray_New (type, int, npy_intp *, int, npy_intp *, void *, int, int, object)
+ #object PyArray_NewFromDescr (type, dtype, int, npy_intp *, npy_intp *, void *, int, object)
+ #dtype PyArray_DescrNew (dtype)
+ dtype PyArray_DescrNewFromType (int)
+ double PyArray_GetPriority (object, double)
+ object PyArray_IterNew (object)
+ object PyArray_MultiIterNew (int, ...)
+
+ int PyArray_PyIntAsInt (object)
+ npy_intp PyArray_PyIntAsIntp (object)
+ int PyArray_Broadcast (broadcast)
+ void PyArray_FillObjectArray (ndarray, object)
+ int PyArray_FillWithScalar (ndarray, object)
+ npy_bool PyArray_CheckStrides (int, int, npy_intp, npy_intp, npy_intp *, npy_intp *)
+ dtype PyArray_DescrNewByteorder (dtype, char)
+ object PyArray_IterAllButAxis (object, int *)
+ #object PyArray_CheckFromAny (object, dtype, int, int, int, object)
+ #object PyArray_FromArray (ndarray, dtype, int)
+ object PyArray_FromInterface (object)
+ object PyArray_FromStructInterface (object)
+ #object PyArray_FromArrayAttr (object, dtype, object)
+ #NPY_SCALARKIND PyArray_ScalarKind (int, ndarray*)
+ int PyArray_CanCoerceScalar (int, int, NPY_SCALARKIND)
+ object PyArray_NewFlagsObject (object)
+ npy_bool PyArray_CanCastScalar (type, type)
+ #int PyArray_CompareUCS4 (npy_ucs4 *, npy_ucs4 *, register size_t)
+ int PyArray_RemoveSmallest (broadcast)
+ int PyArray_ElementStrides (object)
+ void PyArray_Item_INCREF (char *, dtype)
+ void PyArray_Item_XDECREF (char *, dtype)
+ object PyArray_FieldNames (object)
+ object PyArray_Transpose (ndarray, PyArray_Dims *)
+ object PyArray_TakeFrom (ndarray, object, int, ndarray, NPY_CLIPMODE)
+ object PyArray_PutTo (ndarray, object, object, NPY_CLIPMODE)
+ object PyArray_PutMask (ndarray, object, object)
+ object PyArray_Repeat (ndarray, object, int)
+ object PyArray_Choose (ndarray, object, ndarray, NPY_CLIPMODE)
+ int PyArray_Sort (ndarray, int, NPY_SORTKIND)
+ object PyArray_ArgSort (ndarray, int, NPY_SORTKIND)
+ object PyArray_SearchSorted (ndarray, object, NPY_SEARCHSIDE)
+ object PyArray_ArgMax (ndarray, int, ndarray)
+ object PyArray_ArgMin (ndarray, int, ndarray)
+ object PyArray_Reshape (ndarray, object)
+ object PyArray_Newshape (ndarray, PyArray_Dims *, NPY_ORDER)
+ object PyArray_Squeeze (ndarray)
+ #object PyArray_View (ndarray, dtype, type)
+ object PyArray_SwapAxes (ndarray, int, int)
+ object PyArray_Max (ndarray, int, ndarray)
+ object PyArray_Min (ndarray, int, ndarray)
+ object PyArray_Ptp (ndarray, int, ndarray)
+ object PyArray_Mean (ndarray, int, int, ndarray)
+ object PyArray_Trace (ndarray, int, int, int, int, ndarray)
+ object PyArray_Diagonal (ndarray, int, int, int)
+ object PyArray_Clip (ndarray, object, object, ndarray)
+ object PyArray_Conjugate (ndarray, ndarray)
+ object PyArray_Nonzero (ndarray)
+ object PyArray_Std (ndarray, int, int, ndarray, int)
+ object PyArray_Sum (ndarray, int, int, ndarray)
+ object PyArray_CumSum (ndarray, int, int, ndarray)
+ object PyArray_Prod (ndarray, int, int, ndarray)
+ object PyArray_CumProd (ndarray, int, int, ndarray)
+ object PyArray_All (ndarray, int, ndarray)
+ object PyArray_Any (ndarray, int, ndarray)
+ object PyArray_Compress (ndarray, object, int, ndarray)
+ object PyArray_Flatten (ndarray, NPY_ORDER)
+ object PyArray_Ravel (ndarray, NPY_ORDER)
+ npy_intp PyArray_MultiplyList (npy_intp *, int)
+ int PyArray_MultiplyIntList (int *, int)
+ void * PyArray_GetPtr (ndarray, npy_intp*)
+ int PyArray_CompareLists (npy_intp *, npy_intp *, int)
+ #int PyArray_AsCArray (object*, void *, npy_intp *, int, dtype)
+ #int PyArray_As1D (object*, char **, int *, int)
+ #int PyArray_As2D (object*, char ***, int *, int *, int)
+ int PyArray_Free (object, void *)
+ #int PyArray_Converter (object, object*)
+ int PyArray_IntpFromSequence (object, npy_intp *, int)
+ object PyArray_Concatenate (object, int)
+ object PyArray_InnerProduct (object, object)
+ object PyArray_MatrixProduct (object, object)
+ object PyArray_CopyAndTranspose (object)
+ object PyArray_Correlate (object, object, int)
+ int PyArray_TypestrConvert (int, int)
+ #int PyArray_DescrConverter (object, dtype*)
+ #int PyArray_DescrConverter2 (object, dtype*)
+ int PyArray_IntpConverter (object, PyArray_Dims *)
+ #int PyArray_BufferConverter (object, chunk)
+ int PyArray_AxisConverter (object, int *)
+ int PyArray_BoolConverter (object, npy_bool *)
+ int PyArray_ByteorderConverter (object, char *)
+ int PyArray_OrderConverter (object, NPY_ORDER *)
+ unsigned char PyArray_EquivTypes (dtype, dtype)
+ #object PyArray_Zeros (int, npy_intp *, dtype, int)
+ #object PyArray_Empty (int, npy_intp *, dtype, int)
+ object PyArray_Where (object, object, object)
+ object PyArray_Arange (double, double, double, int)
+ #object PyArray_ArangeObj (object, object, object, dtype)
+ int PyArray_SortkindConverter (object, NPY_SORTKIND *)
+ object PyArray_LexSort (object, int)
+ object PyArray_Round (ndarray, int, ndarray)
+ unsigned char PyArray_EquivTypenums (int, int)
+ int PyArray_RegisterDataType (dtype)
+ int PyArray_RegisterCastFunc (dtype, int, PyArray_VectorUnaryFunc *)
+ int PyArray_RegisterCanCast (dtype, int, NPY_SCALARKIND)
+ #void PyArray_InitArrFuncs (PyArray_ArrFuncs *)
+ object PyArray_IntTupleFromIntp (int, npy_intp *)
+ int PyArray_TypeNumFromName (char *)
+ int PyArray_ClipmodeConverter (object, NPY_CLIPMODE *)
+ #int PyArray_OutputConverter (object, ndarray*)
+ object PyArray_BroadcastToShape (object, npy_intp *, int)
+ void _PyArray_SigintHandler (int)
+ void* _PyArray_GetSigintBuf ()
+ #int PyArray_DescrAlignConverter (object, dtype*)
+ #int PyArray_DescrAlignConverter2 (object, dtype*)
+ int PyArray_SearchsideConverter (object, void *)
+ object PyArray_CheckAxis (ndarray, int *, int)
+ npy_intp PyArray_OverflowMultiplyList (npy_intp *, int)
+ int PyArray_CompareString (char *, char *, size_t)
int PyArray_SetBaseObject(ndarray, base) # NOTE: steals a reference to base! Use "set_array_base()" instead.
-
-
-# Typedefs that matches the runtime dtype objects in
-# the numpy module.
-
-# The ones that are commented out needs an IFDEF function
-# in Cython to enable them only on the right systems.
-
-ctypedef npy_int8 int8_t
-ctypedef npy_int16 int16_t
-ctypedef npy_int32 int32_t
-ctypedef npy_int64 int64_t
-#ctypedef npy_int96 int96_t
-#ctypedef npy_int128 int128_t
-
-ctypedef npy_uint8 uint8_t
-ctypedef npy_uint16 uint16_t
-ctypedef npy_uint32 uint32_t
-ctypedef npy_uint64 uint64_t
-#ctypedef npy_uint96 uint96_t
-#ctypedef npy_uint128 uint128_t
-
-ctypedef npy_float32 float32_t
-ctypedef npy_float64 float64_t
-#ctypedef npy_float80 float80_t
-#ctypedef npy_float128 float128_t
-
-ctypedef float complex complex64_t
-ctypedef double complex complex128_t
-
-# The int types are mapped a bit surprising --
-# numpy.int corresponds to 'l' and numpy.long to 'q'
-ctypedef npy_long int_t
-ctypedef npy_longlong long_t
-ctypedef npy_longlong longlong_t
-
-ctypedef npy_ulong uint_t
-ctypedef npy_ulonglong ulong_t
-ctypedef npy_ulonglong ulonglong_t
-
-ctypedef npy_intp intp_t
-ctypedef npy_uintp uintp_t
-
-ctypedef npy_double float_t
-ctypedef npy_double double_t
-ctypedef npy_longdouble longdouble_t
-
-ctypedef npy_cfloat cfloat_t
-ctypedef npy_cdouble cdouble_t
-ctypedef npy_clongdouble clongdouble_t
-
-ctypedef npy_cdouble complex_t
-
-cdef inline object PyArray_MultiIterNew1(a):
- return PyArray_MultiIterNew(1, <void*>a)
-
-cdef inline object PyArray_MultiIterNew2(a, b):
- return PyArray_MultiIterNew(2, <void*>a, <void*>b)
-
-cdef inline object PyArray_MultiIterNew3(a, b, c):
- return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
-
-cdef inline object PyArray_MultiIterNew4(a, b, c, d):
- return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
-
-cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
- return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
-
+
+
+# Typedefs that matches the runtime dtype objects in
+# the numpy module.
+
+# The ones that are commented out needs an IFDEF function
+# in Cython to enable them only on the right systems.
+
+ctypedef npy_int8 int8_t
+ctypedef npy_int16 int16_t
+ctypedef npy_int32 int32_t
+ctypedef npy_int64 int64_t
+#ctypedef npy_int96 int96_t
+#ctypedef npy_int128 int128_t
+
+ctypedef npy_uint8 uint8_t
+ctypedef npy_uint16 uint16_t
+ctypedef npy_uint32 uint32_t
+ctypedef npy_uint64 uint64_t
+#ctypedef npy_uint96 uint96_t
+#ctypedef npy_uint128 uint128_t
+
+ctypedef npy_float32 float32_t
+ctypedef npy_float64 float64_t
+#ctypedef npy_float80 float80_t
+#ctypedef npy_float128 float128_t
+
+ctypedef float complex complex64_t
+ctypedef double complex complex128_t
+
+# The int types are mapped a bit surprising --
+# numpy.int corresponds to 'l' and numpy.long to 'q'
+ctypedef npy_long int_t
+ctypedef npy_longlong long_t
+ctypedef npy_longlong longlong_t
+
+ctypedef npy_ulong uint_t
+ctypedef npy_ulonglong ulong_t
+ctypedef npy_ulonglong ulonglong_t
+
+ctypedef npy_intp intp_t
+ctypedef npy_uintp uintp_t
+
+ctypedef npy_double float_t
+ctypedef npy_double double_t
+ctypedef npy_longdouble longdouble_t
+
+ctypedef npy_cfloat cfloat_t
+ctypedef npy_cdouble cdouble_t
+ctypedef npy_clongdouble clongdouble_t
+
+ctypedef npy_cdouble complex_t
+
+cdef inline object PyArray_MultiIterNew1(a):
+ return PyArray_MultiIterNew(1, <void*>a)
+
+cdef inline object PyArray_MultiIterNew2(a, b):
+ return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+
+cdef inline object PyArray_MultiIterNew3(a, b, c):
+ return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+
+cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+
+cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+
cdef inline tuple PyDataType_SHAPE(dtype d):
if PyDataType_HASSUBARRAY(d):
return <tuple>d.subarray.shape
else:
return ()
-cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
- # Recursive utility function used in __getbuffer__ to get format
- # string. The new location in the format string is returned.
-
- cdef dtype child
- cdef int endian_detector = 1
- cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
- cdef tuple fields
-
- for childname in descr.names:
- fields = descr.fields[childname]
- child, new_offset = fields
-
+cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ # Recursive utility function used in __getbuffer__ to get format
+ # string. The new location in the format string is returned.
+
+ cdef dtype child
+ cdef int endian_detector = 1
+ cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ cdef tuple fields
+
+ for childname in descr.names:
+ fields = descr.fields[childname]
+ child, new_offset = fields
+
if (end - f) - <int>(new_offset - offset[0]) < 15:
- raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
-
- if ((child.byteorder == c'>' and little_endian) or
- (child.byteorder == c'<' and not little_endian)):
- raise ValueError(u"Non-native byte order not supported")
- # One could encode it in the format string and have Cython
- # complain instead, BUT: < and > in format strings also imply
- # standardized sizes for datatypes, and we rely on native in
- # order to avoid reencoding data types based on their size.
- #
- # A proper PEP 3118 exporter for other clients than Cython
- # must deal properly with this!
-
- # Output padding bytes
- while offset[0] < new_offset:
- f[0] = 120 # "x"; pad byte
- f += 1
- offset[0] += 1
-
- offset[0] += child.itemsize
-
- if not PyDataType_HASFIELDS(child):
- t = child.type_num
- if end - f < 5:
- raise RuntimeError(u"Format string allocated too short.")
-
- # Until ticket #99 is fixed, use integers to avoid warnings
- if t == NPY_BYTE: f[0] = 98 #"b"
- elif t == NPY_UBYTE: f[0] = 66 #"B"
- elif t == NPY_SHORT: f[0] = 104 #"h"
- elif t == NPY_USHORT: f[0] = 72 #"H"
- elif t == NPY_INT: f[0] = 105 #"i"
- elif t == NPY_UINT: f[0] = 73 #"I"
- elif t == NPY_LONG: f[0] = 108 #"l"
- elif t == NPY_ULONG: f[0] = 76 #"L"
- elif t == NPY_LONGLONG: f[0] = 113 #"q"
- elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
- elif t == NPY_FLOAT: f[0] = 102 #"f"
- elif t == NPY_DOUBLE: f[0] = 100 #"d"
- elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
- elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
- elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
- elif t == NPY_OBJECT: f[0] = 79 #"O"
- else:
- raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- f += 1
- else:
- # Cython ignores struct boundary information ("T{...}"),
- # so don't output it
- f = _util_dtypestring(child, f, end, offset)
- return f
-
-
-#
-# ufunc API
-#
-
-cdef extern from "numpy/ufuncobject.h":
-
- ctypedef void (*PyUFuncGenericFunction) (char **, npy_intp *, npy_intp *, void *)
-
- ctypedef extern class numpy.ufunc [object PyUFuncObject]:
- cdef:
- int nin, nout, nargs
- int identity
- PyUFuncGenericFunction *functions
- void **data
- int ntypes
- int check_return
+ raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+
+ if ((child.byteorder == c'>' and little_endian) or
+ (child.byteorder == c'<' and not little_endian)):
+ raise ValueError(u"Non-native byte order not supported")
+ # One could encode it in the format string and have Cython
+ # complain instead, BUT: < and > in format strings also imply
+ # standardized sizes for datatypes, and we rely on native in
+ # order to avoid reencoding data types based on their size.
+ #
+ # A proper PEP 3118 exporter for other clients than Cython
+ # must deal properly with this!
+
+ # Output padding bytes
+ while offset[0] < new_offset:
+ f[0] = 120 # "x"; pad byte
+ f += 1
+ offset[0] += 1
+
+ offset[0] += child.itemsize
+
+ if not PyDataType_HASFIELDS(child):
+ t = child.type_num
+ if end - f < 5:
+ raise RuntimeError(u"Format string allocated too short.")
+
+ # Until ticket #99 is fixed, use integers to avoid warnings
+ if t == NPY_BYTE: f[0] = 98 #"b"
+ elif t == NPY_UBYTE: f[0] = 66 #"B"
+ elif t == NPY_SHORT: f[0] = 104 #"h"
+ elif t == NPY_USHORT: f[0] = 72 #"H"
+ elif t == NPY_INT: f[0] = 105 #"i"
+ elif t == NPY_UINT: f[0] = 73 #"I"
+ elif t == NPY_LONG: f[0] = 108 #"l"
+ elif t == NPY_ULONG: f[0] = 76 #"L"
+ elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ elif t == NPY_FLOAT: f[0] = 102 #"f"
+ elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ elif t == NPY_OBJECT: f[0] = 79 #"O"
+ else:
+ raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ f += 1
+ else:
+ # Cython ignores struct boundary information ("T{...}"),
+ # so don't output it
+ f = _util_dtypestring(child, f, end, offset)
+ return f
+
+
+#
+# ufunc API
+#
+
+cdef extern from "numpy/ufuncobject.h":
+
+ ctypedef void (*PyUFuncGenericFunction) (char **, npy_intp *, npy_intp *, void *)
+
+ ctypedef extern class numpy.ufunc [object PyUFuncObject]:
+ cdef:
+ int nin, nout, nargs
+ int identity
+ PyUFuncGenericFunction *functions
+ void **data
+ int ntypes
+ int check_return
char *name
char *types
- char *doc
- void *ptr
- PyObject *obj
- PyObject *userloops
-
- cdef enum:
- PyUFunc_Zero
- PyUFunc_One
- PyUFunc_None
- UFUNC_ERR_IGNORE
- UFUNC_ERR_WARN
- UFUNC_ERR_RAISE
- UFUNC_ERR_CALL
- UFUNC_ERR_PRINT
- UFUNC_ERR_LOG
- UFUNC_MASK_DIVIDEBYZERO
- UFUNC_MASK_OVERFLOW
- UFUNC_MASK_UNDERFLOW
- UFUNC_MASK_INVALID
- UFUNC_SHIFT_DIVIDEBYZERO
- UFUNC_SHIFT_OVERFLOW
- UFUNC_SHIFT_UNDERFLOW
- UFUNC_SHIFT_INVALID
- UFUNC_FPE_DIVIDEBYZERO
- UFUNC_FPE_OVERFLOW
- UFUNC_FPE_UNDERFLOW
- UFUNC_FPE_INVALID
- UFUNC_ERR_DEFAULT
- UFUNC_ERR_DEFAULT2
-
- object PyUFunc_FromFuncAndData(PyUFuncGenericFunction *,
- void **, char *, int, int, int, int, char *, char *, int)
- int PyUFunc_RegisterLoopForType(ufunc, int,
- PyUFuncGenericFunction, int *, void *)
- int PyUFunc_GenericFunction \
- (ufunc, PyObject *, PyObject *, PyArrayObject **)
- void PyUFunc_f_f_As_d_d \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_d_d \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_f_f \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_g_g \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_F_F_As_D_D \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_F_F \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_D_D \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_G_G \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_O_O \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_ff_f_As_dd_d \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_ff_f \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_dd_d \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_gg_g \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_FF_F_As_DD_D \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_DD_D \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_FF_F \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_GG_G \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_OO_O \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_O_O_method \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_OO_O_method \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_On_Om \
- (char **, npy_intp *, npy_intp *, void *)
- int PyUFunc_GetPyValues \
- (char *, int *, int *, PyObject **)
- int PyUFunc_checkfperr \
- (int, PyObject *, int *)
- void PyUFunc_clearfperr()
- int PyUFunc_getfperr()
- int PyUFunc_handlefperr \
- (int, PyObject *, int, int *)
- int PyUFunc_ReplaceLoopBySignature \
- (ufunc, PyUFuncGenericFunction, int *, PyUFuncGenericFunction *)
- object PyUFunc_FromFuncAndDataAndSignature \
- (PyUFuncGenericFunction *, void **, char *, int, int, int,
- int, char *, char *, int, char *)
-
+ char *doc
+ void *ptr
+ PyObject *obj
+ PyObject *userloops
+
+ cdef enum:
+ PyUFunc_Zero
+ PyUFunc_One
+ PyUFunc_None
+ UFUNC_ERR_IGNORE
+ UFUNC_ERR_WARN
+ UFUNC_ERR_RAISE
+ UFUNC_ERR_CALL
+ UFUNC_ERR_PRINT
+ UFUNC_ERR_LOG
+ UFUNC_MASK_DIVIDEBYZERO
+ UFUNC_MASK_OVERFLOW
+ UFUNC_MASK_UNDERFLOW
+ UFUNC_MASK_INVALID
+ UFUNC_SHIFT_DIVIDEBYZERO
+ UFUNC_SHIFT_OVERFLOW
+ UFUNC_SHIFT_UNDERFLOW
+ UFUNC_SHIFT_INVALID
+ UFUNC_FPE_DIVIDEBYZERO
+ UFUNC_FPE_OVERFLOW
+ UFUNC_FPE_UNDERFLOW
+ UFUNC_FPE_INVALID
+ UFUNC_ERR_DEFAULT
+ UFUNC_ERR_DEFAULT2
+
+ object PyUFunc_FromFuncAndData(PyUFuncGenericFunction *,
+ void **, char *, int, int, int, int, char *, char *, int)
+ int PyUFunc_RegisterLoopForType(ufunc, int,
+ PyUFuncGenericFunction, int *, void *)
+ int PyUFunc_GenericFunction \
+ (ufunc, PyObject *, PyObject *, PyArrayObject **)
+ void PyUFunc_f_f_As_d_d \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_d_d \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_f_f \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_g_g \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_F_F_As_D_D \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_F_F \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_D_D \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_G_G \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_O_O \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_ff_f_As_dd_d \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_ff_f \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_dd_d \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_gg_g \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_FF_F_As_DD_D \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_DD_D \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_FF_F \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_GG_G \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_OO_O \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_O_O_method \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_OO_O_method \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_On_Om \
+ (char **, npy_intp *, npy_intp *, void *)
+ int PyUFunc_GetPyValues \
+ (char *, int *, int *, PyObject **)
+ int PyUFunc_checkfperr \
+ (int, PyObject *, int *)
+ void PyUFunc_clearfperr()
+ int PyUFunc_getfperr()
+ int PyUFunc_handlefperr \
+ (int, PyObject *, int, int *)
+ int PyUFunc_ReplaceLoopBySignature \
+ (ufunc, PyUFuncGenericFunction, int *, PyUFuncGenericFunction *)
+ object PyUFunc_FromFuncAndDataAndSignature \
+ (PyUFuncGenericFunction *, void **, char *, int, int, int,
+ int, char *, char *, int, char *)
+
int _import_umath() except -1
-
-cdef inline void set_array_base(ndarray arr, object base):
+
+cdef inline void set_array_base(ndarray arr, object base):
Py_INCREF(base) # important to do this before stealing the reference below!
PyArray_SetBaseObject(arr, base)
-
-cdef inline object get_array_base(ndarray arr):
+
+cdef inline object get_array_base(ndarray arr):
base = PyArray_BASE(arr)
if base is NULL:
- return None
+ return None
return <object>base
# Versions of the import_* functions which are more suitable for
diff --git a/contrib/tools/cython/Cython/Includes/numpy/__init__.pxd b/contrib/tools/cython/Cython/Includes/numpy/__init__.pxd
index 15700c05ef..ba272b4bf4 100644
--- a/contrib/tools/cython/Cython/Includes/numpy/__init__.pxd
+++ b/contrib/tools/cython/Cython/Includes/numpy/__init__.pxd
@@ -1,97 +1,97 @@
-# NumPy static imports for Cython
-#
-# If any of the PyArray_* functions are called, import_array must be
-# called first.
-#
+# NumPy static imports for Cython
+#
+# If any of the PyArray_* functions are called, import_array must be
+# called first.
+#
# This also defines backwards-compatibility buffer acquisition
-# code for use in Python 2.x (or Python <= 2.5 when NumPy starts
-# implementing PEP-3118 directly).
-#
-# Because of laziness, the format string of the buffer is statically
-# allocated. Increase the size if this is not enough, or submit a
-# patch to do this properly.
-#
-# Author: Dag Sverre Seljebotn
-#
-
-DEF _buffer_format_string_len = 255
-
-cimport cpython.buffer as pybuf
+# code for use in Python 2.x (or Python <= 2.5 when NumPy starts
+# implementing PEP-3118 directly).
+#
+# Because of laziness, the format string of the buffer is statically
+# allocated. Increase the size if this is not enough, or submit a
+# patch to do this properly.
+#
+# Author: Dag Sverre Seljebotn
+#
+
+DEF _buffer_format_string_len = 255
+
+cimport cpython.buffer as pybuf
from cpython.ref cimport Py_INCREF
from cpython.mem cimport PyObject_Malloc, PyObject_Free
from cpython.object cimport PyObject, PyTypeObject
-from cpython.type cimport type
-cimport libc.stdio as stdio
-
-cdef extern from "Python.h":
- ctypedef int Py_intptr_t
-
-cdef extern from "numpy/arrayobject.h":
- ctypedef Py_intptr_t npy_intp
- ctypedef size_t npy_uintp
-
- cdef enum NPY_TYPES:
- NPY_BOOL
- NPY_BYTE
- NPY_UBYTE
- NPY_SHORT
- NPY_USHORT
- NPY_INT
- NPY_UINT
- NPY_LONG
- NPY_ULONG
- NPY_LONGLONG
- NPY_ULONGLONG
- NPY_FLOAT
- NPY_DOUBLE
- NPY_LONGDOUBLE
- NPY_CFLOAT
- NPY_CDOUBLE
- NPY_CLONGDOUBLE
- NPY_OBJECT
- NPY_STRING
- NPY_UNICODE
- NPY_VOID
+from cpython.type cimport type
+cimport libc.stdio as stdio
+
+cdef extern from "Python.h":
+ ctypedef int Py_intptr_t
+
+cdef extern from "numpy/arrayobject.h":
+ ctypedef Py_intptr_t npy_intp
+ ctypedef size_t npy_uintp
+
+ cdef enum NPY_TYPES:
+ NPY_BOOL
+ NPY_BYTE
+ NPY_UBYTE
+ NPY_SHORT
+ NPY_USHORT
+ NPY_INT
+ NPY_UINT
+ NPY_LONG
+ NPY_ULONG
+ NPY_LONGLONG
+ NPY_ULONGLONG
+ NPY_FLOAT
+ NPY_DOUBLE
+ NPY_LONGDOUBLE
+ NPY_CFLOAT
+ NPY_CDOUBLE
+ NPY_CLONGDOUBLE
+ NPY_OBJECT
+ NPY_STRING
+ NPY_UNICODE
+ NPY_VOID
NPY_DATETIME
NPY_TIMEDELTA
- NPY_NTYPES
- NPY_NOTYPE
-
- NPY_INT8
- NPY_INT16
- NPY_INT32
- NPY_INT64
- NPY_INT128
- NPY_INT256
- NPY_UINT8
- NPY_UINT16
- NPY_UINT32
- NPY_UINT64
- NPY_UINT128
- NPY_UINT256
- NPY_FLOAT16
- NPY_FLOAT32
- NPY_FLOAT64
- NPY_FLOAT80
- NPY_FLOAT96
- NPY_FLOAT128
- NPY_FLOAT256
- NPY_COMPLEX32
- NPY_COMPLEX64
- NPY_COMPLEX128
- NPY_COMPLEX160
- NPY_COMPLEX192
- NPY_COMPLEX256
- NPY_COMPLEX512
-
- NPY_INTP
-
- ctypedef enum NPY_ORDER:
- NPY_ANYORDER
- NPY_CORDER
- NPY_FORTRANORDER
+ NPY_NTYPES
+ NPY_NOTYPE
+
+ NPY_INT8
+ NPY_INT16
+ NPY_INT32
+ NPY_INT64
+ NPY_INT128
+ NPY_INT256
+ NPY_UINT8
+ NPY_UINT16
+ NPY_UINT32
+ NPY_UINT64
+ NPY_UINT128
+ NPY_UINT256
+ NPY_FLOAT16
+ NPY_FLOAT32
+ NPY_FLOAT64
+ NPY_FLOAT80
+ NPY_FLOAT96
+ NPY_FLOAT128
+ NPY_FLOAT256
+ NPY_COMPLEX32
+ NPY_COMPLEX64
+ NPY_COMPLEX128
+ NPY_COMPLEX160
+ NPY_COMPLEX192
+ NPY_COMPLEX256
+ NPY_COMPLEX512
+
+ NPY_INTP
+
+ ctypedef enum NPY_ORDER:
+ NPY_ANYORDER
+ NPY_CORDER
+ NPY_FORTRANORDER
NPY_KEEPORDER
-
+
ctypedef enum NPY_CASTING:
NPY_NO_CASTING
NPY_EQUIV_CASTING
@@ -99,63 +99,63 @@ cdef extern from "numpy/arrayobject.h":
NPY_SAME_KIND_CASTING
NPY_UNSAFE_CASTING
- ctypedef enum NPY_CLIPMODE:
- NPY_CLIP
- NPY_WRAP
- NPY_RAISE
-
- ctypedef enum NPY_SCALARKIND:
- NPY_NOSCALAR,
- NPY_BOOL_SCALAR,
- NPY_INTPOS_SCALAR,
- NPY_INTNEG_SCALAR,
- NPY_FLOAT_SCALAR,
- NPY_COMPLEX_SCALAR,
- NPY_OBJECT_SCALAR
-
- ctypedef enum NPY_SORTKIND:
- NPY_QUICKSORT
- NPY_HEAPSORT
- NPY_MERGESORT
-
- ctypedef enum NPY_SEARCHSIDE:
- NPY_SEARCHLEFT
- NPY_SEARCHRIGHT
-
- enum:
+ ctypedef enum NPY_CLIPMODE:
+ NPY_CLIP
+ NPY_WRAP
+ NPY_RAISE
+
+ ctypedef enum NPY_SCALARKIND:
+ NPY_NOSCALAR,
+ NPY_BOOL_SCALAR,
+ NPY_INTPOS_SCALAR,
+ NPY_INTNEG_SCALAR,
+ NPY_FLOAT_SCALAR,
+ NPY_COMPLEX_SCALAR,
+ NPY_OBJECT_SCALAR
+
+ ctypedef enum NPY_SORTKIND:
+ NPY_QUICKSORT
+ NPY_HEAPSORT
+ NPY_MERGESORT
+
+ ctypedef enum NPY_SEARCHSIDE:
+ NPY_SEARCHLEFT
+ NPY_SEARCHRIGHT
+
+ enum:
# DEPRECATED since NumPy 1.7 ! Do not use in new code!
- NPY_C_CONTIGUOUS
- NPY_F_CONTIGUOUS
- NPY_CONTIGUOUS
- NPY_FORTRAN
- NPY_OWNDATA
- NPY_FORCECAST
- NPY_ENSURECOPY
- NPY_ENSUREARRAY
- NPY_ELEMENTSTRIDES
- NPY_ALIGNED
- NPY_NOTSWAPPED
- NPY_WRITEABLE
- NPY_UPDATEIFCOPY
- NPY_ARR_HAS_DESCR
-
- NPY_BEHAVED
- NPY_BEHAVED_NS
- NPY_CARRAY
- NPY_CARRAY_RO
- NPY_FARRAY
- NPY_FARRAY_RO
- NPY_DEFAULT
-
- NPY_IN_ARRAY
- NPY_OUT_ARRAY
- NPY_INOUT_ARRAY
- NPY_IN_FARRAY
- NPY_OUT_FARRAY
- NPY_INOUT_FARRAY
-
- NPY_UPDATE_ALL
-
+ NPY_C_CONTIGUOUS
+ NPY_F_CONTIGUOUS
+ NPY_CONTIGUOUS
+ NPY_FORTRAN
+ NPY_OWNDATA
+ NPY_FORCECAST
+ NPY_ENSURECOPY
+ NPY_ENSUREARRAY
+ NPY_ELEMENTSTRIDES
+ NPY_ALIGNED
+ NPY_NOTSWAPPED
+ NPY_WRITEABLE
+ NPY_UPDATEIFCOPY
+ NPY_ARR_HAS_DESCR
+
+ NPY_BEHAVED
+ NPY_BEHAVED_NS
+ NPY_CARRAY
+ NPY_CARRAY_RO
+ NPY_FARRAY
+ NPY_FARRAY_RO
+ NPY_DEFAULT
+
+ NPY_IN_ARRAY
+ NPY_OUT_ARRAY
+ NPY_INOUT_ARRAY
+ NPY_IN_FARRAY
+ NPY_OUT_FARRAY
+ NPY_INOUT_FARRAY
+
+ NPY_UPDATE_ALL
+
enum:
# Added in NumPy 1.7 to replace the deprecated enums above.
NPY_ARRAY_C_CONTIGUOUS
@@ -187,13 +187,13 @@ cdef extern from "numpy/arrayobject.h":
NPY_ARRAY_UPDATE_ALL
- cdef enum:
- NPY_MAXDIMS
-
- npy_intp NPY_MAX_ELSIZE
-
- ctypedef void (*PyArray_VectorUnaryFunc)(void *, void *, npy_intp, void *, void *)
-
+ cdef enum:
+ NPY_MAXDIMS
+
+ npy_intp NPY_MAX_ELSIZE
+
+ ctypedef void (*PyArray_VectorUnaryFunc)(void *, void *, npy_intp, void *, void *)
+
ctypedef struct PyArray_ArrayDescr:
# shape is a tuple, but Cython doesn't support "tuple shape"
# inside a non-PyObject declaration, so we have to declare it
@@ -204,7 +204,7 @@ cdef extern from "numpy/arrayobject.h":
pass
ctypedef class numpy.dtype [object PyArray_Descr, check_size ignore]:
- # Use PyDataType_* macros when possible, however there are no macros
+ # Use PyDataType_* macros when possible, however there are no macros
# for accessing some of the fields, so some are defined.
cdef PyTypeObject* typeobj
cdef char kind
@@ -216,816 +216,816 @@ cdef extern from "numpy/arrayobject.h":
# directly accessing this field.
cdef char byteorder
cdef char flags
- cdef int type_num
- cdef int itemsize "elsize"
+ cdef int type_num
+ cdef int itemsize "elsize"
cdef int alignment
cdef dict fields
- cdef tuple names
+ cdef tuple names
# Use PyDataType_HASSUBARRAY to test whether this field is
# valid (the pointer can be NULL). Most users should access
# this field via the inline helper method PyDataType_SHAPE.
cdef PyArray_ArrayDescr* subarray
-
+
ctypedef class numpy.flatiter [object PyArrayIterObject, check_size ignore]:
- # Use through macros
- pass
-
+ # Use through macros
+ pass
+
ctypedef class numpy.broadcast [object PyArrayMultiIterObject, check_size ignore]:
- # Use through macros
- pass
-
- ctypedef struct PyArrayObject:
- # For use in situations where ndarray can't replace PyArrayObject*,
- # like PyArrayObject**.
- pass
-
+ # Use through macros
+ pass
+
+ ctypedef struct PyArrayObject:
+ # For use in situations where ndarray can't replace PyArrayObject*,
+ # like PyArrayObject**.
+ pass
+
ctypedef class numpy.ndarray [object PyArrayObject, check_size ignore]:
- cdef __cythonbufferdefaults__ = {"mode": "strided"}
-
- cdef:
- # Only taking a few of the most commonly used and stable fields.
- # One should use PyArray_* macros instead to access the C fields.
- char *data
- int ndim "nd"
- npy_intp *shape "dimensions"
- npy_intp *strides
+ cdef __cythonbufferdefaults__ = {"mode": "strided"}
+
+ cdef:
+ # Only taking a few of the most commonly used and stable fields.
+ # One should use PyArray_* macros instead to access the C fields.
+ char *data
+ int ndim "nd"
+ npy_intp *shape "dimensions"
+ npy_intp *strides
dtype descr # deprecated since NumPy 1.7 !
- PyObject* base
-
- # Note: This syntax (function definition in pxd files) is an
- # experimental exception made for __getbuffer__ and __releasebuffer__
- # -- the details of this may change.
- def __getbuffer__(ndarray self, Py_buffer* info, int flags):
- # This implementation of getbuffer is geared towards Cython
+ PyObject* base
+
+ # Note: This syntax (function definition in pxd files) is an
+ # experimental exception made for __getbuffer__ and __releasebuffer__
+ # -- the details of this may change.
+ def __getbuffer__(ndarray self, Py_buffer* info, int flags):
+ # This implementation of getbuffer is geared towards Cython
# requirements, and does not yet fulfill the PEP.
- # In particular strided access is always provided regardless
- # of flags
-
+ # In particular strided access is always provided regardless
+ # of flags
+
cdef int i, ndim
- cdef int endian_detector = 1
- cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
-
- ndim = PyArray_NDIM(self)
-
- if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
+ cdef int endian_detector = 1
+ cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+
+ ndim = PyArray_NDIM(self)
+
+ if ((flags & pybuf.PyBUF_C_CONTIGUOUS == pybuf.PyBUF_C_CONTIGUOUS)
and not PyArray_CHKFLAGS(self, NPY_ARRAY_C_CONTIGUOUS)):
- raise ValueError(u"ndarray is not C contiguous")
-
- if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
+ raise ValueError(u"ndarray is not C contiguous")
+
+ if ((flags & pybuf.PyBUF_F_CONTIGUOUS == pybuf.PyBUF_F_CONTIGUOUS)
and not PyArray_CHKFLAGS(self, NPY_ARRAY_F_CONTIGUOUS)):
- raise ValueError(u"ndarray is not Fortran contiguous")
-
- info.buf = PyArray_DATA(self)
- info.ndim = ndim
+ raise ValueError(u"ndarray is not Fortran contiguous")
+
+ info.buf = PyArray_DATA(self)
+ info.ndim = ndim
if sizeof(npy_intp) != sizeof(Py_ssize_t):
- # Allocate new buffer for strides and shape info.
- # This is allocated as one block, strides first.
+ # Allocate new buffer for strides and shape info.
+ # This is allocated as one block, strides first.
info.strides = <Py_ssize_t*>PyObject_Malloc(sizeof(Py_ssize_t) * 2 * <size_t>ndim)
- info.shape = info.strides + ndim
- for i in range(ndim):
- info.strides[i] = PyArray_STRIDES(self)[i]
- info.shape[i] = PyArray_DIMS(self)[i]
- else:
- info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
- info.shape = <Py_ssize_t*>PyArray_DIMS(self)
- info.suboffsets = NULL
- info.itemsize = PyArray_ITEMSIZE(self)
- info.readonly = not PyArray_ISWRITEABLE(self)
-
- cdef int t
- cdef char* f = NULL
+ info.shape = info.strides + ndim
+ for i in range(ndim):
+ info.strides[i] = PyArray_STRIDES(self)[i]
+ info.shape[i] = PyArray_DIMS(self)[i]
+ else:
+ info.strides = <Py_ssize_t*>PyArray_STRIDES(self)
+ info.shape = <Py_ssize_t*>PyArray_DIMS(self)
+ info.suboffsets = NULL
+ info.itemsize = PyArray_ITEMSIZE(self)
+ info.readonly = not PyArray_ISWRITEABLE(self)
+
+ cdef int t
+ cdef char* f = NULL
cdef dtype descr = <dtype>PyArray_DESCR(self)
- cdef int offset
-
+ cdef int offset
+
info.obj = self
-
+
if not PyDataType_HASFIELDS(descr):
- t = descr.type_num
- if ((descr.byteorder == c'>' and little_endian) or
- (descr.byteorder == c'<' and not little_endian)):
- raise ValueError(u"Non-native byte order not supported")
- if t == NPY_BYTE: f = "b"
- elif t == NPY_UBYTE: f = "B"
- elif t == NPY_SHORT: f = "h"
- elif t == NPY_USHORT: f = "H"
- elif t == NPY_INT: f = "i"
- elif t == NPY_UINT: f = "I"
- elif t == NPY_LONG: f = "l"
- elif t == NPY_ULONG: f = "L"
- elif t == NPY_LONGLONG: f = "q"
- elif t == NPY_ULONGLONG: f = "Q"
- elif t == NPY_FLOAT: f = "f"
- elif t == NPY_DOUBLE: f = "d"
- elif t == NPY_LONGDOUBLE: f = "g"
- elif t == NPY_CFLOAT: f = "Zf"
- elif t == NPY_CDOUBLE: f = "Zd"
- elif t == NPY_CLONGDOUBLE: f = "Zg"
- elif t == NPY_OBJECT: f = "O"
- else:
- raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- info.format = f
- return
- else:
+ t = descr.type_num
+ if ((descr.byteorder == c'>' and little_endian) or
+ (descr.byteorder == c'<' and not little_endian)):
+ raise ValueError(u"Non-native byte order not supported")
+ if t == NPY_BYTE: f = "b"
+ elif t == NPY_UBYTE: f = "B"
+ elif t == NPY_SHORT: f = "h"
+ elif t == NPY_USHORT: f = "H"
+ elif t == NPY_INT: f = "i"
+ elif t == NPY_UINT: f = "I"
+ elif t == NPY_LONG: f = "l"
+ elif t == NPY_ULONG: f = "L"
+ elif t == NPY_LONGLONG: f = "q"
+ elif t == NPY_ULONGLONG: f = "Q"
+ elif t == NPY_FLOAT: f = "f"
+ elif t == NPY_DOUBLE: f = "d"
+ elif t == NPY_LONGDOUBLE: f = "g"
+ elif t == NPY_CFLOAT: f = "Zf"
+ elif t == NPY_CDOUBLE: f = "Zd"
+ elif t == NPY_CLONGDOUBLE: f = "Zg"
+ elif t == NPY_OBJECT: f = "O"
+ else:
+ raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ info.format = f
+ return
+ else:
info.format = <char*>PyObject_Malloc(_buffer_format_string_len)
- info.format[0] = c'^' # Native data types, manual alignment
- offset = 0
- f = _util_dtypestring(descr, info.format + 1,
- info.format + _buffer_format_string_len,
- &offset)
- f[0] = c'\0' # Terminate format string
-
- def __releasebuffer__(ndarray self, Py_buffer* info):
- if PyArray_HASFIELDS(self):
+ info.format[0] = c'^' # Native data types, manual alignment
+ offset = 0
+ f = _util_dtypestring(descr, info.format + 1,
+ info.format + _buffer_format_string_len,
+ &offset)
+ f[0] = c'\0' # Terminate format string
+
+ def __releasebuffer__(ndarray self, Py_buffer* info):
+ if PyArray_HASFIELDS(self):
PyObject_Free(info.format)
- if sizeof(npy_intp) != sizeof(Py_ssize_t):
+ if sizeof(npy_intp) != sizeof(Py_ssize_t):
PyObject_Free(info.strides)
- # info.shape was stored after info.strides in the same block
-
- ctypedef unsigned char npy_bool
-
- ctypedef signed char npy_byte
- ctypedef signed short npy_short
- ctypedef signed int npy_int
- ctypedef signed long npy_long
- ctypedef signed long long npy_longlong
-
- ctypedef unsigned char npy_ubyte
- ctypedef unsigned short npy_ushort
- ctypedef unsigned int npy_uint
- ctypedef unsigned long npy_ulong
- ctypedef unsigned long long npy_ulonglong
-
- ctypedef float npy_float
- ctypedef double npy_double
- ctypedef long double npy_longdouble
-
- ctypedef signed char npy_int8
- ctypedef signed short npy_int16
- ctypedef signed int npy_int32
- ctypedef signed long long npy_int64
- ctypedef signed long long npy_int96
- ctypedef signed long long npy_int128
-
- ctypedef unsigned char npy_uint8
- ctypedef unsigned short npy_uint16
- ctypedef unsigned int npy_uint32
- ctypedef unsigned long long npy_uint64
- ctypedef unsigned long long npy_uint96
- ctypedef unsigned long long npy_uint128
-
- ctypedef float npy_float32
- ctypedef double npy_float64
- ctypedef long double npy_float80
- ctypedef long double npy_float96
- ctypedef long double npy_float128
-
- ctypedef struct npy_cfloat:
- double real
- double imag
-
- ctypedef struct npy_cdouble:
- double real
- double imag
-
- ctypedef struct npy_clongdouble:
+ # info.shape was stored after info.strides in the same block
+
+ ctypedef unsigned char npy_bool
+
+ ctypedef signed char npy_byte
+ ctypedef signed short npy_short
+ ctypedef signed int npy_int
+ ctypedef signed long npy_long
+ ctypedef signed long long npy_longlong
+
+ ctypedef unsigned char npy_ubyte
+ ctypedef unsigned short npy_ushort
+ ctypedef unsigned int npy_uint
+ ctypedef unsigned long npy_ulong
+ ctypedef unsigned long long npy_ulonglong
+
+ ctypedef float npy_float
+ ctypedef double npy_double
+ ctypedef long double npy_longdouble
+
+ ctypedef signed char npy_int8
+ ctypedef signed short npy_int16
+ ctypedef signed int npy_int32
+ ctypedef signed long long npy_int64
+ ctypedef signed long long npy_int96
+ ctypedef signed long long npy_int128
+
+ ctypedef unsigned char npy_uint8
+ ctypedef unsigned short npy_uint16
+ ctypedef unsigned int npy_uint32
+ ctypedef unsigned long long npy_uint64
+ ctypedef unsigned long long npy_uint96
+ ctypedef unsigned long long npy_uint128
+
+ ctypedef float npy_float32
+ ctypedef double npy_float64
+ ctypedef long double npy_float80
+ ctypedef long double npy_float96
+ ctypedef long double npy_float128
+
+ ctypedef struct npy_cfloat:
+ double real
+ double imag
+
+ ctypedef struct npy_cdouble:
+ double real
+ double imag
+
+ ctypedef struct npy_clongdouble:
long double real
long double imag
-
- ctypedef struct npy_complex64:
+
+ ctypedef struct npy_complex64:
float real
float imag
-
- ctypedef struct npy_complex128:
- double real
- double imag
-
- ctypedef struct npy_complex160:
+
+ ctypedef struct npy_complex128:
+ double real
+ double imag
+
+ ctypedef struct npy_complex160:
long double real
long double imag
-
- ctypedef struct npy_complex192:
+
+ ctypedef struct npy_complex192:
long double real
long double imag
-
- ctypedef struct npy_complex256:
+
+ ctypedef struct npy_complex256:
long double real
long double imag
-
- ctypedef struct PyArray_Dims:
- npy_intp *ptr
- int len
-
+
+ ctypedef struct PyArray_Dims:
+ npy_intp *ptr
+ int len
+
int _import_array() except -1
-
- #
- # Macros from ndarrayobject.h
- #
- bint PyArray_CHKFLAGS(ndarray m, int flags)
+
+ #
+ # Macros from ndarrayobject.h
+ #
+ bint PyArray_CHKFLAGS(ndarray m, int flags)
bint PyArray_IS_C_CONTIGUOUS(ndarray arr)
bint PyArray_IS_F_CONTIGUOUS(ndarray arr)
- bint PyArray_ISCONTIGUOUS(ndarray m)
- bint PyArray_ISWRITEABLE(ndarray m)
- bint PyArray_ISALIGNED(ndarray m)
-
- int PyArray_NDIM(ndarray)
- bint PyArray_ISONESEGMENT(ndarray)
- bint PyArray_ISFORTRAN(ndarray)
- int PyArray_FORTRANIF(ndarray)
-
- void* PyArray_DATA(ndarray)
- char* PyArray_BYTES(ndarray)
- npy_intp* PyArray_DIMS(ndarray)
- npy_intp* PyArray_STRIDES(ndarray)
- npy_intp PyArray_DIM(ndarray, size_t)
- npy_intp PyArray_STRIDE(ndarray, size_t)
-
+ bint PyArray_ISCONTIGUOUS(ndarray m)
+ bint PyArray_ISWRITEABLE(ndarray m)
+ bint PyArray_ISALIGNED(ndarray m)
+
+ int PyArray_NDIM(ndarray)
+ bint PyArray_ISONESEGMENT(ndarray)
+ bint PyArray_ISFORTRAN(ndarray)
+ int PyArray_FORTRANIF(ndarray)
+
+ void* PyArray_DATA(ndarray)
+ char* PyArray_BYTES(ndarray)
+ npy_intp* PyArray_DIMS(ndarray)
+ npy_intp* PyArray_STRIDES(ndarray)
+ npy_intp PyArray_DIM(ndarray, size_t)
+ npy_intp PyArray_STRIDE(ndarray, size_t)
+
PyObject *PyArray_BASE(ndarray) # returns borrowed reference!
PyArray_Descr *PyArray_DESCR(ndarray) # returns borrowed reference to dtype!
- int PyArray_FLAGS(ndarray)
- npy_intp PyArray_ITEMSIZE(ndarray)
- int PyArray_TYPE(ndarray arr)
-
- object PyArray_GETITEM(ndarray arr, void *itemptr)
- int PyArray_SETITEM(ndarray arr, void *itemptr, object obj)
-
- bint PyTypeNum_ISBOOL(int)
- bint PyTypeNum_ISUNSIGNED(int)
- bint PyTypeNum_ISSIGNED(int)
- bint PyTypeNum_ISINTEGER(int)
- bint PyTypeNum_ISFLOAT(int)
- bint PyTypeNum_ISNUMBER(int)
- bint PyTypeNum_ISSTRING(int)
- bint PyTypeNum_ISCOMPLEX(int)
- bint PyTypeNum_ISPYTHON(int)
- bint PyTypeNum_ISFLEXIBLE(int)
- bint PyTypeNum_ISUSERDEF(int)
- bint PyTypeNum_ISEXTENDED(int)
- bint PyTypeNum_ISOBJECT(int)
-
- bint PyDataType_ISBOOL(dtype)
- bint PyDataType_ISUNSIGNED(dtype)
- bint PyDataType_ISSIGNED(dtype)
- bint PyDataType_ISINTEGER(dtype)
- bint PyDataType_ISFLOAT(dtype)
- bint PyDataType_ISNUMBER(dtype)
- bint PyDataType_ISSTRING(dtype)
- bint PyDataType_ISCOMPLEX(dtype)
- bint PyDataType_ISPYTHON(dtype)
- bint PyDataType_ISFLEXIBLE(dtype)
- bint PyDataType_ISUSERDEF(dtype)
- bint PyDataType_ISEXTENDED(dtype)
- bint PyDataType_ISOBJECT(dtype)
- bint PyDataType_HASFIELDS(dtype)
+ int PyArray_FLAGS(ndarray)
+ npy_intp PyArray_ITEMSIZE(ndarray)
+ int PyArray_TYPE(ndarray arr)
+
+ object PyArray_GETITEM(ndarray arr, void *itemptr)
+ int PyArray_SETITEM(ndarray arr, void *itemptr, object obj)
+
+ bint PyTypeNum_ISBOOL(int)
+ bint PyTypeNum_ISUNSIGNED(int)
+ bint PyTypeNum_ISSIGNED(int)
+ bint PyTypeNum_ISINTEGER(int)
+ bint PyTypeNum_ISFLOAT(int)
+ bint PyTypeNum_ISNUMBER(int)
+ bint PyTypeNum_ISSTRING(int)
+ bint PyTypeNum_ISCOMPLEX(int)
+ bint PyTypeNum_ISPYTHON(int)
+ bint PyTypeNum_ISFLEXIBLE(int)
+ bint PyTypeNum_ISUSERDEF(int)
+ bint PyTypeNum_ISEXTENDED(int)
+ bint PyTypeNum_ISOBJECT(int)
+
+ bint PyDataType_ISBOOL(dtype)
+ bint PyDataType_ISUNSIGNED(dtype)
+ bint PyDataType_ISSIGNED(dtype)
+ bint PyDataType_ISINTEGER(dtype)
+ bint PyDataType_ISFLOAT(dtype)
+ bint PyDataType_ISNUMBER(dtype)
+ bint PyDataType_ISSTRING(dtype)
+ bint PyDataType_ISCOMPLEX(dtype)
+ bint PyDataType_ISPYTHON(dtype)
+ bint PyDataType_ISFLEXIBLE(dtype)
+ bint PyDataType_ISUSERDEF(dtype)
+ bint PyDataType_ISEXTENDED(dtype)
+ bint PyDataType_ISOBJECT(dtype)
+ bint PyDataType_HASFIELDS(dtype)
bint PyDataType_HASSUBARRAY(dtype)
-
- bint PyArray_ISBOOL(ndarray)
- bint PyArray_ISUNSIGNED(ndarray)
- bint PyArray_ISSIGNED(ndarray)
- bint PyArray_ISINTEGER(ndarray)
- bint PyArray_ISFLOAT(ndarray)
- bint PyArray_ISNUMBER(ndarray)
- bint PyArray_ISSTRING(ndarray)
- bint PyArray_ISCOMPLEX(ndarray)
- bint PyArray_ISPYTHON(ndarray)
- bint PyArray_ISFLEXIBLE(ndarray)
- bint PyArray_ISUSERDEF(ndarray)
- bint PyArray_ISEXTENDED(ndarray)
- bint PyArray_ISOBJECT(ndarray)
- bint PyArray_HASFIELDS(ndarray)
-
- bint PyArray_ISVARIABLE(ndarray)
-
- bint PyArray_SAFEALIGNEDCOPY(ndarray)
- bint PyArray_ISNBO(char) # works on ndarray.byteorder
- bint PyArray_IsNativeByteOrder(char) # works on ndarray.byteorder
- bint PyArray_ISNOTSWAPPED(ndarray)
- bint PyArray_ISBYTESWAPPED(ndarray)
-
- bint PyArray_FLAGSWAP(ndarray, int)
-
- bint PyArray_ISCARRAY(ndarray)
- bint PyArray_ISCARRAY_RO(ndarray)
- bint PyArray_ISFARRAY(ndarray)
- bint PyArray_ISFARRAY_RO(ndarray)
- bint PyArray_ISBEHAVED(ndarray)
- bint PyArray_ISBEHAVED_RO(ndarray)
-
-
- bint PyDataType_ISNOTSWAPPED(dtype)
- bint PyDataType_ISBYTESWAPPED(dtype)
-
- bint PyArray_DescrCheck(object)
-
- bint PyArray_Check(object)
- bint PyArray_CheckExact(object)
-
- # Cannot be supported due to out arg:
- # bint PyArray_HasArrayInterfaceType(object, dtype, object, object&)
- # bint PyArray_HasArrayInterface(op, out)
-
-
- bint PyArray_IsZeroDim(object)
- # Cannot be supported due to ## ## in macro:
- # bint PyArray_IsScalar(object, verbatim work)
- bint PyArray_CheckScalar(object)
- bint PyArray_IsPythonNumber(object)
- bint PyArray_IsPythonScalar(object)
- bint PyArray_IsAnyScalar(object)
- bint PyArray_CheckAnyScalar(object)
- ndarray PyArray_GETCONTIGUOUS(ndarray)
- bint PyArray_SAMESHAPE(ndarray, ndarray)
- npy_intp PyArray_SIZE(ndarray)
- npy_intp PyArray_NBYTES(ndarray)
-
- object PyArray_FROM_O(object)
- object PyArray_FROM_OF(object m, int flags)
- object PyArray_FROM_OT(object m, int type)
- object PyArray_FROM_OTF(object m, int type, int flags)
- object PyArray_FROMANY(object m, int type, int min, int max, int flags)
- object PyArray_ZEROS(int nd, npy_intp* dims, int type, int fortran)
- object PyArray_EMPTY(int nd, npy_intp* dims, int type, int fortran)
- void PyArray_FILLWBYTE(object, int val)
- npy_intp PyArray_REFCOUNT(object)
- object PyArray_ContiguousFromAny(op, int, int min_depth, int max_depth)
- unsigned char PyArray_EquivArrTypes(ndarray a1, ndarray a2)
- bint PyArray_EquivByteorders(int b1, int b2)
- object PyArray_SimpleNew(int nd, npy_intp* dims, int typenum)
- object PyArray_SimpleNewFromData(int nd, npy_intp* dims, int typenum, void* data)
- #object PyArray_SimpleNewFromDescr(int nd, npy_intp* dims, dtype descr)
- object PyArray_ToScalar(void* data, ndarray arr)
-
- void* PyArray_GETPTR1(ndarray m, npy_intp i)
- void* PyArray_GETPTR2(ndarray m, npy_intp i, npy_intp j)
- void* PyArray_GETPTR3(ndarray m, npy_intp i, npy_intp j, npy_intp k)
- void* PyArray_GETPTR4(ndarray m, npy_intp i, npy_intp j, npy_intp k, npy_intp l)
-
- void PyArray_XDECREF_ERR(ndarray)
- # Cannot be supported due to out arg
- # void PyArray_DESCR_REPLACE(descr)
-
-
- object PyArray_Copy(ndarray)
- object PyArray_FromObject(object op, int type, int min_depth, int max_depth)
- object PyArray_ContiguousFromObject(object op, int type, int min_depth, int max_depth)
- object PyArray_CopyFromObject(object op, int type, int min_depth, int max_depth)
-
- object PyArray_Cast(ndarray mp, int type_num)
- object PyArray_Take(ndarray ap, object items, int axis)
- object PyArray_Put(ndarray ap, object items, object values)
-
- void PyArray_ITER_RESET(flatiter it) nogil
- void PyArray_ITER_NEXT(flatiter it) nogil
- void PyArray_ITER_GOTO(flatiter it, npy_intp* destination) nogil
- void PyArray_ITER_GOTO1D(flatiter it, npy_intp ind) nogil
- void* PyArray_ITER_DATA(flatiter it) nogil
- bint PyArray_ITER_NOTDONE(flatiter it) nogil
-
- void PyArray_MultiIter_RESET(broadcast multi) nogil
- void PyArray_MultiIter_NEXT(broadcast multi) nogil
- void PyArray_MultiIter_GOTO(broadcast multi, npy_intp dest) nogil
- void PyArray_MultiIter_GOTO1D(broadcast multi, npy_intp ind) nogil
- void* PyArray_MultiIter_DATA(broadcast multi, npy_intp i) nogil
- void PyArray_MultiIter_NEXTi(broadcast multi, npy_intp i) nogil
- bint PyArray_MultiIter_NOTDONE(broadcast multi) nogil
-
- # Functions from __multiarray_api.h
-
- # Functions taking dtype and returning object/ndarray are disabled
- # for now as they steal dtype references. I'm conservative and disable
- # more than is probably needed until it can be checked further.
- int PyArray_SetNumericOps (object)
- object PyArray_GetNumericOps ()
- int PyArray_INCREF (ndarray)
- int PyArray_XDECREF (ndarray)
- void PyArray_SetStringFunction (object, int)
- dtype PyArray_DescrFromType (int)
- object PyArray_TypeObjectFromType (int)
- char * PyArray_Zero (ndarray)
- char * PyArray_One (ndarray)
- #object PyArray_CastToType (ndarray, dtype, int)
- int PyArray_CastTo (ndarray, ndarray)
- int PyArray_CastAnyTo (ndarray, ndarray)
- int PyArray_CanCastSafely (int, int)
- npy_bool PyArray_CanCastTo (dtype, dtype)
- int PyArray_ObjectType (object, int)
- dtype PyArray_DescrFromObject (object, dtype)
- #ndarray* PyArray_ConvertToCommonType (object, int *)
- dtype PyArray_DescrFromScalar (object)
- dtype PyArray_DescrFromTypeObject (object)
- npy_intp PyArray_Size (object)
- #object PyArray_Scalar (void *, dtype, object)
- #object PyArray_FromScalar (object, dtype)
- void PyArray_ScalarAsCtype (object, void *)
- #int PyArray_CastScalarToCtype (object, void *, dtype)
- #int PyArray_CastScalarDirect (object, dtype, void *, int)
- object PyArray_ScalarFromObject (object)
- #PyArray_VectorUnaryFunc * PyArray_GetCastFunc (dtype, int)
- object PyArray_FromDims (int, int *, int)
- #object PyArray_FromDimsAndDataAndDescr (int, int *, dtype, char *)
- #object PyArray_FromAny (object, dtype, int, int, int, object)
- object PyArray_EnsureArray (object)
- object PyArray_EnsureAnyArray (object)
- #object PyArray_FromFile (stdio.FILE *, dtype, npy_intp, char *)
- #object PyArray_FromString (char *, npy_intp, dtype, npy_intp, char *)
- #object PyArray_FromBuffer (object, dtype, npy_intp, npy_intp)
- #object PyArray_FromIter (object, dtype, npy_intp)
- object PyArray_Return (ndarray)
- #object PyArray_GetField (ndarray, dtype, int)
- #int PyArray_SetField (ndarray, dtype, int, object)
- object PyArray_Byteswap (ndarray, npy_bool)
- object PyArray_Resize (ndarray, PyArray_Dims *, int, NPY_ORDER)
- int PyArray_MoveInto (ndarray, ndarray)
- int PyArray_CopyInto (ndarray, ndarray)
- int PyArray_CopyAnyInto (ndarray, ndarray)
- int PyArray_CopyObject (ndarray, object)
- object PyArray_NewCopy (ndarray, NPY_ORDER)
- object PyArray_ToList (ndarray)
- object PyArray_ToString (ndarray, NPY_ORDER)
- int PyArray_ToFile (ndarray, stdio.FILE *, char *, char *)
- int PyArray_Dump (object, object, int)
- object PyArray_Dumps (object, int)
- int PyArray_ValidType (int)
- void PyArray_UpdateFlags (ndarray, int)
- object PyArray_New (type, int, npy_intp *, int, npy_intp *, void *, int, int, object)
- #object PyArray_NewFromDescr (type, dtype, int, npy_intp *, npy_intp *, void *, int, object)
- #dtype PyArray_DescrNew (dtype)
- dtype PyArray_DescrNewFromType (int)
- double PyArray_GetPriority (object, double)
- object PyArray_IterNew (object)
- object PyArray_MultiIterNew (int, ...)
-
- int PyArray_PyIntAsInt (object)
- npy_intp PyArray_PyIntAsIntp (object)
- int PyArray_Broadcast (broadcast)
- void PyArray_FillObjectArray (ndarray, object)
- int PyArray_FillWithScalar (ndarray, object)
- npy_bool PyArray_CheckStrides (int, int, npy_intp, npy_intp, npy_intp *, npy_intp *)
- dtype PyArray_DescrNewByteorder (dtype, char)
- object PyArray_IterAllButAxis (object, int *)
- #object PyArray_CheckFromAny (object, dtype, int, int, int, object)
- #object PyArray_FromArray (ndarray, dtype, int)
- object PyArray_FromInterface (object)
- object PyArray_FromStructInterface (object)
- #object PyArray_FromArrayAttr (object, dtype, object)
- #NPY_SCALARKIND PyArray_ScalarKind (int, ndarray*)
- int PyArray_CanCoerceScalar (int, int, NPY_SCALARKIND)
- object PyArray_NewFlagsObject (object)
- npy_bool PyArray_CanCastScalar (type, type)
- #int PyArray_CompareUCS4 (npy_ucs4 *, npy_ucs4 *, register size_t)
- int PyArray_RemoveSmallest (broadcast)
- int PyArray_ElementStrides (object)
- void PyArray_Item_INCREF (char *, dtype)
- void PyArray_Item_XDECREF (char *, dtype)
- object PyArray_FieldNames (object)
- object PyArray_Transpose (ndarray, PyArray_Dims *)
- object PyArray_TakeFrom (ndarray, object, int, ndarray, NPY_CLIPMODE)
- object PyArray_PutTo (ndarray, object, object, NPY_CLIPMODE)
- object PyArray_PutMask (ndarray, object, object)
- object PyArray_Repeat (ndarray, object, int)
- object PyArray_Choose (ndarray, object, ndarray, NPY_CLIPMODE)
- int PyArray_Sort (ndarray, int, NPY_SORTKIND)
- object PyArray_ArgSort (ndarray, int, NPY_SORTKIND)
+
+ bint PyArray_ISBOOL(ndarray)
+ bint PyArray_ISUNSIGNED(ndarray)
+ bint PyArray_ISSIGNED(ndarray)
+ bint PyArray_ISINTEGER(ndarray)
+ bint PyArray_ISFLOAT(ndarray)
+ bint PyArray_ISNUMBER(ndarray)
+ bint PyArray_ISSTRING(ndarray)
+ bint PyArray_ISCOMPLEX(ndarray)
+ bint PyArray_ISPYTHON(ndarray)
+ bint PyArray_ISFLEXIBLE(ndarray)
+ bint PyArray_ISUSERDEF(ndarray)
+ bint PyArray_ISEXTENDED(ndarray)
+ bint PyArray_ISOBJECT(ndarray)
+ bint PyArray_HASFIELDS(ndarray)
+
+ bint PyArray_ISVARIABLE(ndarray)
+
+ bint PyArray_SAFEALIGNEDCOPY(ndarray)
+ bint PyArray_ISNBO(char) # works on ndarray.byteorder
+ bint PyArray_IsNativeByteOrder(char) # works on ndarray.byteorder
+ bint PyArray_ISNOTSWAPPED(ndarray)
+ bint PyArray_ISBYTESWAPPED(ndarray)
+
+ bint PyArray_FLAGSWAP(ndarray, int)
+
+ bint PyArray_ISCARRAY(ndarray)
+ bint PyArray_ISCARRAY_RO(ndarray)
+ bint PyArray_ISFARRAY(ndarray)
+ bint PyArray_ISFARRAY_RO(ndarray)
+ bint PyArray_ISBEHAVED(ndarray)
+ bint PyArray_ISBEHAVED_RO(ndarray)
+
+
+ bint PyDataType_ISNOTSWAPPED(dtype)
+ bint PyDataType_ISBYTESWAPPED(dtype)
+
+ bint PyArray_DescrCheck(object)
+
+ bint PyArray_Check(object)
+ bint PyArray_CheckExact(object)
+
+ # Cannot be supported due to out arg:
+ # bint PyArray_HasArrayInterfaceType(object, dtype, object, object&)
+ # bint PyArray_HasArrayInterface(op, out)
+
+
+ bint PyArray_IsZeroDim(object)
+ # Cannot be supported due to ## ## in macro:
+ # bint PyArray_IsScalar(object, verbatim work)
+ bint PyArray_CheckScalar(object)
+ bint PyArray_IsPythonNumber(object)
+ bint PyArray_IsPythonScalar(object)
+ bint PyArray_IsAnyScalar(object)
+ bint PyArray_CheckAnyScalar(object)
+ ndarray PyArray_GETCONTIGUOUS(ndarray)
+ bint PyArray_SAMESHAPE(ndarray, ndarray)
+ npy_intp PyArray_SIZE(ndarray)
+ npy_intp PyArray_NBYTES(ndarray)
+
+ object PyArray_FROM_O(object)
+ object PyArray_FROM_OF(object m, int flags)
+ object PyArray_FROM_OT(object m, int type)
+ object PyArray_FROM_OTF(object m, int type, int flags)
+ object PyArray_FROMANY(object m, int type, int min, int max, int flags)
+ object PyArray_ZEROS(int nd, npy_intp* dims, int type, int fortran)
+ object PyArray_EMPTY(int nd, npy_intp* dims, int type, int fortran)
+ void PyArray_FILLWBYTE(object, int val)
+ npy_intp PyArray_REFCOUNT(object)
+ object PyArray_ContiguousFromAny(op, int, int min_depth, int max_depth)
+ unsigned char PyArray_EquivArrTypes(ndarray a1, ndarray a2)
+ bint PyArray_EquivByteorders(int b1, int b2)
+ object PyArray_SimpleNew(int nd, npy_intp* dims, int typenum)
+ object PyArray_SimpleNewFromData(int nd, npy_intp* dims, int typenum, void* data)
+ #object PyArray_SimpleNewFromDescr(int nd, npy_intp* dims, dtype descr)
+ object PyArray_ToScalar(void* data, ndarray arr)
+
+ void* PyArray_GETPTR1(ndarray m, npy_intp i)
+ void* PyArray_GETPTR2(ndarray m, npy_intp i, npy_intp j)
+ void* PyArray_GETPTR3(ndarray m, npy_intp i, npy_intp j, npy_intp k)
+ void* PyArray_GETPTR4(ndarray m, npy_intp i, npy_intp j, npy_intp k, npy_intp l)
+
+ void PyArray_XDECREF_ERR(ndarray)
+ # Cannot be supported due to out arg
+ # void PyArray_DESCR_REPLACE(descr)
+
+
+ object PyArray_Copy(ndarray)
+ object PyArray_FromObject(object op, int type, int min_depth, int max_depth)
+ object PyArray_ContiguousFromObject(object op, int type, int min_depth, int max_depth)
+ object PyArray_CopyFromObject(object op, int type, int min_depth, int max_depth)
+
+ object PyArray_Cast(ndarray mp, int type_num)
+ object PyArray_Take(ndarray ap, object items, int axis)
+ object PyArray_Put(ndarray ap, object items, object values)
+
+ void PyArray_ITER_RESET(flatiter it) nogil
+ void PyArray_ITER_NEXT(flatiter it) nogil
+ void PyArray_ITER_GOTO(flatiter it, npy_intp* destination) nogil
+ void PyArray_ITER_GOTO1D(flatiter it, npy_intp ind) nogil
+ void* PyArray_ITER_DATA(flatiter it) nogil
+ bint PyArray_ITER_NOTDONE(flatiter it) nogil
+
+ void PyArray_MultiIter_RESET(broadcast multi) nogil
+ void PyArray_MultiIter_NEXT(broadcast multi) nogil
+ void PyArray_MultiIter_GOTO(broadcast multi, npy_intp dest) nogil
+ void PyArray_MultiIter_GOTO1D(broadcast multi, npy_intp ind) nogil
+ void* PyArray_MultiIter_DATA(broadcast multi, npy_intp i) nogil
+ void PyArray_MultiIter_NEXTi(broadcast multi, npy_intp i) nogil
+ bint PyArray_MultiIter_NOTDONE(broadcast multi) nogil
+
+ # Functions from __multiarray_api.h
+
+ # Functions taking dtype and returning object/ndarray are disabled
+ # for now as they steal dtype references. I'm conservative and disable
+ # more than is probably needed until it can be checked further.
+ int PyArray_SetNumericOps (object)
+ object PyArray_GetNumericOps ()
+ int PyArray_INCREF (ndarray)
+ int PyArray_XDECREF (ndarray)
+ void PyArray_SetStringFunction (object, int)
+ dtype PyArray_DescrFromType (int)
+ object PyArray_TypeObjectFromType (int)
+ char * PyArray_Zero (ndarray)
+ char * PyArray_One (ndarray)
+ #object PyArray_CastToType (ndarray, dtype, int)
+ int PyArray_CastTo (ndarray, ndarray)
+ int PyArray_CastAnyTo (ndarray, ndarray)
+ int PyArray_CanCastSafely (int, int)
+ npy_bool PyArray_CanCastTo (dtype, dtype)
+ int PyArray_ObjectType (object, int)
+ dtype PyArray_DescrFromObject (object, dtype)
+ #ndarray* PyArray_ConvertToCommonType (object, int *)
+ dtype PyArray_DescrFromScalar (object)
+ dtype PyArray_DescrFromTypeObject (object)
+ npy_intp PyArray_Size (object)
+ #object PyArray_Scalar (void *, dtype, object)
+ #object PyArray_FromScalar (object, dtype)
+ void PyArray_ScalarAsCtype (object, void *)
+ #int PyArray_CastScalarToCtype (object, void *, dtype)
+ #int PyArray_CastScalarDirect (object, dtype, void *, int)
+ object PyArray_ScalarFromObject (object)
+ #PyArray_VectorUnaryFunc * PyArray_GetCastFunc (dtype, int)
+ object PyArray_FromDims (int, int *, int)
+ #object PyArray_FromDimsAndDataAndDescr (int, int *, dtype, char *)
+ #object PyArray_FromAny (object, dtype, int, int, int, object)
+ object PyArray_EnsureArray (object)
+ object PyArray_EnsureAnyArray (object)
+ #object PyArray_FromFile (stdio.FILE *, dtype, npy_intp, char *)
+ #object PyArray_FromString (char *, npy_intp, dtype, npy_intp, char *)
+ #object PyArray_FromBuffer (object, dtype, npy_intp, npy_intp)
+ #object PyArray_FromIter (object, dtype, npy_intp)
+ object PyArray_Return (ndarray)
+ #object PyArray_GetField (ndarray, dtype, int)
+ #int PyArray_SetField (ndarray, dtype, int, object)
+ object PyArray_Byteswap (ndarray, npy_bool)
+ object PyArray_Resize (ndarray, PyArray_Dims *, int, NPY_ORDER)
+ int PyArray_MoveInto (ndarray, ndarray)
+ int PyArray_CopyInto (ndarray, ndarray)
+ int PyArray_CopyAnyInto (ndarray, ndarray)
+ int PyArray_CopyObject (ndarray, object)
+ object PyArray_NewCopy (ndarray, NPY_ORDER)
+ object PyArray_ToList (ndarray)
+ object PyArray_ToString (ndarray, NPY_ORDER)
+ int PyArray_ToFile (ndarray, stdio.FILE *, char *, char *)
+ int PyArray_Dump (object, object, int)
+ object PyArray_Dumps (object, int)
+ int PyArray_ValidType (int)
+ void PyArray_UpdateFlags (ndarray, int)
+ object PyArray_New (type, int, npy_intp *, int, npy_intp *, void *, int, int, object)
+ #object PyArray_NewFromDescr (type, dtype, int, npy_intp *, npy_intp *, void *, int, object)
+ #dtype PyArray_DescrNew (dtype)
+ dtype PyArray_DescrNewFromType (int)
+ double PyArray_GetPriority (object, double)
+ object PyArray_IterNew (object)
+ object PyArray_MultiIterNew (int, ...)
+
+ int PyArray_PyIntAsInt (object)
+ npy_intp PyArray_PyIntAsIntp (object)
+ int PyArray_Broadcast (broadcast)
+ void PyArray_FillObjectArray (ndarray, object)
+ int PyArray_FillWithScalar (ndarray, object)
+ npy_bool PyArray_CheckStrides (int, int, npy_intp, npy_intp, npy_intp *, npy_intp *)
+ dtype PyArray_DescrNewByteorder (dtype, char)
+ object PyArray_IterAllButAxis (object, int *)
+ #object PyArray_CheckFromAny (object, dtype, int, int, int, object)
+ #object PyArray_FromArray (ndarray, dtype, int)
+ object PyArray_FromInterface (object)
+ object PyArray_FromStructInterface (object)
+ #object PyArray_FromArrayAttr (object, dtype, object)
+ #NPY_SCALARKIND PyArray_ScalarKind (int, ndarray*)
+ int PyArray_CanCoerceScalar (int, int, NPY_SCALARKIND)
+ object PyArray_NewFlagsObject (object)
+ npy_bool PyArray_CanCastScalar (type, type)
+ #int PyArray_CompareUCS4 (npy_ucs4 *, npy_ucs4 *, register size_t)
+ int PyArray_RemoveSmallest (broadcast)
+ int PyArray_ElementStrides (object)
+ void PyArray_Item_INCREF (char *, dtype)
+ void PyArray_Item_XDECREF (char *, dtype)
+ object PyArray_FieldNames (object)
+ object PyArray_Transpose (ndarray, PyArray_Dims *)
+ object PyArray_TakeFrom (ndarray, object, int, ndarray, NPY_CLIPMODE)
+ object PyArray_PutTo (ndarray, object, object, NPY_CLIPMODE)
+ object PyArray_PutMask (ndarray, object, object)
+ object PyArray_Repeat (ndarray, object, int)
+ object PyArray_Choose (ndarray, object, ndarray, NPY_CLIPMODE)
+ int PyArray_Sort (ndarray, int, NPY_SORTKIND)
+ object PyArray_ArgSort (ndarray, int, NPY_SORTKIND)
object PyArray_SearchSorted (ndarray, object, NPY_SEARCHSIDE, PyObject*)
- object PyArray_ArgMax (ndarray, int, ndarray)
- object PyArray_ArgMin (ndarray, int, ndarray)
- object PyArray_Reshape (ndarray, object)
- object PyArray_Newshape (ndarray, PyArray_Dims *, NPY_ORDER)
- object PyArray_Squeeze (ndarray)
- #object PyArray_View (ndarray, dtype, type)
- object PyArray_SwapAxes (ndarray, int, int)
- object PyArray_Max (ndarray, int, ndarray)
- object PyArray_Min (ndarray, int, ndarray)
- object PyArray_Ptp (ndarray, int, ndarray)
- object PyArray_Mean (ndarray, int, int, ndarray)
- object PyArray_Trace (ndarray, int, int, int, int, ndarray)
- object PyArray_Diagonal (ndarray, int, int, int)
- object PyArray_Clip (ndarray, object, object, ndarray)
- object PyArray_Conjugate (ndarray, ndarray)
- object PyArray_Nonzero (ndarray)
- object PyArray_Std (ndarray, int, int, ndarray, int)
- object PyArray_Sum (ndarray, int, int, ndarray)
- object PyArray_CumSum (ndarray, int, int, ndarray)
- object PyArray_Prod (ndarray, int, int, ndarray)
- object PyArray_CumProd (ndarray, int, int, ndarray)
- object PyArray_All (ndarray, int, ndarray)
- object PyArray_Any (ndarray, int, ndarray)
- object PyArray_Compress (ndarray, object, int, ndarray)
- object PyArray_Flatten (ndarray, NPY_ORDER)
- object PyArray_Ravel (ndarray, NPY_ORDER)
- npy_intp PyArray_MultiplyList (npy_intp *, int)
- int PyArray_MultiplyIntList (int *, int)
- void * PyArray_GetPtr (ndarray, npy_intp*)
- int PyArray_CompareLists (npy_intp *, npy_intp *, int)
- #int PyArray_AsCArray (object*, void *, npy_intp *, int, dtype)
- #int PyArray_As1D (object*, char **, int *, int)
- #int PyArray_As2D (object*, char ***, int *, int *, int)
- int PyArray_Free (object, void *)
- #int PyArray_Converter (object, object*)
- int PyArray_IntpFromSequence (object, npy_intp *, int)
- object PyArray_Concatenate (object, int)
- object PyArray_InnerProduct (object, object)
- object PyArray_MatrixProduct (object, object)
- object PyArray_CopyAndTranspose (object)
- object PyArray_Correlate (object, object, int)
- int PyArray_TypestrConvert (int, int)
- #int PyArray_DescrConverter (object, dtype*)
- #int PyArray_DescrConverter2 (object, dtype*)
- int PyArray_IntpConverter (object, PyArray_Dims *)
- #int PyArray_BufferConverter (object, chunk)
- int PyArray_AxisConverter (object, int *)
- int PyArray_BoolConverter (object, npy_bool *)
- int PyArray_ByteorderConverter (object, char *)
- int PyArray_OrderConverter (object, NPY_ORDER *)
- unsigned char PyArray_EquivTypes (dtype, dtype)
- #object PyArray_Zeros (int, npy_intp *, dtype, int)
- #object PyArray_Empty (int, npy_intp *, dtype, int)
- object PyArray_Where (object, object, object)
- object PyArray_Arange (double, double, double, int)
- #object PyArray_ArangeObj (object, object, object, dtype)
- int PyArray_SortkindConverter (object, NPY_SORTKIND *)
- object PyArray_LexSort (object, int)
- object PyArray_Round (ndarray, int, ndarray)
- unsigned char PyArray_EquivTypenums (int, int)
- int PyArray_RegisterDataType (dtype)
- int PyArray_RegisterCastFunc (dtype, int, PyArray_VectorUnaryFunc *)
- int PyArray_RegisterCanCast (dtype, int, NPY_SCALARKIND)
- #void PyArray_InitArrFuncs (PyArray_ArrFuncs *)
- object PyArray_IntTupleFromIntp (int, npy_intp *)
- int PyArray_TypeNumFromName (char *)
- int PyArray_ClipmodeConverter (object, NPY_CLIPMODE *)
- #int PyArray_OutputConverter (object, ndarray*)
- object PyArray_BroadcastToShape (object, npy_intp *, int)
- void _PyArray_SigintHandler (int)
- void* _PyArray_GetSigintBuf ()
- #int PyArray_DescrAlignConverter (object, dtype*)
- #int PyArray_DescrAlignConverter2 (object, dtype*)
- int PyArray_SearchsideConverter (object, void *)
- object PyArray_CheckAxis (ndarray, int *, int)
- npy_intp PyArray_OverflowMultiplyList (npy_intp *, int)
- int PyArray_CompareString (char *, char *, size_t)
+ object PyArray_ArgMax (ndarray, int, ndarray)
+ object PyArray_ArgMin (ndarray, int, ndarray)
+ object PyArray_Reshape (ndarray, object)
+ object PyArray_Newshape (ndarray, PyArray_Dims *, NPY_ORDER)
+ object PyArray_Squeeze (ndarray)
+ #object PyArray_View (ndarray, dtype, type)
+ object PyArray_SwapAxes (ndarray, int, int)
+ object PyArray_Max (ndarray, int, ndarray)
+ object PyArray_Min (ndarray, int, ndarray)
+ object PyArray_Ptp (ndarray, int, ndarray)
+ object PyArray_Mean (ndarray, int, int, ndarray)
+ object PyArray_Trace (ndarray, int, int, int, int, ndarray)
+ object PyArray_Diagonal (ndarray, int, int, int)
+ object PyArray_Clip (ndarray, object, object, ndarray)
+ object PyArray_Conjugate (ndarray, ndarray)
+ object PyArray_Nonzero (ndarray)
+ object PyArray_Std (ndarray, int, int, ndarray, int)
+ object PyArray_Sum (ndarray, int, int, ndarray)
+ object PyArray_CumSum (ndarray, int, int, ndarray)
+ object PyArray_Prod (ndarray, int, int, ndarray)
+ object PyArray_CumProd (ndarray, int, int, ndarray)
+ object PyArray_All (ndarray, int, ndarray)
+ object PyArray_Any (ndarray, int, ndarray)
+ object PyArray_Compress (ndarray, object, int, ndarray)
+ object PyArray_Flatten (ndarray, NPY_ORDER)
+ object PyArray_Ravel (ndarray, NPY_ORDER)
+ npy_intp PyArray_MultiplyList (npy_intp *, int)
+ int PyArray_MultiplyIntList (int *, int)
+ void * PyArray_GetPtr (ndarray, npy_intp*)
+ int PyArray_CompareLists (npy_intp *, npy_intp *, int)
+ #int PyArray_AsCArray (object*, void *, npy_intp *, int, dtype)
+ #int PyArray_As1D (object*, char **, int *, int)
+ #int PyArray_As2D (object*, char ***, int *, int *, int)
+ int PyArray_Free (object, void *)
+ #int PyArray_Converter (object, object*)
+ int PyArray_IntpFromSequence (object, npy_intp *, int)
+ object PyArray_Concatenate (object, int)
+ object PyArray_InnerProduct (object, object)
+ object PyArray_MatrixProduct (object, object)
+ object PyArray_CopyAndTranspose (object)
+ object PyArray_Correlate (object, object, int)
+ int PyArray_TypestrConvert (int, int)
+ #int PyArray_DescrConverter (object, dtype*)
+ #int PyArray_DescrConverter2 (object, dtype*)
+ int PyArray_IntpConverter (object, PyArray_Dims *)
+ #int PyArray_BufferConverter (object, chunk)
+ int PyArray_AxisConverter (object, int *)
+ int PyArray_BoolConverter (object, npy_bool *)
+ int PyArray_ByteorderConverter (object, char *)
+ int PyArray_OrderConverter (object, NPY_ORDER *)
+ unsigned char PyArray_EquivTypes (dtype, dtype)
+ #object PyArray_Zeros (int, npy_intp *, dtype, int)
+ #object PyArray_Empty (int, npy_intp *, dtype, int)
+ object PyArray_Where (object, object, object)
+ object PyArray_Arange (double, double, double, int)
+ #object PyArray_ArangeObj (object, object, object, dtype)
+ int PyArray_SortkindConverter (object, NPY_SORTKIND *)
+ object PyArray_LexSort (object, int)
+ object PyArray_Round (ndarray, int, ndarray)
+ unsigned char PyArray_EquivTypenums (int, int)
+ int PyArray_RegisterDataType (dtype)
+ int PyArray_RegisterCastFunc (dtype, int, PyArray_VectorUnaryFunc *)
+ int PyArray_RegisterCanCast (dtype, int, NPY_SCALARKIND)
+ #void PyArray_InitArrFuncs (PyArray_ArrFuncs *)
+ object PyArray_IntTupleFromIntp (int, npy_intp *)
+ int PyArray_TypeNumFromName (char *)
+ int PyArray_ClipmodeConverter (object, NPY_CLIPMODE *)
+ #int PyArray_OutputConverter (object, ndarray*)
+ object PyArray_BroadcastToShape (object, npy_intp *, int)
+ void _PyArray_SigintHandler (int)
+ void* _PyArray_GetSigintBuf ()
+ #int PyArray_DescrAlignConverter (object, dtype*)
+ #int PyArray_DescrAlignConverter2 (object, dtype*)
+ int PyArray_SearchsideConverter (object, void *)
+ object PyArray_CheckAxis (ndarray, int *, int)
+ npy_intp PyArray_OverflowMultiplyList (npy_intp *, int)
+ int PyArray_CompareString (char *, char *, size_t)
int PyArray_SetBaseObject(ndarray, base) # NOTE: steals a reference to base! Use "set_array_base()" instead.
-
-
-# Typedefs that matches the runtime dtype objects in
-# the numpy module.
-
-# The ones that are commented out needs an IFDEF function
-# in Cython to enable them only on the right systems.
-
-ctypedef npy_int8 int8_t
-ctypedef npy_int16 int16_t
-ctypedef npy_int32 int32_t
-ctypedef npy_int64 int64_t
-#ctypedef npy_int96 int96_t
-#ctypedef npy_int128 int128_t
-
-ctypedef npy_uint8 uint8_t
-ctypedef npy_uint16 uint16_t
-ctypedef npy_uint32 uint32_t
-ctypedef npy_uint64 uint64_t
-#ctypedef npy_uint96 uint96_t
-#ctypedef npy_uint128 uint128_t
-
-ctypedef npy_float32 float32_t
-ctypedef npy_float64 float64_t
-#ctypedef npy_float80 float80_t
-#ctypedef npy_float128 float128_t
-
-ctypedef float complex complex64_t
-ctypedef double complex complex128_t
-
-# The int types are mapped a bit surprising --
-# numpy.int corresponds to 'l' and numpy.long to 'q'
-ctypedef npy_long int_t
-ctypedef npy_longlong long_t
-ctypedef npy_longlong longlong_t
-
-ctypedef npy_ulong uint_t
-ctypedef npy_ulonglong ulong_t
-ctypedef npy_ulonglong ulonglong_t
-
-ctypedef npy_intp intp_t
-ctypedef npy_uintp uintp_t
-
-ctypedef npy_double float_t
-ctypedef npy_double double_t
-ctypedef npy_longdouble longdouble_t
-
-ctypedef npy_cfloat cfloat_t
-ctypedef npy_cdouble cdouble_t
-ctypedef npy_clongdouble clongdouble_t
-
-ctypedef npy_cdouble complex_t
-
-cdef inline object PyArray_MultiIterNew1(a):
- return PyArray_MultiIterNew(1, <void*>a)
-
-cdef inline object PyArray_MultiIterNew2(a, b):
- return PyArray_MultiIterNew(2, <void*>a, <void*>b)
-
-cdef inline object PyArray_MultiIterNew3(a, b, c):
- return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
-
-cdef inline object PyArray_MultiIterNew4(a, b, c, d):
- return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
-
-cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
- return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
-
+
+
+# Typedefs that matches the runtime dtype objects in
+# the numpy module.
+
+# The ones that are commented out needs an IFDEF function
+# in Cython to enable them only on the right systems.
+
+ctypedef npy_int8 int8_t
+ctypedef npy_int16 int16_t
+ctypedef npy_int32 int32_t
+ctypedef npy_int64 int64_t
+#ctypedef npy_int96 int96_t
+#ctypedef npy_int128 int128_t
+
+ctypedef npy_uint8 uint8_t
+ctypedef npy_uint16 uint16_t
+ctypedef npy_uint32 uint32_t
+ctypedef npy_uint64 uint64_t
+#ctypedef npy_uint96 uint96_t
+#ctypedef npy_uint128 uint128_t
+
+ctypedef npy_float32 float32_t
+ctypedef npy_float64 float64_t
+#ctypedef npy_float80 float80_t
+#ctypedef npy_float128 float128_t
+
+ctypedef float complex complex64_t
+ctypedef double complex complex128_t
+
+# The int types are mapped a bit surprising --
+# numpy.int corresponds to 'l' and numpy.long to 'q'
+ctypedef npy_long int_t
+ctypedef npy_longlong long_t
+ctypedef npy_longlong longlong_t
+
+ctypedef npy_ulong uint_t
+ctypedef npy_ulonglong ulong_t
+ctypedef npy_ulonglong ulonglong_t
+
+ctypedef npy_intp intp_t
+ctypedef npy_uintp uintp_t
+
+ctypedef npy_double float_t
+ctypedef npy_double double_t
+ctypedef npy_longdouble longdouble_t
+
+ctypedef npy_cfloat cfloat_t
+ctypedef npy_cdouble cdouble_t
+ctypedef npy_clongdouble clongdouble_t
+
+ctypedef npy_cdouble complex_t
+
+cdef inline object PyArray_MultiIterNew1(a):
+ return PyArray_MultiIterNew(1, <void*>a)
+
+cdef inline object PyArray_MultiIterNew2(a, b):
+ return PyArray_MultiIterNew(2, <void*>a, <void*>b)
+
+cdef inline object PyArray_MultiIterNew3(a, b, c):
+ return PyArray_MultiIterNew(3, <void*>a, <void*>b, <void*> c)
+
+cdef inline object PyArray_MultiIterNew4(a, b, c, d):
+ return PyArray_MultiIterNew(4, <void*>a, <void*>b, <void*>c, <void*> d)
+
+cdef inline object PyArray_MultiIterNew5(a, b, c, d, e):
+ return PyArray_MultiIterNew(5, <void*>a, <void*>b, <void*>c, <void*> d, <void*> e)
+
cdef inline tuple PyDataType_SHAPE(dtype d):
if PyDataType_HASSUBARRAY(d):
return <tuple>d.subarray.shape
else:
return ()
-cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
- # Recursive utility function used in __getbuffer__ to get format
- # string. The new location in the format string is returned.
-
- cdef dtype child
- cdef int endian_detector = 1
- cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
- cdef tuple fields
-
- for childname in descr.names:
- fields = descr.fields[childname]
- child, new_offset = fields
-
- if (end - f) - <int>(new_offset - offset[0]) < 15:
- raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
-
- if ((child.byteorder == c'>' and little_endian) or
- (child.byteorder == c'<' and not little_endian)):
- raise ValueError(u"Non-native byte order not supported")
- # One could encode it in the format string and have Cython
- # complain instead, BUT: < and > in format strings also imply
- # standardized sizes for datatypes, and we rely on native in
- # order to avoid reencoding data types based on their size.
- #
- # A proper PEP 3118 exporter for other clients than Cython
- # must deal properly with this!
-
- # Output padding bytes
- while offset[0] < new_offset:
- f[0] = 120 # "x"; pad byte
- f += 1
- offset[0] += 1
-
- offset[0] += child.itemsize
-
- if not PyDataType_HASFIELDS(child):
- t = child.type_num
- if end - f < 5:
- raise RuntimeError(u"Format string allocated too short.")
-
- # Until ticket #99 is fixed, use integers to avoid warnings
- if t == NPY_BYTE: f[0] = 98 #"b"
- elif t == NPY_UBYTE: f[0] = 66 #"B"
- elif t == NPY_SHORT: f[0] = 104 #"h"
- elif t == NPY_USHORT: f[0] = 72 #"H"
- elif t == NPY_INT: f[0] = 105 #"i"
- elif t == NPY_UINT: f[0] = 73 #"I"
- elif t == NPY_LONG: f[0] = 108 #"l"
- elif t == NPY_ULONG: f[0] = 76 #"L"
- elif t == NPY_LONGLONG: f[0] = 113 #"q"
- elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
- elif t == NPY_FLOAT: f[0] = 102 #"f"
- elif t == NPY_DOUBLE: f[0] = 100 #"d"
- elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
- elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
- elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
- elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
- elif t == NPY_OBJECT: f[0] = 79 #"O"
- else:
- raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
- f += 1
- else:
- # Cython ignores struct boundary information ("T{...}"),
- # so don't output it
- f = _util_dtypestring(child, f, end, offset)
- return f
-
-
-#
-# ufunc API
-#
-
-cdef extern from "numpy/ufuncobject.h":
-
- ctypedef void (*PyUFuncGenericFunction) (char **, npy_intp *, npy_intp *, void *)
-
+cdef inline char* _util_dtypestring(dtype descr, char* f, char* end, int* offset) except NULL:
+ # Recursive utility function used in __getbuffer__ to get format
+ # string. The new location in the format string is returned.
+
+ cdef dtype child
+ cdef int endian_detector = 1
+ cdef bint little_endian = ((<char*>&endian_detector)[0] != 0)
+ cdef tuple fields
+
+ for childname in descr.names:
+ fields = descr.fields[childname]
+ child, new_offset = fields
+
+ if (end - f) - <int>(new_offset - offset[0]) < 15:
+ raise RuntimeError(u"Format string allocated too short, see comment in numpy.pxd")
+
+ if ((child.byteorder == c'>' and little_endian) or
+ (child.byteorder == c'<' and not little_endian)):
+ raise ValueError(u"Non-native byte order not supported")
+ # One could encode it in the format string and have Cython
+ # complain instead, BUT: < and > in format strings also imply
+ # standardized sizes for datatypes, and we rely on native in
+ # order to avoid reencoding data types based on their size.
+ #
+ # A proper PEP 3118 exporter for other clients than Cython
+ # must deal properly with this!
+
+ # Output padding bytes
+ while offset[0] < new_offset:
+ f[0] = 120 # "x"; pad byte
+ f += 1
+ offset[0] += 1
+
+ offset[0] += child.itemsize
+
+ if not PyDataType_HASFIELDS(child):
+ t = child.type_num
+ if end - f < 5:
+ raise RuntimeError(u"Format string allocated too short.")
+
+ # Until ticket #99 is fixed, use integers to avoid warnings
+ if t == NPY_BYTE: f[0] = 98 #"b"
+ elif t == NPY_UBYTE: f[0] = 66 #"B"
+ elif t == NPY_SHORT: f[0] = 104 #"h"
+ elif t == NPY_USHORT: f[0] = 72 #"H"
+ elif t == NPY_INT: f[0] = 105 #"i"
+ elif t == NPY_UINT: f[0] = 73 #"I"
+ elif t == NPY_LONG: f[0] = 108 #"l"
+ elif t == NPY_ULONG: f[0] = 76 #"L"
+ elif t == NPY_LONGLONG: f[0] = 113 #"q"
+ elif t == NPY_ULONGLONG: f[0] = 81 #"Q"
+ elif t == NPY_FLOAT: f[0] = 102 #"f"
+ elif t == NPY_DOUBLE: f[0] = 100 #"d"
+ elif t == NPY_LONGDOUBLE: f[0] = 103 #"g"
+ elif t == NPY_CFLOAT: f[0] = 90; f[1] = 102; f += 1 # Zf
+ elif t == NPY_CDOUBLE: f[0] = 90; f[1] = 100; f += 1 # Zd
+ elif t == NPY_CLONGDOUBLE: f[0] = 90; f[1] = 103; f += 1 # Zg
+ elif t == NPY_OBJECT: f[0] = 79 #"O"
+ else:
+ raise ValueError(u"unknown dtype code in numpy.pxd (%d)" % t)
+ f += 1
+ else:
+ # Cython ignores struct boundary information ("T{...}"),
+ # so don't output it
+ f = _util_dtypestring(child, f, end, offset)
+ return f
+
+
+#
+# ufunc API
+#
+
+cdef extern from "numpy/ufuncobject.h":
+
+ ctypedef void (*PyUFuncGenericFunction) (char **, npy_intp *, npy_intp *, void *)
+
ctypedef class numpy.ufunc [object PyUFuncObject, check_size ignore]:
- cdef:
- int nin, nout, nargs
- int identity
- PyUFuncGenericFunction *functions
- void **data
- int ntypes
- int check_return
- char *name
- char *types
- char *doc
- void *ptr
- PyObject *obj
- PyObject *userloops
-
- cdef enum:
- PyUFunc_Zero
- PyUFunc_One
- PyUFunc_None
- UFUNC_ERR_IGNORE
- UFUNC_ERR_WARN
- UFUNC_ERR_RAISE
- UFUNC_ERR_CALL
- UFUNC_ERR_PRINT
- UFUNC_ERR_LOG
- UFUNC_MASK_DIVIDEBYZERO
- UFUNC_MASK_OVERFLOW
- UFUNC_MASK_UNDERFLOW
- UFUNC_MASK_INVALID
- UFUNC_SHIFT_DIVIDEBYZERO
- UFUNC_SHIFT_OVERFLOW
- UFUNC_SHIFT_UNDERFLOW
- UFUNC_SHIFT_INVALID
- UFUNC_FPE_DIVIDEBYZERO
- UFUNC_FPE_OVERFLOW
- UFUNC_FPE_UNDERFLOW
- UFUNC_FPE_INVALID
- UFUNC_ERR_DEFAULT
- UFUNC_ERR_DEFAULT2
-
- object PyUFunc_FromFuncAndData(PyUFuncGenericFunction *,
- void **, char *, int, int, int, int, char *, char *, int)
- int PyUFunc_RegisterLoopForType(ufunc, int,
- PyUFuncGenericFunction, int *, void *)
- int PyUFunc_GenericFunction \
- (ufunc, PyObject *, PyObject *, PyArrayObject **)
- void PyUFunc_f_f_As_d_d \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_d_d \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_f_f \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_g_g \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_F_F_As_D_D \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_F_F \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_D_D \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_G_G \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_O_O \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_ff_f_As_dd_d \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_ff_f \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_dd_d \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_gg_g \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_FF_F_As_DD_D \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_DD_D \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_FF_F \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_GG_G \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_OO_O \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_O_O_method \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_OO_O_method \
- (char **, npy_intp *, npy_intp *, void *)
- void PyUFunc_On_Om \
- (char **, npy_intp *, npy_intp *, void *)
- int PyUFunc_GetPyValues \
- (char *, int *, int *, PyObject **)
- int PyUFunc_checkfperr \
- (int, PyObject *, int *)
- void PyUFunc_clearfperr()
- int PyUFunc_getfperr()
- int PyUFunc_handlefperr \
- (int, PyObject *, int, int *)
- int PyUFunc_ReplaceLoopBySignature \
- (ufunc, PyUFuncGenericFunction, int *, PyUFuncGenericFunction *)
- object PyUFunc_FromFuncAndDataAndSignature \
- (PyUFuncGenericFunction *, void **, char *, int, int, int,
- int, char *, char *, int, char *)
-
+ cdef:
+ int nin, nout, nargs
+ int identity
+ PyUFuncGenericFunction *functions
+ void **data
+ int ntypes
+ int check_return
+ char *name
+ char *types
+ char *doc
+ void *ptr
+ PyObject *obj
+ PyObject *userloops
+
+ cdef enum:
+ PyUFunc_Zero
+ PyUFunc_One
+ PyUFunc_None
+ UFUNC_ERR_IGNORE
+ UFUNC_ERR_WARN
+ UFUNC_ERR_RAISE
+ UFUNC_ERR_CALL
+ UFUNC_ERR_PRINT
+ UFUNC_ERR_LOG
+ UFUNC_MASK_DIVIDEBYZERO
+ UFUNC_MASK_OVERFLOW
+ UFUNC_MASK_UNDERFLOW
+ UFUNC_MASK_INVALID
+ UFUNC_SHIFT_DIVIDEBYZERO
+ UFUNC_SHIFT_OVERFLOW
+ UFUNC_SHIFT_UNDERFLOW
+ UFUNC_SHIFT_INVALID
+ UFUNC_FPE_DIVIDEBYZERO
+ UFUNC_FPE_OVERFLOW
+ UFUNC_FPE_UNDERFLOW
+ UFUNC_FPE_INVALID
+ UFUNC_ERR_DEFAULT
+ UFUNC_ERR_DEFAULT2
+
+ object PyUFunc_FromFuncAndData(PyUFuncGenericFunction *,
+ void **, char *, int, int, int, int, char *, char *, int)
+ int PyUFunc_RegisterLoopForType(ufunc, int,
+ PyUFuncGenericFunction, int *, void *)
+ int PyUFunc_GenericFunction \
+ (ufunc, PyObject *, PyObject *, PyArrayObject **)
+ void PyUFunc_f_f_As_d_d \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_d_d \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_f_f \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_g_g \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_F_F_As_D_D \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_F_F \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_D_D \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_G_G \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_O_O \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_ff_f_As_dd_d \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_ff_f \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_dd_d \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_gg_g \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_FF_F_As_DD_D \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_DD_D \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_FF_F \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_GG_G \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_OO_O \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_O_O_method \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_OO_O_method \
+ (char **, npy_intp *, npy_intp *, void *)
+ void PyUFunc_On_Om \
+ (char **, npy_intp *, npy_intp *, void *)
+ int PyUFunc_GetPyValues \
+ (char *, int *, int *, PyObject **)
+ int PyUFunc_checkfperr \
+ (int, PyObject *, int *)
+ void PyUFunc_clearfperr()
+ int PyUFunc_getfperr()
+ int PyUFunc_handlefperr \
+ (int, PyObject *, int, int *)
+ int PyUFunc_ReplaceLoopBySignature \
+ (ufunc, PyUFuncGenericFunction, int *, PyUFuncGenericFunction *)
+ object PyUFunc_FromFuncAndDataAndSignature \
+ (PyUFuncGenericFunction *, void **, char *, int, int, int,
+ int, char *, char *, int, char *)
+
int _import_umath() except -1
-
-cdef inline void set_array_base(ndarray arr, object base):
+
+cdef inline void set_array_base(ndarray arr, object base):
Py_INCREF(base) # important to do this before stealing the reference below!
PyArray_SetBaseObject(arr, base)
-
-cdef inline object get_array_base(ndarray arr):
+
+cdef inline object get_array_base(ndarray arr):
base = PyArray_BASE(arr)
if base is NULL:
- return None
+ return None
return <object>base
# Versions of the import_* functions which are more suitable for
diff --git a/contrib/tools/cython/Cython/Includes/numpy/math.pxd b/contrib/tools/cython/Cython/Includes/numpy/math.pxd
index c16df1c51a..ae94d56b67 100644
--- a/contrib/tools/cython/Cython/Includes/numpy/math.pxd
+++ b/contrib/tools/cython/Cython/Includes/numpy/math.pxd
@@ -1,133 +1,133 @@
-# NumPy math library
-#
-# This exports the functionality of the NumPy core math library, aka npymath,
-# which provides implementations of C99 math functions and macros for system
-# with a C89 library (such as MSVC). npymath is available with NumPy >=1.3,
-# although some functions will require later versions. The spacing function is
-# not in C99, but comes from Fortran.
-#
-# On the Cython side, the npymath functions are available without the "npy_"
-# prefix that they have in C, to make this is a drop-in replacement for
-# libc.math. The same is true for the constants, where possible.
-#
-# See the NumPy documentation for linking instructions.
-#
-# Complex number support and NumPy 2.0 half-precision functions are currently
-# not exported.
-#
-# Author: Lars Buitinck
-
-cdef extern from "numpy/npy_math.h" nogil:
- # Floating-point classification
- long double NAN "NPY_NAN"
- long double INFINITY "NPY_INFINITY"
- long double PZERO "NPY_PZERO" # positive zero
- long double NZERO "NPY_NZERO" # negative zero
-
- # These four are actually macros and work on any floating-point type.
+# NumPy math library
+#
+# This exports the functionality of the NumPy core math library, aka npymath,
+# which provides implementations of C99 math functions and macros for system
+# with a C89 library (such as MSVC). npymath is available with NumPy >=1.3,
+# although some functions will require later versions. The spacing function is
+# not in C99, but comes from Fortran.
+#
+# On the Cython side, the npymath functions are available without the "npy_"
+# prefix that they have in C, to make this is a drop-in replacement for
+# libc.math. The same is true for the constants, where possible.
+#
+# See the NumPy documentation for linking instructions.
+#
+# Complex number support and NumPy 2.0 half-precision functions are currently
+# not exported.
+#
+# Author: Lars Buitinck
+
+cdef extern from "numpy/npy_math.h" nogil:
+ # Floating-point classification
+ long double NAN "NPY_NAN"
+ long double INFINITY "NPY_INFINITY"
+ long double PZERO "NPY_PZERO" # positive zero
+ long double NZERO "NPY_NZERO" # negative zero
+
+ # These four are actually macros and work on any floating-point type.
int isinf "npy_isinf"(long double) # -1 / 0 / 1
- bint isfinite "npy_isfinite"(long double)
- bint isnan "npy_isnan"(long double)
- bint signbit "npy_signbit"(long double)
-
- # Math constants
- long double E "NPY_E"
- long double LOG2E "NPY_LOG2E" # ln(e) / ln(2)
- long double LOG10E "NPY_LOG10E" # ln(e) / ln(10)
- long double LOGE2 "NPY_LOGE2" # ln(2)
- long double LOGE10 "NPY_LOGE10" # ln(10)
- long double PI "NPY_PI"
- long double PI_2 "NPY_PI_2" # pi / 2
- long double PI_4 "NPY_PI_4" # pi / 4
- long double NPY_1_PI # 1 / pi; NPY_ because of ident syntax
- long double NPY_2_PI # 2 / pi
- long double EULER "NPY_EULER" # Euler constant (gamma, 0.57721)
-
- # Low-level floating point manipulation (NumPy >=1.4)
- float copysignf "npy_copysignf"(float, float)
- float nextafterf "npy_nextafterf"(float x, float y)
- float spacingf "npy_spacingf"(float x)
- double copysign "npy_copysign"(double, double)
- double nextafter "npy_nextafter"(double x, double y)
- double spacing "npy_spacing"(double x)
- long double copysignl "npy_copysignl"(long double, long double)
- long double nextafterl "npy_nextafterl"(long double x, long double y)
- long double spacingl "npy_spacingl"(long double x)
-
- # Float C99 functions
- float sinf "npy_sinf"(float x)
- float cosf "npy_cosf"(float x)
- float tanf "npy_tanf"(float x)
- float sinhf "npy_sinhf"(float x)
- float coshf "npy_coshf"(float x)
- float tanhf "npy_tanhf"(float x)
- float fabsf "npy_fabsf"(float x)
- float floorf "npy_floorf"(float x)
- float ceilf "npy_ceilf"(float x)
- float rintf "npy_rintf"(float x)
- float sqrtf "npy_sqrtf"(float x)
- float log10f "npy_log10f"(float x)
- float logf "npy_logf"(float x)
- float expf "npy_expf"(float x)
- float expm1f "npy_expm1f"(float x)
- float asinf "npy_asinf"(float x)
- float acosf "npy_acosf"(float x)
- float atanf "npy_atanf"(float x)
- float asinhf "npy_asinhf"(float x)
- float acoshf "npy_acoshf"(float x)
- float atanhf "npy_atanhf"(float x)
- float log1pf "npy_log1pf"(float x)
- float exp2f "npy_exp2f"(float x)
- float log2f "npy_log2f"(float x)
+ bint isfinite "npy_isfinite"(long double)
+ bint isnan "npy_isnan"(long double)
+ bint signbit "npy_signbit"(long double)
+
+ # Math constants
+ long double E "NPY_E"
+ long double LOG2E "NPY_LOG2E" # ln(e) / ln(2)
+ long double LOG10E "NPY_LOG10E" # ln(e) / ln(10)
+ long double LOGE2 "NPY_LOGE2" # ln(2)
+ long double LOGE10 "NPY_LOGE10" # ln(10)
+ long double PI "NPY_PI"
+ long double PI_2 "NPY_PI_2" # pi / 2
+ long double PI_4 "NPY_PI_4" # pi / 4
+ long double NPY_1_PI # 1 / pi; NPY_ because of ident syntax
+ long double NPY_2_PI # 2 / pi
+ long double EULER "NPY_EULER" # Euler constant (gamma, 0.57721)
+
+ # Low-level floating point manipulation (NumPy >=1.4)
+ float copysignf "npy_copysignf"(float, float)
+ float nextafterf "npy_nextafterf"(float x, float y)
+ float spacingf "npy_spacingf"(float x)
+ double copysign "npy_copysign"(double, double)
+ double nextafter "npy_nextafter"(double x, double y)
+ double spacing "npy_spacing"(double x)
+ long double copysignl "npy_copysignl"(long double, long double)
+ long double nextafterl "npy_nextafterl"(long double x, long double y)
+ long double spacingl "npy_spacingl"(long double x)
+
+ # Float C99 functions
+ float sinf "npy_sinf"(float x)
+ float cosf "npy_cosf"(float x)
+ float tanf "npy_tanf"(float x)
+ float sinhf "npy_sinhf"(float x)
+ float coshf "npy_coshf"(float x)
+ float tanhf "npy_tanhf"(float x)
+ float fabsf "npy_fabsf"(float x)
+ float floorf "npy_floorf"(float x)
+ float ceilf "npy_ceilf"(float x)
+ float rintf "npy_rintf"(float x)
+ float sqrtf "npy_sqrtf"(float x)
+ float log10f "npy_log10f"(float x)
+ float logf "npy_logf"(float x)
+ float expf "npy_expf"(float x)
+ float expm1f "npy_expm1f"(float x)
+ float asinf "npy_asinf"(float x)
+ float acosf "npy_acosf"(float x)
+ float atanf "npy_atanf"(float x)
+ float asinhf "npy_asinhf"(float x)
+ float acoshf "npy_acoshf"(float x)
+ float atanhf "npy_atanhf"(float x)
+ float log1pf "npy_log1pf"(float x)
+ float exp2f "npy_exp2f"(float x)
+ float log2f "npy_log2f"(float x)
float atan2f "npy_atan2f"(float x, float y)
float hypotf "npy_hypotf"(float x, float y)
float powf "npy_powf"(float x, float y)
float fmodf "npy_fmodf"(float x, float y)
float modff "npy_modff"(float x, float* y)
-
- # Long double C99 functions
- long double sinl "npy_sinl"(long double x)
- long double cosl "npy_cosl"(long double x)
- long double tanl "npy_tanl"(long double x)
- long double sinhl "npy_sinhl"(long double x)
- long double coshl "npy_coshl"(long double x)
- long double tanhl "npy_tanhl"(long double x)
- long double fabsl "npy_fabsl"(long double x)
- long double floorl "npy_floorl"(long double x)
- long double ceill "npy_ceill"(long double x)
- long double rintl "npy_rintl"(long double x)
- long double sqrtl "npy_sqrtl"(long double x)
- long double log10l "npy_log10l"(long double x)
- long double logl "npy_logl"(long double x)
- long double expl "npy_expl"(long double x)
- long double expm1l "npy_expm1l"(long double x)
- long double asinl "npy_asinl"(long double x)
- long double acosl "npy_acosl"(long double x)
- long double atanl "npy_atanl"(long double x)
- long double asinhl "npy_asinhl"(long double x)
- long double acoshl "npy_acoshl"(long double x)
- long double atanhl "npy_atanhl"(long double x)
- long double log1pl "npy_log1pl"(long double x)
- long double exp2l "npy_exp2l"(long double x)
- long double log2l "npy_log2l"(long double x)
+
+ # Long double C99 functions
+ long double sinl "npy_sinl"(long double x)
+ long double cosl "npy_cosl"(long double x)
+ long double tanl "npy_tanl"(long double x)
+ long double sinhl "npy_sinhl"(long double x)
+ long double coshl "npy_coshl"(long double x)
+ long double tanhl "npy_tanhl"(long double x)
+ long double fabsl "npy_fabsl"(long double x)
+ long double floorl "npy_floorl"(long double x)
+ long double ceill "npy_ceill"(long double x)
+ long double rintl "npy_rintl"(long double x)
+ long double sqrtl "npy_sqrtl"(long double x)
+ long double log10l "npy_log10l"(long double x)
+ long double logl "npy_logl"(long double x)
+ long double expl "npy_expl"(long double x)
+ long double expm1l "npy_expm1l"(long double x)
+ long double asinl "npy_asinl"(long double x)
+ long double acosl "npy_acosl"(long double x)
+ long double atanl "npy_atanl"(long double x)
+ long double asinhl "npy_asinhl"(long double x)
+ long double acoshl "npy_acoshl"(long double x)
+ long double atanhl "npy_atanhl"(long double x)
+ long double log1pl "npy_log1pl"(long double x)
+ long double exp2l "npy_exp2l"(long double x)
+ long double log2l "npy_log2l"(long double x)
long double atan2l "npy_atan2l"(long double x, long double y)
long double hypotl "npy_hypotl"(long double x, long double y)
long double powl "npy_powl"(long double x, long double y)
long double fmodl "npy_fmodl"(long double x, long double y)
long double modfl "npy_modfl"(long double x, long double* y)
-
- # NumPy extensions
- float deg2radf "npy_deg2radf"(float x)
- float rad2degf "npy_rad2degf"(float x)
+
+ # NumPy extensions
+ float deg2radf "npy_deg2radf"(float x)
+ float rad2degf "npy_rad2degf"(float x)
float logaddexpf "npy_logaddexpf"(float x, float y)
float logaddexp2f "npy_logaddexp2f"(float x, float y)
-
- double deg2rad "npy_deg2rad"(double x)
- double rad2deg "npy_rad2deg"(double x)
+
+ double deg2rad "npy_deg2rad"(double x)
+ double rad2deg "npy_rad2deg"(double x)
double logaddexp "npy_logaddexp"(double x, double y)
double logaddexp2 "npy_logaddexp2"(double x, double y)
-
- long double deg2radl "npy_deg2radl"(long double x)
- long double rad2degl "npy_rad2degl"(long double x)
+
+ long double deg2radl "npy_deg2radl"(long double x)
+ long double rad2degl "npy_rad2degl"(long double x)
long double logaddexpl "npy_logaddexpl"(long double x, long double y)
long double logaddexp2l "npy_logaddexp2l"(long double x, long double y)
diff --git a/contrib/tools/cython/Cython/Includes/openmp.pxd b/contrib/tools/cython/Cython/Includes/openmp.pxd
index 30873a588b..32c9a53ba9 100644
--- a/contrib/tools/cython/Cython/Includes/openmp.pxd
+++ b/contrib/tools/cython/Cython/Includes/openmp.pxd
@@ -1,51 +1,51 @@
cdef extern from "<omp.h>":
- ctypedef struct omp_lock_t:
- pass
- ctypedef struct omp_nest_lock_t:
- pass
-
- ctypedef enum omp_sched_t:
- omp_sched_static = 1,
- omp_sched_dynamic = 2,
- omp_sched_guided = 3,
- omp_sched_auto = 4
-
- extern void omp_set_num_threads(int) nogil
- extern int omp_get_num_threads() nogil
- extern int omp_get_max_threads() nogil
- extern int omp_get_thread_num() nogil
- extern int omp_get_num_procs() nogil
-
- extern int omp_in_parallel() nogil
-
- extern void omp_set_dynamic(int) nogil
- extern int omp_get_dynamic() nogil
-
- extern void omp_set_nested(int) nogil
- extern int omp_get_nested() nogil
-
- extern void omp_init_lock(omp_lock_t *) nogil
- extern void omp_destroy_lock(omp_lock_t *) nogil
- extern void omp_set_lock(omp_lock_t *) nogil
- extern void omp_unset_lock(omp_lock_t *) nogil
- extern int omp_test_lock(omp_lock_t *) nogil
-
- extern void omp_init_nest_lock(omp_nest_lock_t *) nogil
- extern void omp_destroy_nest_lock(omp_nest_lock_t *) nogil
- extern void omp_set_nest_lock(omp_nest_lock_t *) nogil
- extern void omp_unset_nest_lock(omp_nest_lock_t *) nogil
- extern int omp_test_nest_lock(omp_nest_lock_t *) nogil
-
- extern double omp_get_wtime() nogil
- extern double omp_get_wtick() nogil
-
- void omp_set_schedule(omp_sched_t, int) nogil
- void omp_get_schedule(omp_sched_t *, int *) nogil
- int omp_get_thread_limit() nogil
- void omp_set_max_active_levels(int) nogil
- int omp_get_max_active_levels() nogil
- int omp_get_level() nogil
- int omp_get_ancestor_thread_num(int) nogil
- int omp_get_team_size(int) nogil
- int omp_get_active_level() nogil
-
+ ctypedef struct omp_lock_t:
+ pass
+ ctypedef struct omp_nest_lock_t:
+ pass
+
+ ctypedef enum omp_sched_t:
+ omp_sched_static = 1,
+ omp_sched_dynamic = 2,
+ omp_sched_guided = 3,
+ omp_sched_auto = 4
+
+ extern void omp_set_num_threads(int) nogil
+ extern int omp_get_num_threads() nogil
+ extern int omp_get_max_threads() nogil
+ extern int omp_get_thread_num() nogil
+ extern int omp_get_num_procs() nogil
+
+ extern int omp_in_parallel() nogil
+
+ extern void omp_set_dynamic(int) nogil
+ extern int omp_get_dynamic() nogil
+
+ extern void omp_set_nested(int) nogil
+ extern int omp_get_nested() nogil
+
+ extern void omp_init_lock(omp_lock_t *) nogil
+ extern void omp_destroy_lock(omp_lock_t *) nogil
+ extern void omp_set_lock(omp_lock_t *) nogil
+ extern void omp_unset_lock(omp_lock_t *) nogil
+ extern int omp_test_lock(omp_lock_t *) nogil
+
+ extern void omp_init_nest_lock(omp_nest_lock_t *) nogil
+ extern void omp_destroy_nest_lock(omp_nest_lock_t *) nogil
+ extern void omp_set_nest_lock(omp_nest_lock_t *) nogil
+ extern void omp_unset_nest_lock(omp_nest_lock_t *) nogil
+ extern int omp_test_nest_lock(omp_nest_lock_t *) nogil
+
+ extern double omp_get_wtime() nogil
+ extern double omp_get_wtick() nogil
+
+ void omp_set_schedule(omp_sched_t, int) nogil
+ void omp_get_schedule(omp_sched_t *, int *) nogil
+ int omp_get_thread_limit() nogil
+ void omp_set_max_active_levels(int) nogil
+ int omp_get_max_active_levels() nogil
+ int omp_get_level() nogil
+ int omp_get_ancestor_thread_num(int) nogil
+ int omp_get_team_size(int) nogil
+ int omp_get_active_level() nogil
+
diff --git a/contrib/tools/cython/Cython/Includes/posix/__init__.pxd b/contrib/tools/cython/Cython/Includes/posix/__init__.pxd
index fa81adaff6..4a2889e8e1 100644
--- a/contrib/tools/cython/Cython/Includes/posix/__init__.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/__init__.pxd
@@ -1 +1 @@
-# empty file
+# empty file
diff --git a/contrib/tools/cython/Cython/Includes/posix/fcntl.pxd b/contrib/tools/cython/Cython/Includes/posix/fcntl.pxd
index 9afc33a368..727d0be03a 100644
--- a/contrib/tools/cython/Cython/Includes/posix/fcntl.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/fcntl.pxd
@@ -1,68 +1,68 @@
-# http://www.opengroup.org/onlinepubs/009695399/basedefs/fcntl.h.html
-
+# http://www.opengroup.org/onlinepubs/009695399/basedefs/fcntl.h.html
+
cdef extern from "<fcntl.h>" nogil:
-
- enum: F_DUPFD
- enum: F_GETFD
- enum: F_SETFD
- enum: F_GETFL
- enum: F_SETFL
- enum: F_GETLK
- enum: F_SETLK
- enum: F_SETLKW
- enum: F_GETOWN
- enum: F_SETOWN
-
- enum: FD_CLOEXEC
-
- enum: F_RDLCK
- enum: F_UNLCK
- enum: F_WRLCK
-
- enum: SEEK_SET
- enum: SEEK_CUR
- enum: SEEK_END
-
- enum: O_CREAT
+
+ enum: F_DUPFD
+ enum: F_GETFD
+ enum: F_SETFD
+ enum: F_GETFL
+ enum: F_SETFL
+ enum: F_GETLK
+ enum: F_SETLK
+ enum: F_SETLKW
+ enum: F_GETOWN
+ enum: F_SETOWN
+
+ enum: FD_CLOEXEC
+
+ enum: F_RDLCK
+ enum: F_UNLCK
+ enum: F_WRLCK
+
+ enum: SEEK_SET
+ enum: SEEK_CUR
+ enum: SEEK_END
+
+ enum: O_CREAT
enum: O_DIRECT
- enum: O_EXCL
- enum: O_NOCTTY
- enum: O_TRUNC
-
- enum: O_APPEND
- enum: O_DSYNC
- enum: O_NONBLOCK
- enum: O_RSYNC
- enum: O_SYNC
-
- enum: O_ACCMODE # O_RDONLY|O_WRONLY|O_RDWR
-
- enum: O_RDONLY
- enum: O_WRONLY
- enum: O_RDWR
-
- enum: S_IFMT
- enum: S_IFBLK
- enum: S_IFCHR
- enum: S_IFIFO
- enum: S_IFREG
- enum: S_IFDIR
- enum: S_IFLNK
- enum: S_IFSOCK
-
- ctypedef int mode_t
- ctypedef signed pid_t
- ctypedef signed off_t
-
- struct flock:
- short l_type
- short l_whence
- off_t l_start
- off_t l_len
- pid_t l_pid
-
- int creat(char *, mode_t)
- int fcntl(int, int, ...)
- int open(char *, int, ...)
- #int open (char *, int, mode_t)
-
+ enum: O_EXCL
+ enum: O_NOCTTY
+ enum: O_TRUNC
+
+ enum: O_APPEND
+ enum: O_DSYNC
+ enum: O_NONBLOCK
+ enum: O_RSYNC
+ enum: O_SYNC
+
+ enum: O_ACCMODE # O_RDONLY|O_WRONLY|O_RDWR
+
+ enum: O_RDONLY
+ enum: O_WRONLY
+ enum: O_RDWR
+
+ enum: S_IFMT
+ enum: S_IFBLK
+ enum: S_IFCHR
+ enum: S_IFIFO
+ enum: S_IFREG
+ enum: S_IFDIR
+ enum: S_IFLNK
+ enum: S_IFSOCK
+
+ ctypedef int mode_t
+ ctypedef signed pid_t
+ ctypedef signed off_t
+
+ struct flock:
+ short l_type
+ short l_whence
+ off_t l_start
+ off_t l_len
+ pid_t l_pid
+
+ int creat(char *, mode_t)
+ int fcntl(int, int, ...)
+ int open(char *, int, ...)
+ #int open (char *, int, mode_t)
+
diff --git a/contrib/tools/cython/Cython/Includes/posix/ioctl.pxd b/contrib/tools/cython/Cython/Includes/posix/ioctl.pxd
index dacbc307f3..5c00702150 100644
--- a/contrib/tools/cython/Cython/Includes/posix/ioctl.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/ioctl.pxd
@@ -1,4 +1,4 @@
cdef extern from "<sys/ioctl.h>" nogil:
- enum: FIONBIO
-
- int ioctl(int fd, int request, ...)
+ enum: FIONBIO
+
+ int ioctl(int fd, int request, ...)
diff --git a/contrib/tools/cython/Cython/Includes/posix/resource.pxd b/contrib/tools/cython/Cython/Includes/posix/resource.pxd
index 9f55c6ab4e..6d9bac2925 100644
--- a/contrib/tools/cython/Cython/Includes/posix/resource.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/resource.pxd
@@ -1,55 +1,55 @@
-# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html
-
+# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html
+
from posix.time cimport timeval
-from posix.types cimport id_t
-
+from posix.types cimport id_t
+
cdef extern from "<sys/resource.h>" nogil:
-
- enum: PRIO_PROCESS
- enum: PRIO_PGRP
- enum: PRIO_USER
-
- enum: RLIM_INFINITY
- enum: RLIM_SAVED_MAX
- enum: RLIM_SAVED_CUR
-
- enum: RUSAGE_SELF
- enum: RUSAGE_CHILDREN
-
- enum: RLIMIT_CORE
- enum: RLIMIT_CPU
- enum: RLIMIT_DATA
- enum: RLIMIT_FSIZE
- enum: RLIMIT_NOFILE
- enum: RLIMIT_STACK
- enum: RLIMIT_AS
-
- ctypedef unsigned long rlim_t
-
- cdef struct rlimit:
- rlim_t rlim_cur
- rlim_t rlim_max
-
- cdef struct rusage:
- timeval ru_utime
- timeval ru_stime
- long ru_maxrss
- long ru_ixrss
- long ru_idrss
- long ru_isrss
- long ru_minflt
- long ru_majflt
- long ru_nswap
- long ru_inblock
- long ru_oublock
- long ru_msgsnd
- long ru_msgrcv
- long ru_nsignals
- long ru_nvcsw
- long ru_nivcsw
-
- int getpriority(int, id_t)
- int getrlimit(int, rlimit *)
- int getrusage(int, rusage *)
- int setpriority(int, id_t, int)
- int setrlimit(int, const rlimit *)
+
+ enum: PRIO_PROCESS
+ enum: PRIO_PGRP
+ enum: PRIO_USER
+
+ enum: RLIM_INFINITY
+ enum: RLIM_SAVED_MAX
+ enum: RLIM_SAVED_CUR
+
+ enum: RUSAGE_SELF
+ enum: RUSAGE_CHILDREN
+
+ enum: RLIMIT_CORE
+ enum: RLIMIT_CPU
+ enum: RLIMIT_DATA
+ enum: RLIMIT_FSIZE
+ enum: RLIMIT_NOFILE
+ enum: RLIMIT_STACK
+ enum: RLIMIT_AS
+
+ ctypedef unsigned long rlim_t
+
+ cdef struct rlimit:
+ rlim_t rlim_cur
+ rlim_t rlim_max
+
+ cdef struct rusage:
+ timeval ru_utime
+ timeval ru_stime
+ long ru_maxrss
+ long ru_ixrss
+ long ru_idrss
+ long ru_isrss
+ long ru_minflt
+ long ru_majflt
+ long ru_nswap
+ long ru_inblock
+ long ru_oublock
+ long ru_msgsnd
+ long ru_msgrcv
+ long ru_nsignals
+ long ru_nvcsw
+ long ru_nivcsw
+
+ int getpriority(int, id_t)
+ int getrlimit(int, rlimit *)
+ int getrusage(int, rusage *)
+ int setpriority(int, id_t, int)
+ int setrlimit(int, const rlimit *)
diff --git a/contrib/tools/cython/Cython/Includes/posix/signal.pxd b/contrib/tools/cython/Cython/Includes/posix/signal.pxd
index 9fe7d9c36c..b0b381359e 100644
--- a/contrib/tools/cython/Cython/Includes/posix/signal.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/signal.pxd
@@ -1,73 +1,73 @@
-# 7.14 Signal handling <signal.h>
-
-from posix.types cimport pid_t, sigset_t, uid_t
-
+# 7.14 Signal handling <signal.h>
+
+from posix.types cimport pid_t, sigset_t, uid_t
+
cdef extern from "<signal.h>" nogil:
-
- cdef union sigval:
- int sival_int
- void *sival_ptr
-
- cdef struct sigevent:
- int sigev_notify
- int sigev_signo
- sigval sigev_value
+
+ cdef union sigval:
+ int sival_int
+ void *sival_ptr
+
+ cdef struct sigevent:
+ int sigev_notify
+ int sigev_signo
+ sigval sigev_value
void sigev_notify_function(sigval)
-
- ctypedef struct siginfo_t:
- int si_signo
- int si_code
- int si_errno
- pid_t si_pid
- uid_t si_uid
- void *si_addr
- int si_status
- long si_band
- sigval si_value
-
- cdef struct sigaction_t "sigaction":
+
+ ctypedef struct siginfo_t:
+ int si_signo
+ int si_code
+ int si_errno
+ pid_t si_pid
+ uid_t si_uid
+ void *si_addr
+ int si_status
+ long si_band
+ sigval si_value
+
+ cdef struct sigaction_t "sigaction":
void sa_handler(int)
void sa_sigaction(int, siginfo_t *, void *)
- sigset_t sa_mask
- int sa_flags
-
+ sigset_t sa_mask
+ int sa_flags
+
ctypedef struct stack_t:
void *ss_sp
int ss_flags
size_t ss_size
- enum: SA_NOCLDSTOP
- enum: SIG_BLOCK
- enum: SIG_UNBLOCK
- enum: SIG_SETMASK
- enum: SA_ONSTACK
- enum: SA_RESETHAND
- enum: SA_RESTART
- enum: SA_SIGINFO
- enum: SA_NOCLDWAIT
- enum: SA_NODEFER
- enum: SS_ONSTACK
- enum: SS_DISABLE
- enum: MINSIGSTKSZ
- enum: SIGSTKSZ
-
- enum: SIGEV_NONE
- enum: SIGEV_SIGNAL
- enum: SIGEV_THREAD
- enum: SIGEV_THREAD_ID
-
-
- int kill (pid_t, int)
- int killpg (pid_t, int)
- int sigaction (int, const sigaction_t *, sigaction_t *)
- int sigpending (sigset_t *)
- int sigprocmask (int, const sigset_t *, sigset_t *)
- int sigsuspend (const sigset_t *)
-
- int sigaddset (sigset_t *, int)
- int sigdelset (sigset_t *, int)
- int sigemptyset (sigset_t *)
- int sigfillset (sigset_t *)
+ enum: SA_NOCLDSTOP
+ enum: SIG_BLOCK
+ enum: SIG_UNBLOCK
+ enum: SIG_SETMASK
+ enum: SA_ONSTACK
+ enum: SA_RESETHAND
+ enum: SA_RESTART
+ enum: SA_SIGINFO
+ enum: SA_NOCLDWAIT
+ enum: SA_NODEFER
+ enum: SS_ONSTACK
+ enum: SS_DISABLE
+ enum: MINSIGSTKSZ
+ enum: SIGSTKSZ
+
+ enum: SIGEV_NONE
+ enum: SIGEV_SIGNAL
+ enum: SIGEV_THREAD
+ enum: SIGEV_THREAD_ID
+
+
+ int kill (pid_t, int)
+ int killpg (pid_t, int)
+ int sigaction (int, const sigaction_t *, sigaction_t *)
+ int sigpending (sigset_t *)
+ int sigprocmask (int, const sigset_t *, sigset_t *)
+ int sigsuspend (const sigset_t *)
+
+ int sigaddset (sigset_t *, int)
+ int sigdelset (sigset_t *, int)
+ int sigemptyset (sigset_t *)
+ int sigfillset (sigset_t *)
int sigismember (const sigset_t *, int)
int sigaltstack(const stack_t *, stack_t *)
diff --git a/contrib/tools/cython/Cython/Includes/posix/stat.pxd b/contrib/tools/cython/Cython/Includes/posix/stat.pxd
index 69c2eca166..7e57b1b0d4 100644
--- a/contrib/tools/cython/Cython/Includes/posix/stat.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/stat.pxd
@@ -1,71 +1,71 @@
-from posix.types cimport (blkcnt_t, blksize_t, dev_t, gid_t, ino_t, mode_t,
- nlink_t, off_t, time_t, uid_t)
-
-
+from posix.types cimport (blkcnt_t, blksize_t, dev_t, gid_t, ino_t, mode_t,
+ nlink_t, off_t, time_t, uid_t)
+
+
cdef extern from "<sys/stat.h>" nogil:
- cdef struct struct_stat "stat":
- dev_t st_dev
- ino_t st_ino
- mode_t st_mode
- nlink_t st_nlink
- uid_t st_uid
- gid_t st_gid
- dev_t st_rdev
- off_t st_size
- blksize_t st_blksize
- blkcnt_t st_blocks
- time_t st_atime
- time_t st_mtime
- time_t st_ctime
-
+ cdef struct struct_stat "stat":
+ dev_t st_dev
+ ino_t st_ino
+ mode_t st_mode
+ nlink_t st_nlink
+ uid_t st_uid
+ gid_t st_gid
+ dev_t st_rdev
+ off_t st_size
+ blksize_t st_blksize
+ blkcnt_t st_blocks
+ time_t st_atime
+ time_t st_mtime
+ time_t st_ctime
+
# st_birthtime exists on *BSD and OS X.
# Under Linux, defining it here does not hurt. Compilation under Linux
# will only (and rightfully) fail when attempting to use the field.
time_t st_birthtime
-# POSIX prescribes including both <sys/stat.h> and <unistd.h> for these
+# POSIX prescribes including both <sys/stat.h> and <unistd.h> for these
cdef extern from "<unistd.h>" nogil:
- int fchmod(int, mode_t)
- int chmod(const char *, mode_t)
-
- int fstat(int, struct_stat *)
- int lstat(const char *, struct_stat *)
- int stat(const char *, struct_stat *)
-
- # Macros for st_mode
- mode_t S_ISREG(mode_t)
- mode_t S_ISDIR(mode_t)
- mode_t S_ISCHR(mode_t)
- mode_t S_ISBLK(mode_t)
- mode_t S_ISFIFO(mode_t)
- mode_t S_ISLNK(mode_t)
- mode_t S_ISSOCK(mode_t)
-
- mode_t S_IFMT
- mode_t S_IFREG
- mode_t S_IFDIR
- mode_t S_IFCHR
- mode_t S_IFBLK
- mode_t S_IFIFO
- mode_t S_IFLNK
- mode_t S_IFSOCK
-
- # Permissions
- mode_t S_ISUID
- mode_t S_ISGID
- mode_t S_ISVTX
-
- mode_t S_IRWXU
- mode_t S_IRUSR
- mode_t S_IWUSR
- mode_t S_IXUSR
-
- mode_t S_IRWXG
- mode_t S_IRGRP
- mode_t S_IWGRP
- mode_t S_IXGRP
-
- mode_t S_IRWXO
- mode_t S_IROTH
- mode_t S_IWOTH
- mode_t S_IXOTH
+ int fchmod(int, mode_t)
+ int chmod(const char *, mode_t)
+
+ int fstat(int, struct_stat *)
+ int lstat(const char *, struct_stat *)
+ int stat(const char *, struct_stat *)
+
+ # Macros for st_mode
+ mode_t S_ISREG(mode_t)
+ mode_t S_ISDIR(mode_t)
+ mode_t S_ISCHR(mode_t)
+ mode_t S_ISBLK(mode_t)
+ mode_t S_ISFIFO(mode_t)
+ mode_t S_ISLNK(mode_t)
+ mode_t S_ISSOCK(mode_t)
+
+ mode_t S_IFMT
+ mode_t S_IFREG
+ mode_t S_IFDIR
+ mode_t S_IFCHR
+ mode_t S_IFBLK
+ mode_t S_IFIFO
+ mode_t S_IFLNK
+ mode_t S_IFSOCK
+
+ # Permissions
+ mode_t S_ISUID
+ mode_t S_ISGID
+ mode_t S_ISVTX
+
+ mode_t S_IRWXU
+ mode_t S_IRUSR
+ mode_t S_IWUSR
+ mode_t S_IXUSR
+
+ mode_t S_IRWXG
+ mode_t S_IRGRP
+ mode_t S_IWGRP
+ mode_t S_IXGRP
+
+ mode_t S_IRWXO
+ mode_t S_IROTH
+ mode_t S_IWOTH
+ mode_t S_IXOTH
diff --git a/contrib/tools/cython/Cython/Includes/posix/stdlib.pxd b/contrib/tools/cython/Cython/Includes/posix/stdlib.pxd
index 513de938a8..8dbf1f72dd 100644
--- a/contrib/tools/cython/Cython/Includes/posix/stdlib.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/stdlib.pxd
@@ -1,29 +1,29 @@
-# POSIX additions to <stdlib.h>
-# http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdlib.h.html
-
+# POSIX additions to <stdlib.h>
+# http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdlib.h.html
+
cdef extern from "<stdlib.h>" nogil:
- void _Exit(int)
- double drand48()
- double erand48(unsigned short *)
- int getsubopt(char **, char *const *, char **)
- void lcong48(unsigned short *)
- long lrand()
- char *mkdtemp(char *)
- int mkstemp(char *)
- long mrand()
- long nrand48(unsigned short *)
- int posix_memalign(void **, size_t, size_t)
- int posix_openpt(int)
- char *ptsname(int)
- int putenv(char *)
- int rand_r(unsigned *)
- long random()
- char *realpath(const char *, char *)
- unsigned short *seed48(unsigned short *)
- int setenv(const char *, const char *, int)
- void setkey(const char *)
- char *setstate(char *)
- void srand48(long)
- void srandom(unsigned)
- int unlockpt(int)
- int unsetenv(const char *)
+ void _Exit(int)
+ double drand48()
+ double erand48(unsigned short *)
+ int getsubopt(char **, char *const *, char **)
+ void lcong48(unsigned short *)
+ long lrand()
+ char *mkdtemp(char *)
+ int mkstemp(char *)
+ long mrand()
+ long nrand48(unsigned short *)
+ int posix_memalign(void **, size_t, size_t)
+ int posix_openpt(int)
+ char *ptsname(int)
+ int putenv(char *)
+ int rand_r(unsigned *)
+ long random()
+ char *realpath(const char *, char *)
+ unsigned short *seed48(unsigned short *)
+ int setenv(const char *, const char *, int)
+ void setkey(const char *)
+ char *setstate(char *)
+ void srand48(long)
+ void srandom(unsigned)
+ int unlockpt(int)
+ int unsetenv(const char *)
diff --git a/contrib/tools/cython/Cython/Includes/posix/time.pxd b/contrib/tools/cython/Cython/Includes/posix/time.pxd
index 6bc81bfea0..0c8cd6b6ca 100644
--- a/contrib/tools/cython/Cython/Includes/posix/time.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/time.pxd
@@ -1,63 +1,63 @@
-# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
-
+# http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
+
from posix.types cimport suseconds_t, time_t, clockid_t, timer_t
-from posix.signal cimport sigevent
-
+from posix.signal cimport sigevent
+
cdef extern from "<sys/time.h>" nogil:
- enum: CLOCK_REALTIME
- enum: TIMER_ABSTIME
- enum: CLOCK_MONOTONIC
-
- # FreeBSD-specific clocks
- enum: CLOCK_UPTIME
- enum: CLOCK_UPTIME_PRECISE
- enum: CLOCK_UPTIME_FAST
- enum: CLOCK_REALTIME_PRECISE
- enum: CLOCK_REALTIME_FAST
- enum: CLOCK_MONOTONIC_PRECISE
- enum: CLOCK_MONOTONIC_FAST
- enum: CLOCK_SECOND
-
- # Linux-specific clocks
- enum: CLOCK_PROCESS_CPUTIME_ID
- enum: CLOCK_THREAD_CPUTIME_ID
- enum: CLOCK_MONOTONIC_RAW
- enum: CLOCK_REALTIME_COARSE
- enum: CLOCK_MONOTONIC_COARSE
- enum: CLOCK_BOOTTIME
- enum: CLOCK_REALTIME_ALARM
- enum: CLOCK_BOOTTIME_ALARM
-
- enum: ITIMER_REAL
- enum: ITIMER_VIRTUAL
- enum: ITIMER_PROF
-
+ enum: CLOCK_REALTIME
+ enum: TIMER_ABSTIME
+ enum: CLOCK_MONOTONIC
+
+ # FreeBSD-specific clocks
+ enum: CLOCK_UPTIME
+ enum: CLOCK_UPTIME_PRECISE
+ enum: CLOCK_UPTIME_FAST
+ enum: CLOCK_REALTIME_PRECISE
+ enum: CLOCK_REALTIME_FAST
+ enum: CLOCK_MONOTONIC_PRECISE
+ enum: CLOCK_MONOTONIC_FAST
+ enum: CLOCK_SECOND
+
+ # Linux-specific clocks
+ enum: CLOCK_PROCESS_CPUTIME_ID
+ enum: CLOCK_THREAD_CPUTIME_ID
+ enum: CLOCK_MONOTONIC_RAW
+ enum: CLOCK_REALTIME_COARSE
+ enum: CLOCK_MONOTONIC_COARSE
+ enum: CLOCK_BOOTTIME
+ enum: CLOCK_REALTIME_ALARM
+ enum: CLOCK_BOOTTIME_ALARM
+
+ enum: ITIMER_REAL
+ enum: ITIMER_VIRTUAL
+ enum: ITIMER_PROF
+
cdef struct timezone:
int tz_minuteswest
int dsttime
- cdef struct timeval:
- time_t tv_sec
- suseconds_t tv_usec
-
+ cdef struct timeval:
+ time_t tv_sec
+ suseconds_t tv_usec
+
cdef struct timespec:
time_t tv_sec
long tv_nsec
- cdef struct itimerval:
- timeval it_interval
- timeval it_value
-
- cdef struct itimerspec:
- timespec it_interval
- timespec it_value
-
+ cdef struct itimerval:
+ timeval it_interval
+ timeval it_value
+
+ cdef struct itimerspec:
+ timespec it_interval
+ timespec it_value
+
int nanosleep(const timespec *, timespec *)
-
+
int getitimer(int, itimerval *)
int gettimeofday(timeval *tp, timezone *tzp)
int setitimer(int, const itimerval *, itimerval *)
-
+
int clock_getcpuclockid(pid_t, clockid_t *)
int clock_getres(clockid_t, timespec *)
int clock_gettime(clockid_t, timespec *)
diff --git a/contrib/tools/cython/Cython/Includes/posix/types.pxd b/contrib/tools/cython/Cython/Includes/posix/types.pxd
index 308f2954ee..2a5434e3bd 100644
--- a/contrib/tools/cython/Cython/Includes/posix/types.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/types.pxd
@@ -11,20 +11,20 @@
# type).
cdef extern from "<sys/types.h>":
- ctypedef long blkcnt_t
- ctypedef long blksize_t
- ctypedef long clockid_t
- ctypedef long dev_t
- ctypedef long gid_t
- ctypedef long id_t
+ ctypedef long blkcnt_t
+ ctypedef long blksize_t
+ ctypedef long clockid_t
+ ctypedef long dev_t
+ ctypedef long gid_t
+ ctypedef long id_t
ctypedef unsigned long ino_t
- ctypedef long mode_t
- ctypedef long nlink_t
- ctypedef long off_t
- ctypedef long pid_t
+ ctypedef long mode_t
+ ctypedef long nlink_t
+ ctypedef long off_t
+ ctypedef long pid_t
ctypedef struct sigset_t:
pass
- ctypedef long suseconds_t
- ctypedef long time_t
- ctypedef long timer_t
- ctypedef long uid_t
+ ctypedef long suseconds_t
+ ctypedef long time_t
+ ctypedef long timer_t
+ ctypedef long uid_t
diff --git a/contrib/tools/cython/Cython/Includes/posix/unistd.pxd b/contrib/tools/cython/Cython/Includes/posix/unistd.pxd
index 1afeca3854..7d1299c745 100644
--- a/contrib/tools/cython/Cython/Includes/posix/unistd.pxd
+++ b/contrib/tools/cython/Cython/Includes/posix/unistd.pxd
@@ -1,271 +1,271 @@
-# http://www.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html
-
-from posix.types cimport gid_t, pid_t, off_t, uid_t
-
+# http://www.opengroup.org/onlinepubs/009695399/basedefs/unistd.h.html
+
+from posix.types cimport gid_t, pid_t, off_t, uid_t
+
cdef extern from "<unistd.h>" nogil:
-
- #:NULL
-
- enum: R_OK
- enum: W_OK
- enum: X_OK
- enum: F_OK
-
- enum: _CS_PATH
- enum: _CS_POSIX_V6_ILP32_OFF32_CFLAGS
- enum: _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
- enum: _CS_POSIX_V6_ILP32_OFF32_LIBS
- enum: _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
- enum: _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
- enum: _CS_POSIX_V6_ILP32_OFFBIG_LIBS
- enum: _CS_POSIX_V6_LP64_OFF64_CFLAGS
- enum: _CS_POSIX_V6_LP64_OFF64_LDFLAGS
- enum: _CS_POSIX_V6_LP64_OFF64_LIBS
- enum: _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
- enum: _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
- enum: _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
- enum: _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
-
- enum: SEEK_SET
- enum: SEEK_CUR
- enum: SEEK_END
-
- enum: F_LOCK
- enum: F_TEST
- enum: F_TLOCK
- enum: F_ULOCK
-
- enum: _PC_2_SYMLINKS
- enum: _PC_ALLOC_SIZE_MIN
- enum: _PC_ASYNC_IO
- enum: _PC_CHOWN_RESTRICTED
- enum: _PC_FILESIZEBITS
- enum: _PC_LINK_MAX
- enum: _PC_MAX_CANON
- enum: _PC_MAX_INPUT
- enum: _PC_NAME_MAX
- enum: _PC_NO_TRUNC
- enum: _PC_PATH_MAX
- enum: _PC_PIPE_BUF
- enum: _PC_PRIO_IO
- enum: _PC_REC_INCR_XFER_SIZE
- enum: _PC_REC_MIN_XFER_SIZE
- enum: _PC_REC_XFER_ALIGN
- enum: _PC_SYMLINK_MAX
- enum: _PC_SYNC_IO
- enum: _PC_VDISABLE
-
- enum: _SC_2_C_BIND
- enum: _SC_2_C_DEV
- enum: _SC_2_CHAR_TERM
- enum: _SC_2_FORT_DEV
- enum: _SC_2_FORT_RUN
- enum: _SC_2_LOCALEDEF
- enum: _SC_2_PBS
- enum: _SC_2_PBS_ACCOUNTING
- enum: _SC_2_PBS_CHECKPOINT
- enum: _SC_2_PBS_LOCATE
- enum: _SC_2_PBS_MESSAGE
- enum: _SC_2_PBS_TRACK
- enum: _SC_2_SW_DEV
- enum: _SC_2_UPE
- enum: _SC_2_VERSION
- enum: _SC_ADVISORY_INFO
- enum: _SC_AIO_LISTIO_MAX
- enum: _SC_AIO_MAX
- enum: _SC_AIO_PRIO_DELTA_MAX
- enum: _SC_ARG_MAX
- enum: _SC_ASYNCHRONOUS_IO
- enum: _SC_ATEXIT_MAX
- enum: _SC_BARRIERS
- enum: _SC_BC_BASE_MAX
- enum: _SC_BC_DIM_MAX
- enum: _SC_BC_SCALE_MAX
- enum: _SC_BC_STRING_MAX
- enum: _SC_CHILD_MAX
- enum: _SC_CLK_TCK
- enum: _SC_CLOCK_SELECTION
- enum: _SC_COLL_WEIGHTS_MAX
- enum: _SC_CPUTIME
- enum: _SC_DELAYTIMER_MAX
- enum: _SC_EXPR_NEST_MAX
- enum: _SC_FSYNC
- enum: _SC_GETGR_R_SIZE_MAX
- enum: _SC_GETPW_R_SIZE_MAX
- enum: _SC_HOST_NAME_MAX
- enum: _SC_IOV_MAX
- enum: _SC_IPV6
- enum: _SC_JOB_CONTROL
- enum: _SC_LINE_MAX
- enum: _SC_LOGIN_NAME_MAX
- enum: _SC_MAPPED_FILES
- enum: _SC_MEMLOCK
- enum: _SC_MEMLOCK_RANGE
- enum: _SC_MEMORY_PROTECTION
- enum: _SC_MESSAGE_PASSING
- enum: _SC_MONOTONIC_CLOCK
- enum: _SC_MQ_OPEN_MAX
- enum: _SC_MQ_PRIO_MAX
- enum: _SC_NGROUPS_MAX
- enum: _SC_OPEN_MAX
- enum: _SC_PAGE_SIZE
- enum: _SC_PAGESIZE
- enum: _SC_PRIORITIZED_IO
- enum: _SC_PRIORITY_SCHEDULING
- enum: _SC_RAW_SOCKETS
- enum: _SC_RE_DUP_MAX
- enum: _SC_READER_WRITER_LOCKS
- enum: _SC_REALTIME_SIGNALS
- enum: _SC_REGEXP
- enum: _SC_RTSIG_MAX
- enum: _SC_SAVED_IDS
- enum: _SC_SEM_NSEMS_MAX
- enum: _SC_SEM_VALUE_MAX
- enum: _SC_SEMAPHORES
- enum: _SC_SHARED_MEMORY_OBJECTS
- enum: _SC_SHELL
- enum: _SC_SIGQUEUE_MAX
- enum: _SC_SPAWN
- enum: _SC_SPIN_LOCKS
- enum: _SC_SPORADIC_SERVER
- enum: _SC_SS_REPL_MAX
- enum: _SC_STREAM_MAX
- enum: _SC_SYMLOOP_MAX
- enum: _SC_SYNCHRONIZED_IO
- enum: _SC_THREAD_ATTR_STACKADDR
- enum: _SC_THREAD_ATTR_STACKSIZE
- enum: _SC_THREAD_CPUTIME
- enum: _SC_THREAD_DESTRUCTOR_ITERATIONS
- enum: _SC_THREAD_KEYS_MAX
- enum: _SC_THREAD_PRIO_INHERIT
- enum: _SC_THREAD_PRIO_PROTECT
- enum: _SC_THREAD_PRIORITY_SCHEDULING
- enum: _SC_THREAD_PROCESS_SHARED
- enum: _SC_THREAD_SAFE_FUNCTIONS
- enum: _SC_THREAD_SPORADIC_SERVER
- enum: _SC_THREAD_STACK_MIN
- enum: _SC_THREAD_THREADS_MAX
- enum: _SC_THREADS
- enum: _SC_TIMEOUTS
- enum: _SC_TIMER_MAX
- enum: _SC_TIMERS
- enum: _SC_TRACE
- enum: _SC_TRACE_EVENT_FILTER
- enum: _SC_TRACE_EVENT_NAME_MAX
- enum: _SC_TRACE_INHERIT
- enum: _SC_TRACE_LOG
- enum: _SC_TRACE_NAME_MAX
- enum: _SC_TRACE_SYS_MAX
- enum: _SC_TRACE_USER_EVENT_MAX
- enum: _SC_TTY_NAME_MAX
- enum: _SC_TYPED_MEMORY_OBJECTS
- enum: _SC_TZNAME_MAX
- enum: _SC_V6_ILP32_OFF32
- enum: _SC_V6_ILP32_OFFBIG
- enum: _SC_V6_LP64_OFF64
- enum: _SC_V6_LPBIG_OFFBIG
- enum: _SC_VERSION
- enum: _SC_XBS5_ILP32_OFF32
- enum: _SC_XBS5_ILP32_OFFBIG
- enum: _SC_XBS5_LP64_OFF64
- enum: _SC_XBS5_LPBIG_OFFBIG
- enum: _SC_XOPEN_CRYPT
- enum: _SC_XOPEN_ENH_I18N
- enum: _SC_XOPEN_LEGACY
- enum: _SC_XOPEN_REALTIME
- enum: _SC_XOPEN_REALTIME_THREADS
- enum: _SC_XOPEN_SHM
- enum: _SC_XOPEN_STREAMS
- enum: _SC_XOPEN_UNIX
- enum: _SC_XOPEN_VERSION
-
- enum: STDIN_FILENO #0
- enum: STDOUT_FILENO #1
- enum: STDERR_FILENO #2
-
- ctypedef unsigned useconds_t
-
- int access(const char *, int)
- unsigned alarm(unsigned)
- int chdir(const char *)
- int chown(const char *, uid_t, gid_t)
- int close(int)
- size_t confstr(int, char *, size_t)
- char *crypt(const char *, const char *)
- char *ctermid(char *)
- int dup(int)
- int dup2(int, int)
- void encrypt(char[64], int)
- int execl(const char *, const char *, ...)
- int execle(const char *, const char *, ...)
- int execlp(const char *, const char *, ...)
- int execv(const char *, char *[])
- int execve(const char *, char *[], char *[])
- int execvp(const char *, char *[])
- void _exit(int)
- int fchown(int, uid_t, gid_t)
- int fchdir(int)
- int fdatasync(int)
- pid_t fork()
- long fpathconf(int, int)
- int fsync(int)
- int ftruncate(int, off_t)
- char *getcwd(char *, size_t)
- gid_t getegid()
- uid_t geteuid()
- gid_t getgid()
- int getgroups(int, gid_t [])
- long gethostid()
- int gethostname(char *, size_t)
- char *getlogin()
- int getlogin_r(char *, size_t)
- int getopt(int, char * [], const char *)
- pid_t getpgid(pid_t)
- pid_t getpgrp()
- pid_t getpid()
- pid_t getppid()
- pid_t getsid(pid_t)
- uid_t getuid()
- char *getwd(char *)
- int isatty(int)
- int lchown(const char *, uid_t, gid_t)
- int link(const char *, const char *)
- int lockf(int, int, off_t)
- off_t lseek(int, off_t, int)
- int nice(int)
- long pathconf(char *, int)
- int pause()
- int pipe(int [2])
- ssize_t pread(int, void *, size_t, off_t)
- ssize_t pwrite(int, const void *, size_t, off_t)
- ssize_t read(int, void *, size_t)
- ssize_t readlink(const char *, char *, size_t)
- int rmdir(const char *)
- int setegid(gid_t)
- int seteuid(uid_t)
- int setgid(gid_t)
- int setpgid(pid_t, pid_t)
- pid_t setpgrp()
- int setregid(gid_t, gid_t)
- int setreuid(uid_t, uid_t)
- pid_t setsid()
- int setuid(uid_t)
- unsigned sleep(unsigned)
- void swab(const void *, void *, ssize_t)
- int symlink(const char *, const char *)
- void sync()
- long sysconf(int)
- pid_t tcgetpgrp(int)
- int tcsetpgrp(int, pid_t)
- int truncate(const char *, off_t)
- char *ttyname(int)
- int ttyname_r(int, char *, size_t)
- useconds_t ualarm(useconds_t, useconds_t)
- int unlink(const char *)
- int usleep(useconds_t)
- pid_t vfork()
- ssize_t write(int, const void *, size_t)
- char *optarg
- int optind
- int opterr
- int optopt
+
+ #:NULL
+
+ enum: R_OK
+ enum: W_OK
+ enum: X_OK
+ enum: F_OK
+
+ enum: _CS_PATH
+ enum: _CS_POSIX_V6_ILP32_OFF32_CFLAGS
+ enum: _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+ enum: _CS_POSIX_V6_ILP32_OFF32_LIBS
+ enum: _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+ enum: _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+ enum: _CS_POSIX_V6_ILP32_OFFBIG_LIBS
+ enum: _CS_POSIX_V6_LP64_OFF64_CFLAGS
+ enum: _CS_POSIX_V6_LP64_OFF64_LDFLAGS
+ enum: _CS_POSIX_V6_LP64_OFF64_LIBS
+ enum: _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+ enum: _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+ enum: _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+ enum: _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS
+
+ enum: SEEK_SET
+ enum: SEEK_CUR
+ enum: SEEK_END
+
+ enum: F_LOCK
+ enum: F_TEST
+ enum: F_TLOCK
+ enum: F_ULOCK
+
+ enum: _PC_2_SYMLINKS
+ enum: _PC_ALLOC_SIZE_MIN
+ enum: _PC_ASYNC_IO
+ enum: _PC_CHOWN_RESTRICTED
+ enum: _PC_FILESIZEBITS
+ enum: _PC_LINK_MAX
+ enum: _PC_MAX_CANON
+ enum: _PC_MAX_INPUT
+ enum: _PC_NAME_MAX
+ enum: _PC_NO_TRUNC
+ enum: _PC_PATH_MAX
+ enum: _PC_PIPE_BUF
+ enum: _PC_PRIO_IO
+ enum: _PC_REC_INCR_XFER_SIZE
+ enum: _PC_REC_MIN_XFER_SIZE
+ enum: _PC_REC_XFER_ALIGN
+ enum: _PC_SYMLINK_MAX
+ enum: _PC_SYNC_IO
+ enum: _PC_VDISABLE
+
+ enum: _SC_2_C_BIND
+ enum: _SC_2_C_DEV
+ enum: _SC_2_CHAR_TERM
+ enum: _SC_2_FORT_DEV
+ enum: _SC_2_FORT_RUN
+ enum: _SC_2_LOCALEDEF
+ enum: _SC_2_PBS
+ enum: _SC_2_PBS_ACCOUNTING
+ enum: _SC_2_PBS_CHECKPOINT
+ enum: _SC_2_PBS_LOCATE
+ enum: _SC_2_PBS_MESSAGE
+ enum: _SC_2_PBS_TRACK
+ enum: _SC_2_SW_DEV
+ enum: _SC_2_UPE
+ enum: _SC_2_VERSION
+ enum: _SC_ADVISORY_INFO
+ enum: _SC_AIO_LISTIO_MAX
+ enum: _SC_AIO_MAX
+ enum: _SC_AIO_PRIO_DELTA_MAX
+ enum: _SC_ARG_MAX
+ enum: _SC_ASYNCHRONOUS_IO
+ enum: _SC_ATEXIT_MAX
+ enum: _SC_BARRIERS
+ enum: _SC_BC_BASE_MAX
+ enum: _SC_BC_DIM_MAX
+ enum: _SC_BC_SCALE_MAX
+ enum: _SC_BC_STRING_MAX
+ enum: _SC_CHILD_MAX
+ enum: _SC_CLK_TCK
+ enum: _SC_CLOCK_SELECTION
+ enum: _SC_COLL_WEIGHTS_MAX
+ enum: _SC_CPUTIME
+ enum: _SC_DELAYTIMER_MAX
+ enum: _SC_EXPR_NEST_MAX
+ enum: _SC_FSYNC
+ enum: _SC_GETGR_R_SIZE_MAX
+ enum: _SC_GETPW_R_SIZE_MAX
+ enum: _SC_HOST_NAME_MAX
+ enum: _SC_IOV_MAX
+ enum: _SC_IPV6
+ enum: _SC_JOB_CONTROL
+ enum: _SC_LINE_MAX
+ enum: _SC_LOGIN_NAME_MAX
+ enum: _SC_MAPPED_FILES
+ enum: _SC_MEMLOCK
+ enum: _SC_MEMLOCK_RANGE
+ enum: _SC_MEMORY_PROTECTION
+ enum: _SC_MESSAGE_PASSING
+ enum: _SC_MONOTONIC_CLOCK
+ enum: _SC_MQ_OPEN_MAX
+ enum: _SC_MQ_PRIO_MAX
+ enum: _SC_NGROUPS_MAX
+ enum: _SC_OPEN_MAX
+ enum: _SC_PAGE_SIZE
+ enum: _SC_PAGESIZE
+ enum: _SC_PRIORITIZED_IO
+ enum: _SC_PRIORITY_SCHEDULING
+ enum: _SC_RAW_SOCKETS
+ enum: _SC_RE_DUP_MAX
+ enum: _SC_READER_WRITER_LOCKS
+ enum: _SC_REALTIME_SIGNALS
+ enum: _SC_REGEXP
+ enum: _SC_RTSIG_MAX
+ enum: _SC_SAVED_IDS
+ enum: _SC_SEM_NSEMS_MAX
+ enum: _SC_SEM_VALUE_MAX
+ enum: _SC_SEMAPHORES
+ enum: _SC_SHARED_MEMORY_OBJECTS
+ enum: _SC_SHELL
+ enum: _SC_SIGQUEUE_MAX
+ enum: _SC_SPAWN
+ enum: _SC_SPIN_LOCKS
+ enum: _SC_SPORADIC_SERVER
+ enum: _SC_SS_REPL_MAX
+ enum: _SC_STREAM_MAX
+ enum: _SC_SYMLOOP_MAX
+ enum: _SC_SYNCHRONIZED_IO
+ enum: _SC_THREAD_ATTR_STACKADDR
+ enum: _SC_THREAD_ATTR_STACKSIZE
+ enum: _SC_THREAD_CPUTIME
+ enum: _SC_THREAD_DESTRUCTOR_ITERATIONS
+ enum: _SC_THREAD_KEYS_MAX
+ enum: _SC_THREAD_PRIO_INHERIT
+ enum: _SC_THREAD_PRIO_PROTECT
+ enum: _SC_THREAD_PRIORITY_SCHEDULING
+ enum: _SC_THREAD_PROCESS_SHARED
+ enum: _SC_THREAD_SAFE_FUNCTIONS
+ enum: _SC_THREAD_SPORADIC_SERVER
+ enum: _SC_THREAD_STACK_MIN
+ enum: _SC_THREAD_THREADS_MAX
+ enum: _SC_THREADS
+ enum: _SC_TIMEOUTS
+ enum: _SC_TIMER_MAX
+ enum: _SC_TIMERS
+ enum: _SC_TRACE
+ enum: _SC_TRACE_EVENT_FILTER
+ enum: _SC_TRACE_EVENT_NAME_MAX
+ enum: _SC_TRACE_INHERIT
+ enum: _SC_TRACE_LOG
+ enum: _SC_TRACE_NAME_MAX
+ enum: _SC_TRACE_SYS_MAX
+ enum: _SC_TRACE_USER_EVENT_MAX
+ enum: _SC_TTY_NAME_MAX
+ enum: _SC_TYPED_MEMORY_OBJECTS
+ enum: _SC_TZNAME_MAX
+ enum: _SC_V6_ILP32_OFF32
+ enum: _SC_V6_ILP32_OFFBIG
+ enum: _SC_V6_LP64_OFF64
+ enum: _SC_V6_LPBIG_OFFBIG
+ enum: _SC_VERSION
+ enum: _SC_XBS5_ILP32_OFF32
+ enum: _SC_XBS5_ILP32_OFFBIG
+ enum: _SC_XBS5_LP64_OFF64
+ enum: _SC_XBS5_LPBIG_OFFBIG
+ enum: _SC_XOPEN_CRYPT
+ enum: _SC_XOPEN_ENH_I18N
+ enum: _SC_XOPEN_LEGACY
+ enum: _SC_XOPEN_REALTIME
+ enum: _SC_XOPEN_REALTIME_THREADS
+ enum: _SC_XOPEN_SHM
+ enum: _SC_XOPEN_STREAMS
+ enum: _SC_XOPEN_UNIX
+ enum: _SC_XOPEN_VERSION
+
+ enum: STDIN_FILENO #0
+ enum: STDOUT_FILENO #1
+ enum: STDERR_FILENO #2
+
+ ctypedef unsigned useconds_t
+
+ int access(const char *, int)
+ unsigned alarm(unsigned)
+ int chdir(const char *)
+ int chown(const char *, uid_t, gid_t)
+ int close(int)
+ size_t confstr(int, char *, size_t)
+ char *crypt(const char *, const char *)
+ char *ctermid(char *)
+ int dup(int)
+ int dup2(int, int)
+ void encrypt(char[64], int)
+ int execl(const char *, const char *, ...)
+ int execle(const char *, const char *, ...)
+ int execlp(const char *, const char *, ...)
+ int execv(const char *, char *[])
+ int execve(const char *, char *[], char *[])
+ int execvp(const char *, char *[])
+ void _exit(int)
+ int fchown(int, uid_t, gid_t)
+ int fchdir(int)
+ int fdatasync(int)
+ pid_t fork()
+ long fpathconf(int, int)
+ int fsync(int)
+ int ftruncate(int, off_t)
+ char *getcwd(char *, size_t)
+ gid_t getegid()
+ uid_t geteuid()
+ gid_t getgid()
+ int getgroups(int, gid_t [])
+ long gethostid()
+ int gethostname(char *, size_t)
+ char *getlogin()
+ int getlogin_r(char *, size_t)
+ int getopt(int, char * [], const char *)
+ pid_t getpgid(pid_t)
+ pid_t getpgrp()
+ pid_t getpid()
+ pid_t getppid()
+ pid_t getsid(pid_t)
+ uid_t getuid()
+ char *getwd(char *)
+ int isatty(int)
+ int lchown(const char *, uid_t, gid_t)
+ int link(const char *, const char *)
+ int lockf(int, int, off_t)
+ off_t lseek(int, off_t, int)
+ int nice(int)
+ long pathconf(char *, int)
+ int pause()
+ int pipe(int [2])
+ ssize_t pread(int, void *, size_t, off_t)
+ ssize_t pwrite(int, const void *, size_t, off_t)
+ ssize_t read(int, void *, size_t)
+ ssize_t readlink(const char *, char *, size_t)
+ int rmdir(const char *)
+ int setegid(gid_t)
+ int seteuid(uid_t)
+ int setgid(gid_t)
+ int setpgid(pid_t, pid_t)
+ pid_t setpgrp()
+ int setregid(gid_t, gid_t)
+ int setreuid(uid_t, uid_t)
+ pid_t setsid()
+ int setuid(uid_t)
+ unsigned sleep(unsigned)
+ void swab(const void *, void *, ssize_t)
+ int symlink(const char *, const char *)
+ void sync()
+ long sysconf(int)
+ pid_t tcgetpgrp(int)
+ int tcsetpgrp(int, pid_t)
+ int truncate(const char *, off_t)
+ char *ttyname(int)
+ int ttyname_r(int, char *, size_t)
+ useconds_t ualarm(useconds_t, useconds_t)
+ int unlink(const char *)
+ int usleep(useconds_t)
+ pid_t vfork()
+ ssize_t write(int, const void *, size_t)
+ char *optarg
+ int optind
+ int opterr
+ int optopt