Commit 822df280 authored by gabrieldemarmiesse's avatar gabrieldemarmiesse

Docs: Removed mention of some versions so old that nobody should care.

parent 084a25f5
...@@ -158,7 +158,7 @@ We can thus change the init function as follows: ...@@ -158,7 +158,7 @@ We can thus change the init function as follows:
exception instance in order to raise it may actually fail because exception instance in order to raise it may actually fail because
we are running out of memory. Luckily, CPython provides a C-API we are running out of memory. Luckily, CPython provides a C-API
function ``PyErr_NoMemory()`` that safely raises the right function ``PyErr_NoMemory()`` that safely raises the right
exception for us. Since version 0.14.1, Cython automatically exception for us. Cython automatically
substitutes this C-API call whenever you write ``raise substitutes this C-API call whenever you write ``raise
MemoryError`` or ``raise MemoryError()``. If you use an older MemoryError`` or ``raise MemoryError()``. If you use an older
version, you have to cimport the C-API function from the standard version, you have to cimport the C-API function from the standard
......
...@@ -77,7 +77,7 @@ It is shipped and installed with Cython and can be used like this:: ...@@ -77,7 +77,7 @@ It is shipped and installed with Cython and can be used like this::
>>> import helloworld >>> import helloworld
Hello World Hello World
Since Cython 0.11, the :ref:`Pyximport<pyximport>` module also has experimental The :ref:`Pyximport<pyximport>` module also has experimental
compilation support for normal Python modules. This allows you to compilation support for normal Python modules. This allows you to
automatically run Cython on every .pyx and .py module that Python automatically run Cython on every .pyx and .py module that Python
imports, including the standard library and installed packages. imports, including the standard library and installed packages.
......
...@@ -92,7 +92,7 @@ names like this:: ...@@ -92,7 +92,7 @@ names like this::
char* strstr(const char*, const char*) char* strstr(const char*, const char*)
However, this prevents Cython code from calling it with keyword However, this prevents Cython code from calling it with keyword
arguments (supported since Cython 0.19). It is therefore preferable arguments. It is therefore preferable
to write the declaration like this instead: to write the declaration like this instead:
.. literalinclude:: ../../examples/tutorial/external/keyword_args.pyx .. literalinclude:: ../../examples/tutorial/external/keyword_args.pyx
......
...@@ -334,7 +334,7 @@ to make the names match again. ...@@ -334,7 +334,7 @@ to make the names match again.
Using C arrays for fixed size lists Using C arrays for fixed size lists
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Since Cython 0.22, C arrays can automatically coerce to Python lists or tuples. C arrays can automatically coerce to Python lists or tuples.
This can be exploited to replace fixed size Python lists in Python code by C This can be exploited to replace fixed size Python lists in Python code by C
arrays when compiled. An example: arrays when compiled. An example:
......
...@@ -260,7 +260,7 @@ not modify a string they return, for example: ...@@ -260,7 +260,7 @@ not modify a string they return, for example:
.. literalinclude:: ../../examples/tutorial/string/someheader.h .. literalinclude:: ../../examples/tutorial/string/someheader.h
Since version 0.18, Cython has support for the ``const`` modifier in Cython has support for the ``const`` modifier in
the language, so you can declare the above functions straight away as the language, so you can declare the above functions straight away as
follows: follows:
...@@ -296,7 +296,7 @@ bytes most of which tend to be 0. ...@@ -296,7 +296,7 @@ bytes most of which tend to be 0.
Again, no bounds checking is done if slice indices are provided, so Again, no bounds checking is done if slice indices are provided, so
incorrect indices lead to data corruption and crashes. However, using incorrect indices lead to data corruption and crashes. However, using
negative indices is possible since Cython 0.17 and will inject a call negative indices is possible and will inject a call
to :c:func:`strlen()` in order to determine the string length. to :c:func:`strlen()` in order to determine the string length.
Obviously, this only works for 0-terminated strings without internal Obviously, this only works for 0-terminated strings without internal
null bytes. Text encoded in UTF-8 or one of the ISO-8859 encodings is null bytes. Text encoded in UTF-8 or one of the ISO-8859 encodings is
...@@ -475,7 +475,7 @@ Single bytes and characters ...@@ -475,7 +475,7 @@ Single bytes and characters
The Python C-API uses the normal C :c:type:`char` type to represent The Python C-API uses the normal C :c:type:`char` type to represent
a byte value, but it has two special integer types for a Unicode code a byte value, but it has two special integer types for a Unicode code
point value, i.e. a single Unicode character: :c:type:`Py_UNICODE` point value, i.e. a single Unicode character: :c:type:`Py_UNICODE`
and :c:type:`Py_UCS4`. Since version 0.13, Cython supports the and :c:type:`Py_UCS4`. Cython supports the
first natively, support for :c:type:`Py_UCS4` is new in Cython 0.15. first natively, support for :c:type:`Py_UCS4` is new in Cython 0.15.
:c:type:`Py_UNICODE` is either defined as an unsigned 2-byte or :c:type:`Py_UNICODE` is either defined as an unsigned 2-byte or
4-byte integer, or as :c:type:`wchar_t`, depending on the platform. 4-byte integer, or as :c:type:`wchar_t`, depending on the platform.
......
...@@ -347,7 +347,7 @@ inherit from multiple extension types provided that the usual Python rules for ...@@ -347,7 +347,7 @@ inherit from multiple extension types provided that the usual Python rules for
multiple inheritance are followed (i.e. the C layouts of all the base classes multiple inheritance are followed (i.e. the C layouts of all the base classes
must be compatible). must be compatible).
Since Cython 0.13.1, there is a way to prevent extension types from There is a way to prevent extension types from
being subtyped in Python. This is done via the ``final`` directive, being subtyped in Python. This is done via the ``final`` directive,
usually set on an extension type using a decorator:: usually set on an extension type using a decorator::
......
Porting Cython code to PyPy Porting Cython code to PyPy
=========================== ===========================
Since version 0.17, Cython has basic support for cpyext, the layer in Cython has basic support for cpyext, the layer in
`PyPy <http://pypy.org/>`_ that emulates CPython's C-API. This is `PyPy <http://pypy.org/>`_ that emulates CPython's C-API. This is
achieved by making the generated C code adapt at C compile time, so achieved by making the generated C code adapt at C compile time, so
the generated code will compile in both CPython and PyPy unchanged. the generated code will compile in both CPython and PyPy unchanged.
......
...@@ -371,7 +371,7 @@ For example:: ...@@ -371,7 +371,7 @@ For example::
The pxd files in ``/Cython/Includes/libcpp`` also work as good examples on The pxd files in ``/Cython/Includes/libcpp`` also work as good examples on
how to declare C++ classes. how to declare C++ classes.
Since Cython 0.17, the STL containers coerce from and to the The STL containers coerce from and to the
corresponding Python builtin types. The conversion is triggered corresponding Python builtin types. The conversion is triggered
either by an assignment to a typed variable (including typed function either by an assignment to a typed variable (including typed function
arguments) or by an explicit cast, e.g.:: arguments) or by an explicit cast, e.g.::
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment