Browse Source

Cython

main
Jure Šorn 3 days ago
parent
commit
896eec8ddc
3 changed files with 9 additions and 9 deletions
  1. 4
      README.md
  2. 8
      index.html
  3. 6
      parse.js

4
README.md

@ -3520,7 +3520,7 @@ import <cython_script> # Script must be saved with '.pyx' extens
#### All `'cdef'` definitions are optional, but they contribute to the speed-up: #### All `'cdef'` definitions are optional, but they contribute to the speed-up:
```python ```python
cdef <ctype/type> [*]<var_name> [= <obj>]
cdef <ctype/type> [*]<var_name> [= <object>]
cdef <ctype>[n_items] <array_name> [= <coll_of_nums/structs>] cdef <ctype>[n_items] <array_name> [= <coll_of_nums/structs>]
cdef <ctype> *<array_name> = <<ctype> *> malloc(n_items * sizeof(<ctype>)) cdef <ctype> *<array_name> = <<ctype> *> malloc(n_items * sizeof(<ctype>))
cdef <ctype/type/void> <func_name>(<ctype/type> [*]<arg_name>): ... cdef <ctype/type/void> <func_name>(<ctype/type> [*]<arg_name>): ...
@ -3530,7 +3530,7 @@ cdef <ctype/type/void> <func_name>(<ctype/type> [*]<arg_name>): ...
cdef class <class_name>: cdef class <class_name>:
cdef public <ctype/type> [*]<attr_name> cdef public <ctype/type> [*]<attr_name>
def __init__(self, <ctype/type> [*]<arg_name>): def __init__(self, <ctype/type> [*]<arg_name>):
self.<attr_name> = [&]<arg_name>
self.<attr_name> = <arg_name>
``` ```
```python ```python

8
index.html

@ -56,7 +56,7 @@
<body> <body>
<header> <header>
<aside>June 4, 2025</aside>
<aside>June 5, 2025</aside>
<a href="https://gto76.github.io" rel="author">Jure Šorn</a> <a href="https://gto76.github.io" rel="author">Jure Šorn</a>
</header> </header>
@ -2880,7 +2880,7 @@ px.line(df, x=<span class="hljs-string">'Date'</span>, y=<span class="hljs-strin
<div><h4 id="allcdefdefinitionsareoptionalbuttheycontributetothespeedup">All <code class="python hljs"><span class="hljs-string">'cdef'</span></code> definitions are optional, but they contribute to the speed-up:</h4><pre><code class="python language-python hljs"><span class="hljs-keyword">cdef</span> &lt;ctype/type&gt; [*]&lt;var_name&gt; [= &lt;obj&gt;]
<div><h4 id="allcdefdefinitionsareoptionalbuttheycontributetothespeedup">All <code class="python hljs"><span class="hljs-string">'cdef'</span></code> definitions are optional, but they contribute to the speed-up:</h4><pre><code class="python language-python hljs"><span class="hljs-keyword">cdef</span> &lt;ctype/type&gt; [*]&lt;var_name&gt; [= &lt;object&gt;]
<span class="hljs-keyword">cdef</span> &lt;ctype&gt;[n_items] &lt;array_name&gt; [= &lt;coll_of_nums/structs&gt;] <span class="hljs-keyword">cdef</span> &lt;ctype&gt;[n_items] &lt;array_name&gt; [= &lt;coll_of_nums/structs&gt;]
<span class="hljs-keyword">cdef</span> &lt;ctype&gt; *&lt;array_name&gt; = &lt;&lt;ctype&gt; *&gt; malloc(n_items * sizeof(&lt;ctype&gt;)) <span class="hljs-keyword">cdef</span> &lt;ctype&gt; *&lt;array_name&gt; = &lt;&lt;ctype&gt; *&gt; malloc(n_items * sizeof(&lt;ctype&gt;))
<span class="hljs-keyword">cdef</span> &lt;ctype/type/void&gt; &lt;func_name&gt;(&lt;ctype/type&gt; [*]&lt;arg_name&gt;): ... <span class="hljs-keyword">cdef</span> &lt;ctype/type/void&gt; &lt;func_name&gt;(&lt;ctype/type&gt; [*]&lt;arg_name&gt;): ...
@ -2889,7 +2889,7 @@ px.line(df, x=<span class="hljs-string">'Date'</span>, y=<span class="hljs-strin
<pre><code class="python language-python hljs"><span class="hljs-keyword">cdef</span> <span class="hljs-class"><span class="hljs-keyword">class</span> &lt;<span class="hljs-title">class_name</span>&gt;:</span> <pre><code class="python language-python hljs"><span class="hljs-keyword">cdef</span> <span class="hljs-class"><span class="hljs-keyword">class</span> &lt;<span class="hljs-title">class_name</span>&gt;:</span>
<span class="hljs-keyword">cdef</span> <span class="hljs-keyword">public</span> &lt;ctype/type&gt; [*]&lt;attr_name&gt; <span class="hljs-keyword">cdef</span> <span class="hljs-keyword">public</span> &lt;ctype/type&gt; [*]&lt;attr_name&gt;
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, &lt;ctype/type&gt; [*]&lt;arg_name&gt;)</span>:</span> <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, &lt;ctype/type&gt; [*]&lt;arg_name&gt;)</span>:</span>
self.&lt;attr_name&gt; = [&amp;]&lt;arg_name&gt;
self.&lt;attr_name&gt; = &lt;arg_name&gt;
</code></pre> </code></pre>
<pre><code class="python language-python hljs"><span class="hljs-keyword">cdef</span> <span class="hljs-keyword">struct</span> &lt;<span class="hljs-title">struct_name</span>&gt;: <pre><code class="python language-python hljs"><span class="hljs-keyword">cdef</span> <span class="hljs-keyword">struct</span> &lt;<span class="hljs-title">struct_name</span>&gt;:
&lt;ctype&gt; [*]&lt;field_name&gt; &lt;ctype&gt; [*]&lt;field_name&gt;
@ -2939,7 +2939,7 @@ $ deactivate <span class="hljs-comment"># Deactivates the active
<footer> <footer>
<aside>June 4, 2025</aside>
<aside>June 5, 2025</aside>
<a href="https://gto76.github.io" rel="author">Jure Šorn</a> <a href="https://gto76.github.io" rel="author">Jure Šorn</a>
</footer> </footer>

