Skip to content

Commit 5b21977

Browse files
committed
Operator, Plot, Audio
1 parent bfb81f1 commit 5b21977

File tree

3 files changed

+15
-21
lines changed

3 files changed

+15
-21
lines changed

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2168,7 +2168,7 @@ with <lock>: # Enters the block by calling acq
21682168

21692169
Operator
21702170
--------
2171-
**Module of functions that provide the functionality of operators. Functions are ordered by operator precedence, starting with least binding.**
2171+
**Module of functions that provide the functionality of operators. Functions are ordered and grouped by operator precedence from least to most binding. Logical and arithmetic operators in rows 1, 3 and 5 are also ordered by precedence within a group.**
21722172
```python
21732173
import operator as op
21742174
```
@@ -2419,9 +2419,9 @@ import matplotlib.pyplot as plt
24192419
plt.plot/bar/scatter(x_data, y_data [, label=<str>]) # Also plt.plot(y_data).
24202420
plt.legend() # Adds a legend.
24212421
plt.title/xlabel/ylabel(<str>) # Adds a title or label.
2422-
plt.savefig(<path>) # Saves the figure.
2423-
plt.show() # Displays the figure.
2424-
plt.clf() # Clears the figure.
2422+
plt.savefig(<path>) # Saves the plot.
2423+
plt.show() # Displays the plot.
2424+
plt.clf() # Clears the plot.
24252425
```
24262426

24272427

@@ -2876,7 +2876,7 @@ import wave
28762876
<int> = <Wave>.getnchannels() # Returns number of samples per frame.
28772877
<int> = <Wave>.getsampwidth() # Returns number of bytes per sample.
28782878
<tuple> = <Wave>.getparams() # Returns namedtuple of all parameters.
2879-
<bytes> = <Wave>.readframes(nframes) # Returns next n frames. All if -1.
2879+
<bytes> = <Wave>.readframes(nframes) # Returns next n frames (-1 returns all).
28802880
```
28812881

28822882
```python
@@ -2913,7 +2913,7 @@ def read_wav_file(filename):
29132913
p = file.getparams()
29142914
frames = file.readframes(-1)
29152915
bytes_samples = (frames[i : i + p.sampwidth] for i in range(0, len(frames), p.sampwidth))
2916-
return [get_int(b) / pow(2, p.sampwidth * 8 - 1) for b in bytes_samples], p
2916+
return [get_int(b) / pow(2, (p.sampwidth * 8) - 1) for b in bytes_samples], p
29172917
```
29182918

