Skip to content

Commit e8dd400

Browse files
committed
Added inplace operations exercise
1 parent 6223625 commit e8dd400

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

README.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,17 @@ <h2 class="subtitle" id="a-joint-effort-of-the-numpy-community">A joint effort o
238238
<span class="name">np</span><span class="operator">.</span><span class="name">sqrt</span><span class="punctuation">(</span><span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">)</span> <span class="operator">==</span> <span class="name">np</span><span class="operator">.</span><span class="name">emath</span><span class="operator">.</span><span class="name">sqrt</span><span class="punctuation">(</span><span class="operator">-</span><span class="literal number integer">1</span><span class="punctuation">)</span>
239239
</pre>
240240
</li>
241+
<li><p class="first">How to compute ((A+B)*(-A/2)) in place (without copy)? (★★☆)</p>
242+
<pre class="code python literal-block">
243+
<span class="name">A</span> <span class="operator">=</span> <span class="name">np</span><span class="operator">.</span><span class="name">ones</span><span class="punctuation">(</span><span class="literal number integer">3</span><span class="punctuation">)</span><span class="operator">*</span><span class="literal number integer">1</span>
244+
<span class="name">B</span> <span class="operator">=</span> <span class="name">np</span><span class="operator">.</span><span class="name">ones</span><span class="punctuation">(</span><span class="literal number integer">3</span><span class="punctuation">)</span><span class="operator">*</span><span class="literal number integer">2</span>
245+
<span class="name">C</span> <span class="operator">=</span> <span class="name">np</span><span class="operator">.</span><span class="name">ones</span><span class="punctuation">(</span><span class="literal number integer">3</span><span class="punctuation">)</span><span class="operator">*</span><span class="literal number integer">3</span>
246+
<span class="name">np</span><span class="operator">.</span><span class="name">add</span><span class="punctuation">(</span><span class="name">A</span><span class="punctuation">,</span><span class="name">B</span><span class="punctuation">,</span><span class="name">out</span><span class="operator">=</span><span class="name">B</span><span class="punctuation">)</span>
247+
<span class="name">np</span><span class="operator">.</span><span class="name">divide</span><span class="punctuation">(</span><span class="name">A</span><span class="punctuation">,</span><span class="literal number integer">2</span><span class="punctuation">,</span><span class="name">out</span><span class="operator">=</span><span class="name">A</span><span class="punctuation">)</span>
248+
<span class="name">np</span><span class="operator">.</span><span class="name">negative</span><span class="punctuation">(</span><span class="name">A</span><span class="punctuation">,</span><span class="name">out</span><span class="operator">=</span><span class="name">A</span><span class="punctuation">)</span>
249+
<span class="name">np</span><span class="operator">.</span><span class="name">multiply</span><span class="punctuation">(</span><span class="name">A</span><span class="punctuation">,</span><span class="name">B</span><span class="punctuation">,</span><span class="name">out</span><span class="operator">=</span><span class="name">A</span><span class="punctuation">)</span>
250+
</pre>
251+
</li>
241252
<li><p class="first">Extract the integer part of a random array using 5 different methods (★★☆)</p>
242253
<pre class="code python literal-block">
243254
<span class="name">Z</span> <span class="operator">=</span> <span class="name">np</span><span class="operator">.</span><span class="name">random</span><span class="operator">.</span><span class="name">uniform</span><span class="punctuation">(</span><span class="literal number integer">0</span><span class="punctuation">,</span><span class="literal number integer">10</span><span class="punctuation">,</span><span class="literal number integer">10</span><span class="punctuation">)</span>

README.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,18 @@ Thanks to Michiaki Ariga, there is now a
284284
285285
np.sqrt(-1) == np.emath.sqrt(-1)
286286
287+
#. How to compute ((A+B)*(-A/2)) in place (without copy)? (★★☆)
288+
289+
.. code-block:: python
290+
291+
A = np.ones(3)*1
292+
B = np.ones(3)*2
293+
C = np.ones(3)*3
294+
np.add(A,B,out=B)
295+
np.divide(A,2,out=A)
296+
np.negative(A,out=A)
297+
np.multiply(A,B,out=A)
298+
287299
#. Extract the integer part of a random array using 5 different methods (★★☆)
288300

289301
.. code-block:: python

0 commit comments

Comments
 (0)