6
parse.js

@ -326,7 +326,7 @@ const GROUPBY =
'<span class="hljs-number">6</span> <span class="hljs-number">11</span> <span class="hljs-number">13</span>'; '<span class="hljs-number">6</span> <span class="hljs-number">11</span> <span class="hljs-number">13</span>';
const CYTHON_1 = const CYTHON_1 =
'<span class="hljs-keyword">cdef</span> &lt;ctype/type&gt; [*]&lt;var_name&gt; [= &lt;obj&gt;]\n' +
'<span class="hljs-keyword">cdef</span> &lt;ctype/type&gt; [*]&lt;var_name&gt; [= &lt;object&gt;]\n' +
'<span class="hljs-keyword">cdef</span> &lt;ctype&gt;[n_items] &lt;array_name&gt; [= &lt;coll_of_nums/structs&gt;]\n' + '<span class="hljs-keyword">cdef</span> &lt;ctype&gt;[n_items] &lt;array_name&gt; [= &lt;coll_of_nums/structs&gt;]\n' +
'<span class="hljs-keyword">cdef</span> &lt;ctype&gt; *&lt;array_name&gt; = &lt;&lt;ctype&gt; *&gt; malloc(n_items * sizeof(&lt;ctype&gt;))\n' + '<span class="hljs-keyword">cdef</span> &lt;ctype&gt; *&lt;array_name&gt; = &lt;&lt;ctype&gt; *&gt; malloc(n_items * sizeof(&lt;ctype&gt;))\n' +
'<span class="hljs-keyword">cdef</span> &lt;ctype/type/void&gt; &lt;func_name&gt;(&lt;ctype/type&gt; [*]&lt;arg_name&gt;): ...\n'; '<span class="hljs-keyword">cdef</span> &lt;ctype/type/void&gt; &lt;func_name&gt;(&lt;ctype/type&gt; [*]&lt;arg_name&gt;): ...\n';
@ -335,7 +335,7 @@ const CYTHON_2 =
'<span class="hljs-keyword">cdef</span> <span class="hljs-class"><span class="hljs-keyword">class</span> &lt;<span class="hljs-title">class_name</span>&gt;:</span>\n' + '<span class="hljs-keyword">cdef</span> <span class="hljs-class"><span class="hljs-keyword">class</span> &lt;<span class="hljs-title">class_name</span>&gt;:</span>\n' +
' <span class="hljs-keyword">cdef</span> <span class="hljs-keyword">public</span> &lt;ctype/type&gt; [*]&lt;attr_name&gt;\n' + ' <span class="hljs-keyword">cdef</span> <span class="hljs-keyword">public</span> &lt;ctype/type&gt; [*]&lt;attr_name&gt;\n' +
' <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, &lt;ctype/type&gt; [*]&lt;arg_name&gt;)</span>:</span>\n' + ' <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, &lt;ctype/type&gt; [*]&lt;arg_name&gt;)</span>:</span>\n' +
' self.&lt;attr_name&gt; = [&amp;]&lt;arg_name&gt;\n';
' self.&lt;attr_name&gt; = &lt;arg_name&gt;\n';
const CYTHON_3 = const CYTHON_3 =
'<span class="hljs-keyword">cdef</span> <span class="hljs-keyword">struct</span> &lt;<span class="hljs-title">struct_name</span>&gt;:\n' + '<span class="hljs-keyword">cdef</span> <span class="hljs-keyword">struct</span> &lt;<span class="hljs-title">struct_name</span>&gt;:\n' +
@ -942,7 +942,7 @@ function fixHighlights() {
$(`code:contains(samples_f = (sin(i *)`).html(AUDIO_2); $(`code:contains(samples_f = (sin(i *)`).html(AUDIO_2);
$(`code:contains(collections, dataclasses, enum, io, itertools)`).html(MARIO); $(`code:contains(collections, dataclasses, enum, io, itertools)`).html(MARIO);
$(`code:contains(>>> gb = df.groupby)`).html(GROUPBY); $(`code:contains(>>> gb = df.groupby)`).html(GROUPBY);
$(`code:contains(cdef <ctype/type> [*]<var_name> [= <obj>])`).html(CYTHON_1);
$(`code:contains(cdef <ctype/type> [*]<var_name> [= <object>])`).html(CYTHON_1);
$(`code:contains(cdef class <class_name>:)`).html(CYTHON_2); $(`code:contains(cdef class <class_name>:)`).html(CYTHON_2);
$(`code:contains(cdef struct <struct_name>:)`).html(CYTHON_3); $(`code:contains(cdef struct <struct_name>:)`).html(CYTHON_3);
$(`ul:contains(Ctrl+F / ⌘F is usually sufficient.)`).html(INDEX); $(`ul:contains(Ctrl+F / ⌘F is usually sufficient.)`).html(INDEX);

Loading…
Cancel
Save