29192919
### Write Float Samples to WAV File
@@ -2922,7 +2922,7 @@ def write_to_wav_file(filename, samples_f, p=None, nchannels=1, sampwidth=2, fra
29222922
def get_bytes(a_float):
29232923
a_float = max(-1, min(1 - 2e-16, a_float))
29242924
a_float += p.sampwidth == 1
2925-
a_float *= pow(2, p.sampwidth * 8 - 1)
2925+
a_float *= pow(2, (p.sampwidth * 8) - 1)
29262926
return int(a_float).to_bytes(p.sampwidth, 'little', signed=(p.sampwidth != 1))
29272927
if p is None:
29282928
p = wave._wave_params(nchannels, sampwidth, framerate, 0, 'NONE', 'not compressed')

index.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1775,7 +1775,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment
17751775
<li><strong>Exceptions that happen inside threads are raised when map iterator's next() or Future's result() are called. Future's exception() method returns exception object or None.</strong></li>
17761776
<li><strong>ProcessPoolExecutor provides true parallelism but: everything sent to/from workers must be <a href="#pickle">pickable</a>, queues must be sent using executor's 'initargs' and 'initializer' parameters, and executor should only be reachable via <code class="python hljs"><span class="hljs-string">'if __name__ == "__main__": ...'</span></code>.</strong></li>
17771777
</ul>
1778-
<div><h2 id="operator"><a href="#operator" name="operator">#</a>Operator</h2><p><strong>Module of functions that provide the functionality of operators. Functions are ordered by operator precedence, starting with least binding.</strong></p><pre><code class="python language-python hljs"><span class="hljs-keyword">import</span> operator <span class="hljs-keyword">as</span> op
1778+
<div><h2 id="operator"><a href="#operator" name="operator">#</a>Operator</h2><p><strong>Module of functions that provide the functionality of operators. Functions are ordered and grouped by operator precedence from least to most binding. Logical and arithmetic operators in rows 1, 3 and 5 are also ordered by precedence within a group.</strong></p><pre><code class="python language-python hljs"><span class="hljs-keyword">import</span> operator <span class="hljs-keyword">as</span> op
17791779
</code></pre></div>
17801780

17811781

@@ -1979,9 +1979,9 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment
19791979
plt.plot/bar/scatter(x_data, y_data [, label=&lt;str&gt;]) <span class="hljs-comment"># Also plt.plot(y_data).</span>
19801980
plt.legend() <span class="hljs-comment"># Adds a legend.</span>
19811981
plt.title/xlabel/ylabel(&lt;str&gt;) <span class="hljs-comment"># Adds a title or label.</span>
1982-
plt.savefig(&lt;path&gt;) <span class="hljs-comment"># Saves the figure.</span>
1983-
plt.show() <span class="hljs-comment"># Displays the figure.</span>
1984-
plt.clf() <span class="hljs-comment"># Clears the figure.</span>
1982+
plt.savefig(&lt;path&gt;) <span class="hljs-comment"># Saves the plot.</span>
1983+
plt.show() <span class="hljs-comment"># Displays the plot.</span>
1984+
plt.clf() <span class="hljs-comment"># Clears the plot.</span>
19851985
</code></pre></div>
19861986

19871987
<div><h2 id="table"><a href="#table" name="table">#</a>Table</h2><div><h4 id="printsacsvspreadsheettotheconsole">Prints a CSV spreadsheet to the console:</h4><pre><code class="python language-python hljs"><span class="hljs-comment"># $ pip3 install tabulate</span>
@@ -2342,7 +2342,7 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment
23422342
&lt;int&gt; = &lt;Wave&gt;.getnchannels() <span class="hljs-comment"># Returns number of samples per frame.</span>
23432343
&lt;int&gt; = &lt;Wave&gt;.getsampwidth() <span class="hljs-comment"># Returns number of bytes per sample.</span>
23442344
&lt;tuple&gt; = &lt;Wave&gt;.getparams() <span class="hljs-comment"># Returns namedtuple of all parameters.</span>
2345-
&lt;bytes&gt; = &lt;Wave&gt;.readframes(nframes) <span class="hljs-comment"># Returns next n frames. All if -1.</span>
2345+
&lt;bytes&gt; = &lt;Wave&gt;.readframes(nframes) <span class="hljs-comment"># Returns next n frames (-1 returns all).</span>
23462346
</code></pre>
23472347
<pre><code class="python language-python hljs">&lt;Wave&gt; = wave.open(<span class="hljs-string">'&lt;path&gt;'</span>, <span class="hljs-string">'wb'</span>) <span class="hljs-comment"># Creates/truncates a file for writing.</span>
23482348
&lt;Wave&gt;.setframerate(&lt;int&gt;) <span class="hljs-comment"># Pass 44100 for CD, 48000 for video.</span>
@@ -2374,14 +2374,14 @@ <h3 id="format-2">Format</h3><div><h4 id="forstandardtypesizesandmanualalignment
23742374
p = file.getparams()
23752375
frames = file.readframes(<span class="hljs-number">-1</span>)
23762376
bytes_samples = (frames[i : i + p.sampwidth] <span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> range(<span class="hljs-number">0</span>, len(frames), p.sampwidth))
2377-
<span class="hljs-keyword">return</span> [get_int(b) / pow(<span class="hljs-number">2</span>, p.sampwidth * <span class="hljs-number">8</span> - <span class="hljs-number">1</span>) <span class="hljs-keyword">for</span> b <span class="hljs-keyword">in</span> bytes_samples], p
2377+
<span class="hljs-keyword">return</span> [get_int(b) / pow(<span class="hljs-number">2</span>, (p.sampwidth * <span class="hljs-number">8</span>) - <span class="hljs-number">1</span>) <span class="hljs-keyword">for</span> b <span class="hljs-keyword">in</span> bytes_samples], p
23782378
</code></pre></div>
23792379

23802380
<div><h3 id="writefloatsamplestowavfile">Write Float Samples to WAV File</h3><pre><code class="python language-python hljs"><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">write_to_wav_file</span><span class="hljs-params">(filename, samples_f, p=<span class="hljs-keyword">None</span>, nchannels=<span class="hljs-number">1</span>, sampwidth=<span class="hljs-number">2</span>, framerate=<span class="hljs-number">44100</span>)</span>:</span>
23812381
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_bytes</span><span class="hljs-params">(a_float)</span>:</span>
23822382
a_float = max(<span class="hljs-number">-1</span>, min(<span class="hljs-number">1</span> - <span class="hljs-number">2e-16</span>, a_float))
23832383
a_float += p.sampwidth == <span class="hljs-number">1</span>
2384-
a_float *= pow(<span class="hljs-number">2</span>, p.sampwidth * <span class="hljs-number">8</span> - <span class="hljs-number">1</span>)
2384+
a_float *= pow(<span class="hljs-number">2</span>, (p.sampwidth * <span class="hljs-number">8</span>) - <span class="hljs-number">1</span>)
23852385
<span class="hljs-keyword">return</span> int(a_float).to_bytes(p.sampwidth, <span class="hljs-string">'little'</span>, signed=(p.sampwidth != <span class="hljs-number">1</span>))
23862386
<span class="hljs-keyword">if</span> p <span class="hljs-keyword">is</span> <span class="hljs-keyword">None</span>:
23872387
p = wave._wave_params(nchannels, sampwidth, framerate, <span class="hljs-number">0</span>, <span class="hljs-string">'NONE'</span>, <span class="hljs-string">'not compressed'</span>)

parse.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,6 @@ const CONSTRUCTOR_OVERLOADING =
8484
' <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">__init__</span><span class="hljs-params">(self, a=<span class="hljs-keyword">None</span>)</span>:</span>\n' +
8585
' self.a = a\n';
8686

87-
const DATACLASS =
88-
'&lt;class&gt; = make_dataclass(<span class="hljs-string">\'&lt;class_name&gt;\'</span>, &lt;coll_of_attribute_names&gt;)\n' +
89-
'&lt;class&gt; = make_dataclass(<span class="hljs-string">\'&lt;class_name&gt;\'</span>, &lt;coll_of_tuples&gt;)\n' +
90-
'&lt;tuple&gt; = (<span class="hljs-string">\'&lt;attr_name&gt;\'</span>, &lt;type&gt; [, &lt;default_value&gt;])';
91-
9287
const SHUTIL_COPY =
9388
'shutil.copy(from, to) <span class="hljs-comment"># Copies the file. \'to\' can exist or be a dir.</span>\n' +
9489
'shutil.copy2(from, to) <span class="hljs-comment"># Also copies creation and modification time.</span>\n' +
@@ -221,7 +216,7 @@ const AUDIO_1 =
221216
' <span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">get_bytes</span><span class="hljs-params">(a_float)</span>:</span>\n' +
222217
' a_float = max(<span class="hljs-number">-1</span>, min(<span class="hljs-number">1</span> - <span class="hljs-number">2e-16</span>, a_float))\n' +
223218
' a_float += p.sampwidth == <span class="hljs-number">1</span>\n' +
224-
' a_float *= pow(<span class="hljs-number">2</span>, p.sampwidth * <span class="hljs-number">8</span> - <span class="hljs-number">1</span>)\n' +
219+
' a_float *= pow(<span class="hljs-number">2</span>, (p.sampwidth * <span class="hljs-number">8</span>) - <span class="hljs-number">1</span>)\n' +
225220
' <span class="hljs-keyword">return</span> int(a_float).to_bytes(p.sampwidth, <span class="hljs-string">\'little\'</span>, signed=(p.sampwidth != <span class="hljs-number">1</span>))\n' +
226221
' <span class="hljs-keyword">if</span> p <span class="hljs-keyword">is</span> <span class="hljs-keyword">None</span>:\n' +
227222
' p = wave._wave_params(nchannels, sampwidth, framerate, <span class="hljs-number">0</span>, <span class="hljs-string">\'NONE\'</span>, <span class="hljs-string">\'not compressed\'</span>)\n' +
@@ -843,7 +838,6 @@ function fixHighlights() {
843838
$(`code:contains(@debug(print_result=True))`).html(PARAMETRIZED_DECORATOR);
844839
$(`code:contains(print/str/repr([<obj>]))`).html(REPR_USE_CASES);
845840
$(`code:contains((self, a=None):)`).html(CONSTRUCTOR_OVERLOADING);
846-
//$(`code:contains(make_dataclass(\'<class_name>\')`).html(DATACLASS);
847841
$(`code:contains(shutil.copy)`).html(SHUTIL_COPY);
848842
$(`code:contains(os.rename)`).html(OS_RENAME);
849843
$(`code:contains(\'<n>s\')`).html(STRUCT_FORMAT);

0 commit comments

Comments
 (0)