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
776a5b09
Commit
776a5b09
authored
Mar 01, 2017
by
fabianrost
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Also add Jupyter notebook used for screenshot
parent
a79d7eda
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
568 additions
and
0 deletions
+568
-0
docs/src/quickstart/cython_in_jupyter.ipynb
docs/src/quickstart/cython_in_jupyter.ipynb
+568
-0
No files found.
docs/src/quickstart/cython_in_jupyter.ipynb
0 → 100644
View file @
776a5b09
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Installation\n",
"\n",
"```pip install cython```\n",
"\n",
"# Using inside Jupyter notebook\n",
"\n",
"Load th cythonmagic extension."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%load_ext cython"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Then, simply use the magic function to start writing cython code."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"45\n"
]
}
],
"source": [
"%%cython\n",
"\n",
"cdef int a = 0\n",
"for i in range(10):\n",
" a += i\n",
"print(a)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Add `--annotate` or `-a` for showing a code analysis of the compiled code"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"45\n"
]
},
{
"data": {
"text/html": [
"
<!DOCTYPE html>
\n",
"
<!-- Generated by Cython 0.25.2 -->
\n",
"
<html>
\n",
"
<head>
\n",
"
<meta
http-equiv=
\"Content-Type\"
content=
\"text/html;
charset=
utf-8\"
/>
\n",
"
<title>
Cython: _cython_magic_6ba45f17d130910db2606828f4326b2d.pyx
</title>
\n",
"
<style
type=
\"text/css\"
>
\
n
",
"
\
n
",
"
body
.cython
{
font-family
:
courier
;
font-size
:
12
;
}
\
n
",
"
\
n
",
"
.cython.tag
{
}
\
n
",
"
.cython.line
{
margin
:
0em
}
\
n
",
"
.cython.code
{
font-size
:
9
;
color
:
#444444
;
display
:
none
;
margin
:
0px
0px
0px
8px
;
border-left
:
8px
none
;
}
\
n
",
"
\
n
",
"
.cython.line
.run
{
background-color
:
#B0FFB0
;
}
\
n
",
"
.cython.line
.mis
{
background-color
:
#FFB0B0
;
}
\
n
",
"
.cython.code.run
{
border-left
:
8px
solid
#B0FFB0
;
}
\
n
",
"
.cython.code.mis
{
border-left
:
8px
solid
#FFB0B0
;
}
\
n
",
"
\
n
",
"
.cython.code
.py_c_api
{
color
:
red
;
}
\
n
",
"
.cython.code
.py_macro_api
{
color
:
#FF7000
;
}
\
n
",
"
.cython.code
.pyx_c_api
{
color
:
#FF3000
;
}
\
n
",
"
.cython.code
.pyx_macro_api
{
color
:
#FF7000
;
}
\
n
",
"
.cython.code
.refnanny
{
color
:
#FFA000
;
}
\
n
",
"
.cython.code
.trace
{
color
:
#FFA000
;
}
\
n
",
"
.cython.code
.error_goto
{
color
:
#FFA000
;
}
\
n
",
"
\
n
",
"
.cython.code
.coerce
{
color
:
#008000
;
border
:
1px
dotted
#008000
}
\
n
",
"
.cython.code
.py_attr
{
color
:
#FF0000
;
font-weight
:
bold
;
}
\
n
",
"
.cython.code
.c_attr
{
color
:
#0000FF
;
}
\
n
",
"
.cython.code
.py_call
{
color
:
#FF0000
;
font-weight
:
bold
;
}
\
n
",
"
.cython.code
.c_call
{
color
:
#0000FF
;
}
\
n
",
"
\
n
",
"
.cython.score-0
{
background-color
:
#FFFFff
;}
\
n
",
"
.cython.score-1
{
background-color
:
#FFFFe7
;}
\
n
",
"
.cython.score-2
{
background-color
:
#FFFFd4
;}
\
n
",
"
.cython.score-3
{
background-color
:
#FFFFc4
;}
\
n
",
"
.cython.score-4
{
background-color
:
#FFFFb6
;}
\
n
",
"
.cython.score-5
{
background-color
:
#FFFFaa
;}
\
n
",
"
.cython.score-6
{
background-color
:
#FFFF9f
;}
\
n
",
"
.cython.score-7
{
background-color
:
#FFFF96
;}
\
n
",
"
.cython.score-8
{
background-color
:
#FFFF8d
;}
\
n
",
"
.cython.score-9
{
background-color
:
#FFFF86
;}
\
n
",
"
.cython.score-10
{
background-color
:
#FFFF7f
;}
\
n
",
"
.cython.score-11
{
background-color
:
#FFFF79
;}
\
n
",
"
.cython.score-12
{
background-color
:
#FFFF73
;}
\
n
",
"
.cython.score-13
{
background-color
:
#FFFF6e
;}
\
n
",
"
.cython.score-14
{
background-color
:
#FFFF6a
;}
\
n
",
"
.cython.score-15
{
background-color
:
#FFFF66
;}
\
n
",
"
.cython.score-16
{
background-color
:
#FFFF62
;}
\
n
",
"
.cython.score-17
{
background-color
:
#FFFF5e
;}
\
n
",
"
.cython.score-18
{
background-color
:
#FFFF5b
;}
\
n
",
"
.cython.score-19
{
background-color
:
#FFFF57
;}
\
n
",
"
.cython.score-20
{
background-color
:
#FFFF55
;}
\
n
",
"
.cython.score-21
{
background-color
:
#FFFF52
;}
\
n
",
"
.cython.score-22
{
background-color
:
#FFFF4f
;}
\
n
",
"
.cython.score-23
{
background-color
:
#FFFF4d
;}
\
n
",
"
.cython.score-24
{
background-color
:
#FFFF4b
;}
\
n
",
"
.cython.score-25
{
background-color
:
#FFFF48
;}
\
n
",
"
.cython.score-26
{
background-color
:
#FFFF46
;}
\
n
",
"
.cython.score-27
{
background-color
:
#FFFF44
;}
\
n
",
"
.cython.score-28
{
background-color
:
#FFFF43
;}
\
n
",
"
.cython.score-29
{
background-color
:
#FFFF41
;}
\
n
",
"
.cython.score-30
{
background-color
:
#FFFF3f
;}
\
n
",
"
.cython.score-31
{
background-color
:
#FFFF3e
;}
\
n
",
"
.cython.score-32
{
background-color
:
#FFFF3c
;}
\
n
",
"
.cython.score-33
{
background-color
:
#FFFF3b
;}
\
n
",
"
.cython.score-34
{
background-color
:
#FFFF39
;}
\
n
",
"
.cython.score-35
{
background-color
:
#FFFF38
;}
\
n
",
"
.cython.score-36
{
background-color
:
#FFFF37
;}
\
n
",
"
.cython.score-37
{
background-color
:
#FFFF36
;}
\
n
",
"
.cython.score-38
{
background-color
:
#FFFF35
;}
\
n
",
"
.cython.score-39
{
background-color
:
#FFFF34
;}
\
n
",
"
.cython.score-40
{
background-color
:
#FFFF33
;}
\
n
",
"
.cython.score-41
{
background-color
:
#FFFF32
;}
\
n
",
"
.cython.score-42
{
background-color
:
#FFFF31
;}
\
n
",
"
.cython.score-43
{
background-color
:
#FFFF30
;}
\
n
",
"
.cython.score-44
{
background-color
:
#FFFF2f
;}
\
n
",
"
.cython.score-45
{
background-color
:
#FFFF2e
;}
\
n
",
"
.cython.score-46
{
background-color
:
#FFFF2d
;}
\
n
",
"
.cython.score-47
{
background-color
:
#FFFF2c
;}
\
n
",
"
.cython.score-48
{
background-color
:
#FFFF2b
;}
\
n
",
"
.cython.score-49
{
background-color
:
#FFFF2b
;}
\
n
",
"
.cython.score-50
{
background-color
:
#FFFF2a
;}
\
n
",
"
.cython.score-51
{
background-color
:
#FFFF29
;}
\
n
",
"
.cython.score-52
{
background-color
:
#FFFF29
;}
\
n
",
"
.cython.score-53
{
background-color
:
#FFFF28
;}
\
n
",
"
.cython.score-54
{
background-color
:
#FFFF27
;}
\
n
",
"
.cython.score-55
{
background-color
:
#FFFF27
;}
\
n
",
"
.cython.score-56
{
background-color
:
#FFFF26
;}
\
n
",
"
.cython.score-57
{
background-color
:
#FFFF26
;}
\
n
",
"
.cython.score-58
{
background-color
:
#FFFF25
;}
\
n
",
"
.cython.score-59
{
background-color
:
#FFFF24
;}
\
n
",
"
.cython.score-60
{
background-color
:
#FFFF24
;}
\
n
",
"
.cython.score-61
{
background-color
:
#FFFF23
;}
\
n
",
"
.cython.score-62
{
background-color
:
#FFFF23
;}
\
n
",
"
.cython.score-63
{
background-color
:
#FFFF22
;}
\
n
",
"
.cython.score-64
{
background-color
:
#FFFF22
;}
\
n
",
"
.cython.score-65
{
background-color
:
#FFFF22
;}
\
n
",
"
.cython.score-66
{
background-color
:
#FFFF21
;}
\
n
",
"
.cython.score-67
{
background-color
:
#FFFF21
;}
\
n
",
"
.cython.score-68
{
background-color
:
#FFFF20
;}
\
n
",
"
.cython.score-69
{
background-color
:
#FFFF20
;}
\
n
",
"
.cython.score-70
{
background-color
:
#FFFF1f
;}
\
n
",
"
.cython.score-71
{
background-color
:
#FFFF1f
;}
\
n
",
"
.cython.score-72
{
background-color
:
#FFFF1f
;}
\
n
",
"
.cython.score-73
{
background-color
:
#FFFF1e
;}
\
n
",
"
.cython.score-74
{
background-color
:
#FFFF1e
;}
\
n
",
"
.cython.score-75
{
background-color
:
#FFFF1e
;}
\
n
",
"
.cython.score-76
{
background-color
:
#FFFF1d
;}
\
n
",
"
.cython.score-77
{
background-color
:
#FFFF1d
;}
\
n
",
"
.cython.score-78
{
background-color
:
#FFFF1c
;}
\
n
",
"
.cython.score-79
{
background-color
:
#FFFF1c
;}
\
n
",
"
.cython.score-80
{
background-color
:
#FFFF1c
;}
\
n
",
"
.cython.score-81
{
background-color
:
#FFFF1c
;}
\
n
",
"
.cython.score-82
{
background-color
:
#FFFF1b
;}
\
n
",
"
.cython.score-83
{
background-color
:
#FFFF1b
;}
\
n
",
"
.cython.score-84
{
background-color
:
#FFFF1b
;}
\
n
",
"
.cython.score-85
{
background-color
:
#FFFF1a
;}
\
n
",
"
.cython.score-86
{
background-color
:
#FFFF1a
;}
\
n
",
"
.cython.score-87
{
background-color
:
#FFFF1a
;}
\
n
",
"
.cython.score-88
{
background-color
:
#FFFF1a
;}
\
n
",
"
.cython.score-89
{
background-color
:
#FFFF19
;}
\
n
",
"
.cython.score-90
{
background-color
:
#FFFF19
;}
\
n
",
"
.cython.score-91
{
background-color
:
#FFFF19
;}
\
n
",
"
.cython.score-92
{
background-color
:
#FFFF19
;}
\
n
",
"
.cython.score-93
{
background-color
:
#FFFF18
;}
\
n
",
"
.cython.score-94
{
background-color
:
#FFFF18
;}
\
n
",
"
.cython.score-95
{
background-color
:
#FFFF18
;}
\
n
",
"
.cython.score-96
{
background-color
:
#FFFF18
;}
\
n
",
"
.cython.score-97
{
background-color
:
#FFFF17
;}
\
n
",
"
.cython.score-98
{
background-color
:
#FFFF17
;}
\
n
",
"
.cython.score-99
{
background-color
:
#FFFF17
;}
\
n
",
"
.cython.score-100
{
background-color
:
#FFFF17
;}
\
n
",
"
.cython.score-101
{
background-color
:
#FFFF16
;}
\
n
",
"
.cython.score-102
{
background-color
:
#FFFF16
;}
\
n
",
"
.cython.score-103
{
background-color
:
#FFFF16
;}
\
n
",
"
.cython.score-104
{
background-color
:
#FFFF16
;}
\
n
",
"
.cython.score-105
{
background-color
:
#FFFF16
;}
\
n
",
"
.cython.score-106
{
background-color
:
#FFFF15
;}
\
n
",
"
.cython.score-107
{
background-color
:
#FFFF15
;}
\
n
",
"
.cython.score-108
{
background-color
:
#FFFF15
;}
\
n
",
"
.cython.score-109
{
background-color
:
#FFFF15
;}
\
n
",
"
.cython.score-110
{
background-color
:
#FFFF15
;}
\
n
",
"
.cython.score-111
{
background-color
:
#FFFF15
;}
\
n
",
"
.cython.score-112
{
background-color
:
#FFFF14
;}
\
n
",
"
.cython.score-113
{
background-color
:
#FFFF14
;}
\
n
",
"
.cython.score-114
{
background-color
:
#FFFF14
;}
\
n
",
"
.cython.score-115
{
background-color
:
#FFFF14
;}
\
n
",
"
.cython.score-116
{
background-color
:
#FFFF14
;}
\
n
",
"
.cython.score-117
{
background-color
:
#FFFF14
;}
\
n
",
"
.cython.score-118
{
background-color
:
#FFFF13
;}
\
n
",
"
.cython.score-119
{
background-color
:
#FFFF13
;}
\
n
",
"
.cython.score-120
{
background-color
:
#FFFF13
;}
\
n
",
"
.cython.score-121
{
background-color
:
#FFFF13
;}
\
n
",
"
.cython.score-122
{
background-color
:
#FFFF13
;}
\
n
",
"
.cython.score-123
{
background-color
:
#FFFF13
;}
\
n
",
"
.cython.score-124
{
background-color
:
#FFFF13
;}
\
n
",
"
.cython.score-125
{
background-color
:
#FFFF12
;}
\
n
",
"
.cython.score-126
{
background-color
:
#FFFF12
;}
\
n
",
"
.cython.score-127
{
background-color
:
#FFFF12
;}
\
n
",
"
.cython.score-128
{
background-color
:
#FFFF12
;}
\
n
",
"
.cython.score-129
{
background-color
:
#FFFF12
;}
\
n
",
"
.cython.score-130
{
background-color
:
#FFFF12
;}
\
n
",
"
.cython.score-131
{
background-color
:
#FFFF12
;}
\
n
",
"
.cython.score-132
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-133
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-134
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-135
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-136
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-137
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-138
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-139
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-140
{
background-color
:
#FFFF11
;}
\
n
",
"
.cython.score-141
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-142
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-143
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-144
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-145
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-146
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-147
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-148
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-149
{
background-color
:
#FFFF10
;}
\
n
",
"
.cython.score-150
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-151
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-152
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-153
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-154
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-155
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-156
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-157
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-158
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-159
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-160
{
background-color
:
#FFFF0f
;}
\
n
",
"
.cython.score-161
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-162
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-163
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-164
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-165
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-166
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-167
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-168
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-169
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-170
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-171
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-172
{
background-color
:
#FFFF0e
;}
\
n
",
"
.cython.score-173
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-174
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-175
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-176
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-177
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-178
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-179
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-180
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-181
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-182
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-183
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-184
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-185
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-186
{
background-color
:
#FFFF0d
;}
\
n
",
"
.cython.score-187
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-188
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-189
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-190
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-191
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-192
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-193
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-194
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-195
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-196
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-197
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-198
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-199
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-200
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-201
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-202
{
background-color
:
#FFFF0c
;}
\
n
",
"
.cython.score-203
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-204
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-205
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-206
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-207
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-208
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-209
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-210
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-211
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-212
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-213
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-214
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-215
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-216
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-217
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-218
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-219
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-220
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-221
{
background-color
:
#FFFF0b
;}
\
n
",
"
.cython.score-222
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-223
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-224
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-225
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-226
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-227
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-228
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-229
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-230
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-231
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-232
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-233
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-234
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-235
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-236
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-237
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-238
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-239
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-240
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-241
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-242
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-243
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-244
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-245
{
background-color
:
#FFFF0a
;}
\
n
",
"
.cython.score-246
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython.score-247
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython.score-248
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython.score-249
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython.score-250
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython.score-251
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython.score-252
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython.score-253
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython.score-254
{
background-color
:
#FFFF09
;}
\
n
",
"
.cython
.hll
{
background-color
:
#ffffcc
}
\
n
",
"
.cython
{
background
:
#f8f8f8
;
}
\
n
",
"
.cython
.c
{
color
:
#408080
;
font-style
:
italic
}
/* Comment */
\
n
",
"
.cython
.err
{
border
:
1px
solid
#FF0000
}
/* Error */
\
n
",
"
.cython
.k
{
color
:
#008000
;
font-weight
:
bold
}
/* Keyword */
\
n
",
"
.cython
.o
{
color
:
#666666
}
/* Operator */
\
n
",
"
.cython
.ch
{
color
:
#408080
;
font-style
:
italic
}
/* Comment.Hashbang */
\
n
",
"
.cython
.cm
{
color
:
#408080
;
font-style
:
italic
}
/* Comment.Multiline */
\
n
",
"
.cython
.cp
{
color
:
#BC7A00
}
/* Comment.Preproc */
\
n
",
"
.cython
.cpf
{
color
:
#408080
;
font-style
:
italic
}
/* Comment.PreprocFile */
\
n
",
"
.cython
.c1
{
color
:
#408080
;
font-style
:
italic
}
/* Comment.Single */
\
n
",
"
.cython
.cs
{
color
:
#408080
;
font-style
:
italic
}
/* Comment.Special */
\
n
",
"
.cython
.gd
{
color
:
#A00000
}
/* Generic.Deleted */
\
n
",
"
.cython
.ge
{
font-style
:
italic
}
/* Generic.Emph */
\
n
",
"
.cython
.gr
{
color
:
#FF0000
}
/* Generic.Error */
\
n
",
"
.cython
.gh
{
color
:
#000080
;
font-weight
:
bold
}
/* Generic.Heading */
\
n
",
"
.cython
.gi
{
color
:
#00A000
}
/* Generic.Inserted */
\
n
",
"
.cython
.go
{
color
:
#888888
}
/* Generic.Output */
\
n
",
"
.cython
.gp
{
color
:
#000080
;
font-weight
:
bold
}
/* Generic.Prompt */
\
n
",
"
.cython
.gs
{
font-weight
:
bold
}
/* Generic.Strong */
\
n
",
"
.cython
.gu
{
color
:
#800080
;
font-weight
:
bold
}
/* Generic.Subheading */
\
n
",
"
.cython
.gt
{
color
:
#0044DD
}
/* Generic.Traceback */
\
n
",
"
.cython
.kc
{
color
:
#008000
;
font-weight
:
bold
}
/* Keyword.Constant */
\
n
",
"
.cython
.kd
{
color
:
#008000
;
font-weight
:
bold
}
/* Keyword.Declaration */
\
n
",
"
.cython
.kn
{
color
:
#008000
;
font-weight
:
bold
}
/* Keyword.Namespace */
\
n
",
"
.cython
.kp
{
color
:
#008000
}
/* Keyword.Pseudo */
\
n
",
"
.cython
.kr
{
color
:
#008000
;
font-weight
:
bold
}
/* Keyword.Reserved */
\
n
",
"
.cython
.kt
{
color
:
#B00040
}
/* Keyword.Type */
\
n
",
"
.cython
.m
{
color
:
#666666
}
/* Literal.Number */
\
n
",
"
.cython
.s
{
color
:
#BA2121
}
/* Literal.String */
\
n
",
"
.cython
.na
{
color
:
#7D9029
}
/* Name.Attribute */
\
n
",
"
.cython
.nb
{
color
:
#008000
}
/* Name.Builtin */
\
n
",
"
.cython
.nc
{
color
:
#0000FF
;
font-weight
:
bold
}
/* Name.Class */
\
n
",
"
.cython
.no
{
color
:
#880000
}
/* Name.Constant */
\
n
",
"
.cython
.nd
{
color
:
#AA22FF
}
/* Name.Decorator */
\
n
",
"
.cython
.ni
{
color
:
#999999
;
font-weight
:
bold
}
/* Name.Entity */
\
n
",
"
.cython
.ne
{
color
:
#D2413A
;
font-weight
:
bold
}
/* Name.Exception */
\
n
",
"
.cython
.nf
{
color
:
#0000FF
}
/* Name.Function */
\
n
",
"
.cython
.nl
{
color
:
#A0A000
}
/* Name.Label */
\
n
",
"
.cython
.nn
{
color
:
#0000FF
;
font-weight
:
bold
}
/* Name.Namespace */
\
n
",
"
.cython
.nt
{
color
:
#008000
;
font-weight
:
bold
}
/* Name.Tag */
\
n
",
"
.cython
.nv
{
color
:
#19177C
}
/* Name.Variable */
\
n
",
"
.cython
.ow
{
color
:
#AA22FF
;
font-weight
:
bold
}
/* Operator.Word */
\
n
",
"
.cython
.w
{
color
:
#bbbbbb
}
/* Text.Whitespace */
\
n
",
"
.cython
.mb
{
color
:
#666666
}
/* Literal.Number.Bin */
\
n
",
"
.cython
.mf
{
color
:
#666666
}
/* Literal.Number.Float */
\
n
",
"
.cython
.mh
{
color
:
#666666
}
/* Literal.Number.Hex */
\
n
",
"
.cython
.mi
{
color
:
#666666
}
/* Literal.Number.Integer */
\
n
",
"
.cython
.mo
{
color
:
#666666
}
/* Literal.Number.Oct */
\
n
",
"
.cython
.sb
{
color
:
#BA2121
}
/* Literal.String.Backtick */
\
n
",
"
.cython
.sc
{
color
:
#BA2121
}
/* Literal.String.Char */
\
n
",
"
.cython
.sd
{
color
:
#BA2121
;
font-style
:
italic
}
/* Literal.String.Doc */
\
n
",
"
.cython
.s2
{
color
:
#BA2121
}
/* Literal.String.Double */
\
n
",
"
.cython
.se
{
color
:
#BB6622
;
font-weight
:
bold
}
/* Literal.String.Escape */
\
n
",
"
.cython
.sh
{
color
:
#BA2121
}
/* Literal.String.Heredoc */
\
n
",
"
.cython
.si
{
color
:
#BB6688
;
font-weight
:
bold
}
/* Literal.String.Interpol */
\
n
",
"
.cython
.sx
{
color
:
#008000
}
/* Literal.String.Other */
\
n
",
"
.cython
.sr
{
color
:
#BB6688
}
/* Literal.String.Regex */
\
n
",
"
.cython
.s1
{
color
:
#BA2121
}
/* Literal.String.Single */
\
n
",
"
.cython
.ss
{
color
:
#19177C
}
/* Literal.String.Symbol */
\
n
",
"
.cython
.bp
{
color
:
#008000
}
/* Name.Builtin.Pseudo */
\
n
",
"
.cython
.vc
{
color
:
#19177C
}
/* Name.Variable.Class */
\
n
",
"
.cython
.vg
{
color
:
#19177C
}
/* Name.Variable.Global */
\
n
",
"
.cython
.vi
{
color
:
#19177C
}
/* Name.Variable.Instance */
\
n
",
"
.cython
.il
{
color
:
#666666
}
/* Literal.Number.Integer.Long */
\
n
",
"
</style>
\n",
"
<script>
\
n
"
,
"
function
toggleDiv
(
id
)
{
\
n
"
,
"
theDiv
=
id
.
nextElementSibling
\
n
"
,
"
if
(
theDiv
.
style
.
display
!=
'
block
'
)
theDiv
.
style
.
display
=
'
block
'
;
\
n
"
,
"
else
theDiv
.
style
.
display
=
'
none
'
;
\
n
"
,
"
}
\
n
"
,
"
</script>
\n",
"
</head>
\n",
"
<body
class=
\"cython\"
>
\n",
"
<p><span
style=
\"border-bottom:
solid
1px
grey
;\"
>
Generated by Cython 0.25.2
</span></p>
\n",
"
<p>
\n",
"
<span
style=
\"background-color:
#FFFF00
\"
>
Yellow lines
</span>
hint at Python interaction.
<br
/>
\n",
" Click on a line that starts with a \"
<code>
+
</code>
\" to see the C code that Cython generated for it.\n",
"
</p>
\n",
"
<div
class=
\"cython\"
><pre
class=
\"cython
line
score-0
\"
>
 
<span
class=
\"\"
>
1
</span>
:
</pre>
\n",
"
<pre
class=
\"cython
line
score-0
\"
onclick=
'toggleDiv(this)'
>
+
<span
class=
\"\"
>
2
</span>
:
<span
class=
\"k\"
>
cdef
</span>
<span
class=
\"kt\"
>
int
</span>
<span
class=
\"nf\"
>
a
</span>
<span
class=
\"o\"
>
=
</span>
<span
class=
\"mf\"
>
0
</span></pre>
\n",
"
<pre
class=
'cython code score-0 '
>
__pyx_v_46_cython_magic_6ba45f17d130910db2606828f4326b2d_a = 0;\n",
"
</pre><pre
class=
\"cython
line
score-54
\"
onclick=
'toggleDiv(this)'
>
+
<span
class=
\"\"
>
3
</span>
:
<span
class=
\"k\"
>
for
</span>
<span
class=
\"n\"
>
i
</span>
<span
class=
\"ow\"
>
in
</span>
<span
class=
\"nb\"
>
range
</span><span
class=
\"p\"
>
(
</span><span
class=
\"mf\"
>
10
</span><span
class=
\"p\"
>
):
</span></pre>
\n",
"
<pre
class=
'cython code score-54 '
>
__pyx_t_1 =
<span
class=
'pyx_c_api'
>
__Pyx_PyObject_Call
</span>
(__pyx_builtin_range, __pyx_tuple_, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_1);\n",
" if (likely(
<span
class=
'py_c_api'
>
PyList_CheckExact
</span>
(__pyx_t_1)) ||
<span
class=
'py_c_api'
>
PyTuple_CheckExact
</span>
(__pyx_t_1)) {\n",
" __pyx_t_2 = __pyx_t_1;
<span
class=
'pyx_macro_api'
>
__Pyx_INCREF
</span>
(__pyx_t_2); __pyx_t_3 = 0;\n",
" __pyx_t_4 = NULL;\n",
" } else {\n",
" __pyx_t_3 = -1; __pyx_t_2 =
<span
class=
'py_c_api'
>
PyObject_GetIter
</span>
(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_2);\n",
" __pyx_t_4 = Py_TYPE(__pyx_t_2)-
>
tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 3, __pyx_L1_error)\n",
" }\n",
"
<span
class=
'pyx_macro_api'
>
__Pyx_DECREF
</span>
(__pyx_t_1); __pyx_t_1 = 0;\n",
" for (;;) {\n",
" if (likely(!__pyx_t_4)) {\n",
" if (likely(
<span
class=
'py_c_api'
>
PyList_CheckExact
</span>
(__pyx_t_2))) {\n",
" if (__pyx_t_3
>
=
<span
class=
'py_macro_api'
>
PyList_GET_SIZE
</span>
(__pyx_t_2)) break;\n",
" #if CYTHON_ASSUME_SAFE_MACROS
&&
!CYTHON_AVOID_BORROWED_REFS\n",
" __pyx_t_1 =
<span
class=
'py_macro_api'
>
PyList_GET_ITEM
</span>
(__pyx_t_2, __pyx_t_3);
<span
class=
'pyx_macro_api'
>
__Pyx_INCREF
</span>
(__pyx_t_1); __pyx_t_3++; if (unlikely(0
<
0)) __PYX_ERR(0, 3, __pyx_L1_error)\n",
" #else\n",
" __pyx_t_1 =
<span
class=
'py_macro_api'
>
PySequence_ITEM
</span>
(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_1);\n",
" #endif\n",
" } else {\n",
" if (__pyx_t_3
>
=
<span
class=
'py_macro_api'
>
PyTuple_GET_SIZE
</span>
(__pyx_t_2)) break;\n",
" #if CYTHON_ASSUME_SAFE_MACROS
&&
!CYTHON_AVOID_BORROWED_REFS\n",
" __pyx_t_1 =
<span
class=
'py_macro_api'
>
PyTuple_GET_ITEM
</span>
(__pyx_t_2, __pyx_t_3);
<span
class=
'pyx_macro_api'
>
__Pyx_INCREF
</span>
(__pyx_t_1); __pyx_t_3++; if (unlikely(0
<
0)) __PYX_ERR(0, 3, __pyx_L1_error)\n",
" #else\n",
" __pyx_t_1 =
<span
class=
'py_macro_api'
>
PySequence_ITEM
</span>
(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_1);\n",
" #endif\n",
" }\n",
" } else {\n",
" __pyx_t_1 = __pyx_t_4(__pyx_t_2);\n",
" if (unlikely(!__pyx_t_1)) {\n",
" PyObject* exc_type =
<span
class=
'py_c_api'
>
PyErr_Occurred
</span>
();\n",
" if (exc_type) {\n",
" if (likely(exc_type == PyExc_StopIteration ||
<span
class=
'py_c_api'
>
PyErr_GivenExceptionMatches
</span>
(exc_type, PyExc_StopIteration)))
<span
class=
'py_c_api'
>
PyErr_Clear
</span>
();\n",
" else __PYX_ERR(0, 3, __pyx_L1_error)\n",
" }\n",
" break;\n",
" }\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_1);\n",
" }\n",
" if (
<span
class=
'py_c_api'
>
PyDict_SetItem
</span>
(__pyx_d, __pyx_n_s_i, __pyx_t_1)
<
0) __PYX_ERR(0, 3, __pyx_L1_error)\n",
"
<span
class=
'pyx_macro_api'
>
__Pyx_DECREF
</span>
(__pyx_t_1); __pyx_t_1 = 0;\n",
"/* … */\n",
" }\n",
"
<span
class=
'pyx_macro_api'
>
__Pyx_DECREF
</span>
(__pyx_t_2); __pyx_t_2 = 0;\n",
"
</pre><pre
class=
\"cython
line
score-19
\"
onclick=
'toggleDiv(this)'
>
+
<span
class=
\"\"
>
4
</span>
:
<span
class=
\"n\"
>
a
</span>
<span
class=
\"o\"
>
+=
</span>
<span
class=
\"n\"
>
i
</span></pre>
\n",
"
<pre
class=
'cython code score-19 '
>
__pyx_t_1 =
<span
class=
'pyx_c_api'
>
__Pyx_PyInt_From_int
</span>
(__pyx_v_46_cython_magic_6ba45f17d130910db2606828f4326b2d_a); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_1);\n",
" __pyx_t_5 =
<span
class=
'pyx_c_api'
>
__Pyx_GetModuleGlobalName
</span>
(__pyx_n_s_i); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 4, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_5);\n",
" __pyx_t_6 =
<span
class=
'py_c_api'
>
PyNumber_InPlaceAdd
</span>
(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 4, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_6);\n",
"
<span
class=
'pyx_macro_api'
>
__Pyx_DECREF
</span>
(__pyx_t_1); __pyx_t_1 = 0;\n",
"
<span
class=
'pyx_macro_api'
>
__Pyx_DECREF
</span>
(__pyx_t_5); __pyx_t_5 = 0;\n",
" __pyx_t_7 =
<span
class=
'pyx_c_api'
>
__Pyx_PyInt_As_int
</span>
(__pyx_t_6); if (unlikely((__pyx_t_7 == (int)-1)
&&
<span
class=
'py_c_api'
>
PyErr_Occurred
</span>
())) __PYX_ERR(0, 4, __pyx_L1_error)\n",
"
<span
class=
'pyx_macro_api'
>
__Pyx_DECREF
</span>
(__pyx_t_6); __pyx_t_6 = 0;\n",
" __pyx_v_46_cython_magic_6ba45f17d130910db2606828f4326b2d_a = __pyx_t_7;\n",
"
</pre><pre
class=
\"cython
line
score-12
\"
onclick=
'toggleDiv(this)'
>
+
<span
class=
\"\"
>
5
</span>
:
<span
class=
\"k\"
>
print
</span><span
class=
\"p\"
>
(
</span><span
class=
\"n\"
>
a
</span><span
class=
\"p\"
>
)
</span></pre>
\n",
"
<pre
class=
'cython code score-12 '
>
__pyx_t_2 =
<span
class=
'pyx_c_api'
>
__Pyx_PyInt_From_int
</span>
(__pyx_v_46_cython_magic_6ba45f17d130910db2606828f4326b2d_a); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_2);\n",
" __pyx_t_6 =
<span
class=
'py_c_api'
>
PyTuple_New
</span>
(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 5, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_6);\n",
"
<span
class=
'refnanny'
>
__Pyx_GIVEREF
</span>
(__pyx_t_2);\n",
"
<span
class=
'py_macro_api'
>
PyTuple_SET_ITEM
</span>
(__pyx_t_6, 0, __pyx_t_2);\n",
" __pyx_t_2 = 0;\n",
" __pyx_t_2 =
<span
class=
'pyx_c_api'
>
__Pyx_PyObject_Call
</span>
(__pyx_builtin_print, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)\n",
"
<span
class=
'refnanny'
>
__Pyx_GOTREF
</span>
(__pyx_t_2);\n",
"
<span
class=
'pyx_macro_api'
>
__Pyx_DECREF
</span>
(__pyx_t_6); __pyx_t_6 = 0;\n",
"
<span
class=
'pyx_macro_api'
>
__Pyx_DECREF
</span>
(__pyx_t_2); __pyx_t_2 = 0;\n",
"
</pre></div></body></html>
"
],
"text/plain": [
"
<IPython
.
core
.
display
.
HTML
object
>
"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%%cython --annotate\n",
"\n",
"cdef int a = 0\n",
"for i in range(10):\n",
" a += i\n",
"print(a)"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [conda env:py3]",
"language": "python",
"name": "conda-env-py3-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
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