Ignore:
Timestamp:
Oct 2, 2014 4:06:45 PM (9 years ago)
Author:
toby
Message:

update and rebuild docs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sphinxdocs/build/html/_modules/GSASIIpy3.html

    r1298 r1513  
    1 
    2 
    31<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    42  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    6260<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
    6361<span class="kn">import</span> <span class="nn">GSASIIpath</span>
    64 <span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1255 $&quot;</span><span class="p">)</span>
    65 <span class="c"># de</span>
     62<span class="n">GSASIIpath</span><span class="o">.</span><span class="n">SetVersionNumber</span><span class="p">(</span><span class="s">&quot;$Revision: 1447 $&quot;</span><span class="p">)</span>
     63<span class="c"># declare symbol (pi) and functions allowed in expressions</span>
    6664<span class="n">sind</span> <span class="o">=</span> <span class="n">sin</span> <span class="o">=</span> <span class="n">s</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">sin</span><span class="p">(</span><span class="n">x</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span><span class="p">)</span>
    6765<span class="n">cosd</span> <span class="o">=</span> <span class="n">cos</span> <span class="o">=</span> <span class="n">c</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">np</span><span class="o">.</span><span class="n">cos</span><span class="p">(</span><span class="n">x</span><span class="o">*</span><span class="n">np</span><span class="o">.</span><span class="n">pi</span><span class="o">/</span><span class="mf">180.</span><span class="p">)</span>
     
    105103        <span class="n">digits</span> <span class="o">=</span> <span class="p">[</span><span class="mi">10</span><span class="p">,</span><span class="mi">2</span><span class="p">]</span>
    106104    <span class="k">else</span><span class="p">:</span>
    107         <span class="n">digits</span> <span class="o">=</span> <span class="n">maxdigits</span>
     105        <span class="n">digits</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">maxdigits</span><span class="p">)</span>
    108106    <span class="n">fmt</span> <span class="o">=</span> <span class="s">&#39;{:&#39;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span><span class="o">+</span><span class="s">&#39;}&#39;</span>
    109107    <span class="n">s</span> <span class="o">=</span> <span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">FormatValue</span><span class="p">(</span><span class="n">val</span><span class="p">,</span><span class="n">digits</span><span class="p">))</span>
     
    115113</div>
    116114<div class="viewcode-block" id="FormatValue"><a class="viewcode-back" href="../GSASIIGUIr.html#GSASIIpy3.FormatValue">[docs]</a><span class="k">def</span> <span class="nf">FormatValue</span><span class="p">(</span><span class="n">val</span><span class="p">,</span><span class="n">maxdigits</span><span class="o">=</span><span class="bp">None</span><span class="p">):</span>
    117     <span class="sd">&#39;&#39;&#39;Format a float to fit in ``maxdigits[0]`` spaces with maxdigits[1] after decimal.</span>
     115    <span class="sd">&#39;&#39;&#39;Format a float to fit in at most ``maxdigits[0]`` spaces with maxdigits[1] after decimal.</span>
     116<span class="sd">    Note that this code has been hacked from FormatSigFigs and may have unused sections. </span>
    118117
    119118<span class="sd">    :param float val: number to be formatted.</span>
     
    127126        <span class="n">digits</span> <span class="o">=</span> <span class="p">[</span><span class="mi">10</span><span class="p">,</span><span class="mi">2</span><span class="p">]</span>
    128127    <span class="k">else</span><span class="p">:</span>
    129         <span class="n">digits</span> <span class="o">=</span> <span class="n">maxdigits</span>
    130     <span class="c"># does the standard str() conversion fit?</span>
    131     <span class="n">string</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
    132     <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">string</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span> <span class="k">return</span> <span class="n">string</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span>
    133     <span class="c"># negative numbers, leave room for a sign</span>
    134     <span class="k">if</span> <span class="n">val</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span> <span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">1</span>
     128        <span class="n">digits</span> <span class="o">=</span> <span class="nb">list</span><span class="p">(</span><span class="n">maxdigits</span><span class="p">)</span>
     129    <span class="n">fmt</span><span class="o">=</span><span class="s">&quot;{:.&quot;</span><span class="o">+</span><span class="nb">str</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">+</span><span class="s">&quot;f}&quot;</span>
     130    <span class="n">string</span> <span class="o">=</span> <span class="n">fmt</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="nb">float</span><span class="p">(</span><span class="n">val</span><span class="p">))</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span> <span class="c"># will standard .f formatting work?</span>
     131    <span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">string</span><span class="p">)</span> <span class="o">&lt;=</span> <span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]:</span>
     132        <span class="k">if</span> <span class="s">&#39;:&#39;</span> <span class="ow">in</span> <span class="n">string</span><span class="p">:</span> <span class="c"># deal with weird bug where a colon pops up in a number when formatting (EPD 7.3.2!)</span>
     133            <span class="n">string</span> <span class="o">=</span> <span class="nb">str</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
     134        <span class="k">if</span> <span class="n">digits</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span> <span class="c"># strip off extra zeros on right side</span>
     135            <span class="n">string</span> <span class="o">=</span> <span class="n">string</span><span class="o">.</span><span class="n">rstrip</span><span class="p">(</span><span class="s">&#39;0&#39;</span><span class="p">)</span>
     136            <span class="k">if</span> <span class="n">string</span><span class="p">[</span><span class="o">-</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s">&#39;.&#39;</span><span class="p">:</span> <span class="n">string</span> <span class="o">+=</span> <span class="s">&quot;0&quot;</span>
     137        <span class="k">return</span> <span class="n">string</span>
     138    <span class="k">if</span> <span class="n">val</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span> <span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-=</span> <span class="mi">1</span> <span class="c"># negative numbers, reserve space for the sign</span>
    135139    <span class="n">decimals</span> <span class="o">=</span> <span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="n">digits</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
    136     <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mf">1e-99</span> <span class="ow">or</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mf">1e99</span><span class="p">:</span>
    137         <span class="n">decimals</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">6</span><span class="p">,</span><span class="n">digits</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
    138         <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s">&quot;:{:d}.{:d}g&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">decimals</span><span class="p">))</span><span class="o">+</span><span class="s">&quot;}&quot;</span> <span class="c"># create format string</span>
    139     <span class="k">elif</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mf">1e-9</span> <span class="ow">or</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mf">1e9</span><span class="p">:</span>
     140    <span class="k">if</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mf">1e99</span><span class="p">:</span> <span class="c"># for very large numbers, use scientific notation and use all digits</span>
     141        <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s">&quot;:{:d}.{:d}g&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">6</span><span class="p">))</span><span class="o">+</span><span class="s">&quot;}&quot;</span>
     142    <span class="k">elif</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mf">1e9</span><span class="p">:</span>
     143        <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s">&quot;:{:d}.{:d}g&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">5</span><span class="p">))</span><span class="o">+</span><span class="s">&quot;}&quot;</span>
     144    <span class="k">elif</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="o">**</span><span class="p">(</span><span class="mi">4</span><span class="o">-</span><span class="n">decimals</span><span class="p">):</span> <span class="c"># make sure at least 4 decimals show</span>
     145        <span class="c"># this clause is probably no longer needed since the number probably shows as 0.0</span>
    140146        <span class="n">decimals</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">5</span><span class="p">,</span><span class="n">digits</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
    141147        <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s">&quot;:{:d}.{:d}g&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">decimals</span><span class="p">))</span><span class="o">+</span><span class="s">&quot;}&quot;</span>
    142     <span class="k">elif</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">10</span><span class="o">**</span><span class="p">(</span><span class="mi">4</span><span class="o">-</span><span class="n">decimals</span><span class="p">):</span> <span class="c"># make sure at least 4 decimals show</span>
    143         <span class="n">decimals</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">5</span><span class="p">,</span><span class="n">digits</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
    144         <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s">&quot;:{:d}.{:d}g&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">decimals</span><span class="p">))</span><span class="o">+</span><span class="s">&quot;}&quot;</span>
    145     <span class="k">elif</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="mi">10</span><span class="o">**</span><span class="n">decimals</span><span class="p">:</span> <span class="c"># deal with large numbers in smaller spaces</span>
    146         <span class="n">decimals</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">5</span><span class="p">,</span><span class="n">digits</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
     148    <span class="k">elif</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&gt;=</span> <span class="mi">10</span><span class="o">**</span><span class="p">(</span><span class="n">decimals</span><span class="o">-</span><span class="mi">1</span><span class="p">):</span> <span class="c"># deal with large numbers in smaller spaces</span>
     149        <span class="n">decimals</span> <span class="o">=</span> <span class="nb">max</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">5</span><span class="p">)</span>
    147150        <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s">&quot;:{:d}.{:d}g&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">decimals</span><span class="p">))</span><span class="o">+</span><span class="s">&quot;}&quot;</span>
    148151    <span class="k">elif</span> <span class="nb">abs</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span> <span class="c"># use f format for small numbers</span>
     152        <span class="c"># this clause is probably no longer needed since the number probably shows as 0.0</span>
    149153        <span class="n">decimals</span> <span class="o">=</span> <span class="nb">min</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span><span class="n">digits</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
    150154        <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s">&quot;:{:d}.{:d}f&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">decimals</span><span class="p">))</span><span class="o">+</span><span class="s">&quot;}&quot;</span>
    151155    <span class="k">else</span><span class="p">:</span> <span class="c"># in range where g formatting should do what I want</span>
     156        <span class="c"># used? </span>
    152157        <span class="n">decimals</span> <span class="o">=</span> <span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">-</span> <span class="mi">1</span>
    153158        <span class="n">fmt</span> <span class="o">=</span> <span class="s">&quot;{&quot;</span> <span class="o">+</span> <span class="p">(</span><span class="s">&quot;:{:d}.{:d}g&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">digits</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span><span class="n">decimals</span><span class="p">))</span><span class="o">+</span><span class="s">&quot;}&quot;</span>
     
    258263    <div class="footer">
    259264        &copy; Copyright 2013, Von Dreele and Toby for Argonne National Laboratory.
    260       Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
     265      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2.
    261266    </div>
    262267  </body>
Note: See TracChangeset for help on using the changeset viewer.