|
3 | 3 | <head> |
4 | 4 | <meta charset="utf-8" /> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
6 | | - <title>pygenalgo.genome.gene — PyGenAlgo 01.70.00 documentation</title> |
| 6 | + <title>pygenalgo.genome.gene — PyGenAlgo 01.70.50 documentation</title> |
7 | 7 | <link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=92fd9be5" /> |
8 | 8 | <link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=19f00094" /> |
9 | 9 |
|
|
14 | 14 |
|
15 | 15 | <script src="../../../_static/jquery.js?v=5d32c60e"></script> |
16 | 16 | <script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> |
17 | | - <script src="../../../_static/documentation_options.js?v=fc45878b"></script> |
| 17 | + <script src="../../../_static/documentation_options.js?v=d0c4109e"></script> |
18 | 18 | <script src="../../../_static/doctools.js?v=9a2dae69"></script> |
19 | 19 | <script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script> |
20 | 20 | <script src="../../../_static/js/theme.js"></script> |
@@ -297,11 +297,16 @@ <h1>Source code for pygenalgo.genome.gene</h1><div class="highlight"><pre> |
297 | 297 | <span class="n">memo</span><span class="p">[</span><span class="nb">id</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_cache</span><span class="p">)]</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_cache</span><span class="o">.</span><span class="fm">__new__</span><span class="p">(</span><span class="nb">dict</span><span class="p">)</span> |
298 | 298 | <span class="c1"># _end_if_</span> |
299 | 299 |
|
300 | | - <span class="c1"># Deep copy all other attributes.</span> |
301 | | - <span class="k">for</span> <span class="n">attr</span> <span class="ow">in</span> <span class="bp">self</span><span class="o">.</span><span class="vm">__slots__</span><span class="p">:</span> |
302 | | - <span class="nb">setattr</span><span class="p">(</span><span class="n">new_object</span><span class="p">,</span> <span class="n">attr</span><span class="p">,</span> |
303 | | - <span class="n">deepcopy</span><span class="p">(</span><span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">attr</span><span class="p">),</span> <span class="n">memo</span><span class="p">))</span> |
304 | | - <span class="c1"># _end_for_</span> |
| 300 | + <span class="c1"># Deepcopy ONLY the datum because it</span> |
| 301 | + <span class="c1"># might be a complex mutable object.</span> |
| 302 | + <span class="nb">setattr</span><span class="p">(</span><span class="n">new_object</span><span class="p">,</span> <span class="s2">"_datum"</span><span class="p">,</span> |
| 303 | + <span class="n">deepcopy</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">_datum</span><span class="p">,</span> <span class="n">memo</span><span class="p">))</span> |
| 304 | + |
| 305 | + <span class="c1"># Simply copy the function handle.</span> |
| 306 | + <span class="nb">setattr</span><span class="p">(</span><span class="n">new_object</span><span class="p">,</span> <span class="s2">"_func"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_func</span><span class="p">)</span> |
| 307 | + |
| 308 | + <span class="c1"># Simply copy the boolean flag.</span> |
| 309 | + <span class="nb">setattr</span><span class="p">(</span><span class="n">new_object</span><span class="p">,</span> <span class="s2">"_valid"</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">_valid</span><span class="p">)</span> |
305 | 310 |
|
306 | 311 | <span class="c1"># Return identical instance.</span> |
307 | 312 | <span class="k">return</span> <span class="n">new_object</span> |
|
0 commit comments