Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Labels
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Commits
Open sidebar
nexedi
cython
Commits
b1f7ef11
Commit
b1f7ef11
authored
6 years ago
by
scoder
Committed by
GitHub
6 years ago
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #2575 from CnlPepper/master
Added basic ctuple documentation.
parents
d963bdff
6437de44
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
0 deletions
+13
-0
docs/src/userguide/language_basics.rst
docs/src/userguide/language_basics.rst
+13
-0
No files found.
docs/src/userguide/language_basics.rst
View file @
b1f7ef11
...
@@ -148,6 +148,14 @@ typing and instead interpreted as C ``int``, ``long``, and ``float``
...
@@ -148,6 +148,14 @@ typing and instead interpreted as C ``int``, ``long``, and ``float``
respectively, as statically typing variables with these Python
respectively, as statically typing variables with these Python
types has zero advantages.
types has zero advantages.
Cython provides an accelerated and typed equivalent of a Python tuple, the ``ctuple``.
A ``ctuple`` is assembled from any valid C types. For example::
cdef (double, int) bar
They compile down to C-structures and can be used as efficient alternatives to
Python tuples.
While these C types can be vastly faster, they have C semantics.
While these C types can be vastly faster, they have C semantics.
Specifically, the integer types overflow
Specifically, the integer types overflow
and the C ``float`` type only has 32 bits of precision
and the C ``float`` type only has 32 bits of precision
...
@@ -208,6 +216,11 @@ using normal C declaration syntax. For example,::
...
@@ -208,6 +216,11 @@ using normal C declaration syntax. For example,::
cdef int eggs(unsigned long l, float f):
cdef int eggs(unsigned long l, float f):
...
...
``ctuples`` may also be used::
cdef (int, float) chips((long, long, double) t):
...
When a parameter of a Python function is declared to have a C data type, it is
When a parameter of a Python function is declared to have a C data type, it is
passed in as a Python object and automatically converted to a C value, if
passed in as a Python object and automatically converted to a C value, if
possible. In other words, the definition of ``spam`` above is equivalent to
possible. In other words, the definition of ``spam`` above is equivalent to
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment