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
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
cython
Commits
a7daacc4
Commit
a7daacc4
authored
Aug 21, 2008
by
Stefan Behnel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
change SageX references to Cython
parent
ade90e67
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
6 additions
and
9 deletions
+6
-9
Cython/Includes/python.pxd
Cython/Includes/python.pxd
+6
-9
No files found.
Cython/Includes/python.pxd
View file @
a7daacc4
#####################################################################
#####################################################################
#
#
# These are the "SageX" pxi files for (most of) the Python/C API.
# These are the Cython pxd files for (most of) the Python/C API.
#
# SageX = SAGE Pyrex, which is a fork of Pyrex for use in SAGE.
#
#
# REFERENCE COUNTING:
# REFERENCE COUNTING:
#
#
# JUST TO SCARE YOU:
# JUST TO SCARE YOU:
# If you are going to use any of the Python/C API in your
SageX
# If you are going to use any of the Python/C API in your
Cython
# program, you might be responsible for doing reference counting.
# program, you might be responsible for doing reference counting.
# Read http://docs.python.org/api/refcounts.html which is so
# Read http://docs.python.org/api/refcounts.html which is so
# important I've copied it below.
# important I've copied it below.
...
@@ -15,10 +13,10 @@
...
@@ -15,10 +13,10 @@
# For all the declaration below, whenver the Py_ function returns
# For all the declaration below, whenver the Py_ function returns
# a *new reference* to a PyObject*, the return type is "object".
# a *new reference* to a PyObject*, the return type is "object".
# When the function returns a borrowed reference, the return
# When the function returns a borrowed reference, the return
# type is PyObject*. When
SageX
sees "object" as a return type
# type is PyObject*. When
Cython
sees "object" as a return type
# it doesn't increment the reference count. When it sees PyObject*
# it doesn't increment the reference count. When it sees PyObject*
# in order to use the result you must explicitly cast to <object>,
# in order to use the result you must explicitly cast to <object>,
# and when you do that
SageX
increments the reference count wether
# and when you do that
Cython
increments the reference count wether
# you want it to or not, forcing you to an explicit DECREF (or leak memory).
# 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
# To avoid this we make the above convention. Note, you can
# always locally override this convention by putting something like
# always locally override this convention by putting something like
...
@@ -26,10 +24,10 @@
...
@@ -26,10 +24,10 @@
# cdef extern from "Python.h":
# cdef extern from "Python.h":
# PyObject* PyNumber_Add(PyObject *o1, PyObject *o2)
# PyObject* PyNumber_Add(PyObject *o1, PyObject *o2)
#
#
# in your file after any .pxi includes.
SageX
will use the latest
# in your file after any .pxi includes.
Cython
will use the latest
# declaration.
# declaration.
#
#
#
SageX
takes care of this automatically for anything of type object.
#
Cython
takes care of this automatically for anything of type object.
## More precisely, I think the correct convention for
## More precisely, I think the correct convention for
## using the Python/C API from Pyrex is as follows.
## using the Python/C API from Pyrex is as follows.
##
##
...
@@ -119,7 +117,6 @@
...
@@ -119,7 +117,6 @@
#
#
#################################################################
#################################################################
from
python_ref
cimport
*
from
python_ref
cimport
*
from
python_exc
cimport
*
from
python_exc
cimport
*
from
python_module
cimport
*
from
python_module
cimport
*
...
...
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