This file is indexed.

/usr/share/doc/python-gmpy2-doc/html/intro.html is in python-gmpy2-doc 2.0.8-2build3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Introduction to gmpy2 &#8212; gmpy2 2.0.4 documentation</title>
    <link rel="stylesheet" href="_static/classic.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    './',
        VERSION:     '2.0.4',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true,
        SOURCELINK_SUFFIX: '.txt'
      };
    </script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Overview of gmpy2" href="overview.html" />
    <link rel="prev" title="Welcome to gmpy2&#39;s documentation!" href="index.html" /> 
  </head>
  <body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="overview.html" title="Overview of gmpy2"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="index.html" title="Welcome to gmpy2&#39;s documentation!"
             accesskey="P">previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">gmpy2 2.0.4 documentation</a> &#187;</li> 
      </ul>
    </div>  

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <div class="section" id="introduction-to-gmpy2">
<h1>Introduction to gmpy2<a class="headerlink" href="#introduction-to-gmpy2" title="Permalink to this headline"></a></h1>
<p>gmpy2 is a C-coded Python extension module that supports multiple-precision
arithmetic. gmpy2 is the successor to the original gmpy module. The gmpy module
only supported the GMP multiple-precision library. gmpy2 adds support for the
MPFR (correctly rounded real floating-point arithmetic) and MPC (correctly
rounded complex floating-point arithmetic) libraries. gmpy2 also updates the
API and naming conventions to be more consistent and support the additional
functionality.</p>
<p>The following libraries are supported:</p>
<ul>
<li><p class="first">GMP for integer and rational arithmetic</p>
<p>Home page: <a class="reference external" href="http://gmplib.org">http://gmplib.org</a></p>
</li>
<li><p class="first">MPIR is based on the GMP library but adds support for Microsoft's Visual
Studio compiler. It is used to create the Windows binaries.</p>
<p>Home page: <a class="reference external" href="http://www.mpir.org">http://www.mpir.org</a></p>
</li>
<li><p class="first">MPFR for correctly rounded real floating-point arithmetic</p>
<p>Home page: <a class="reference external" href="http://www.mpfr.org">http://www.mpfr.org</a></p>
</li>
<li><p class="first">MPC for correctly rounded complex floating-point arithmetic</p>
<p>Home page: <a class="reference external" href="http://mpc.multiprecision.org">http://mpc.multiprecision.org</a></p>
</li>
<li><p class="first">Generalized Lucas sequences and primality tests are based on the following
code:</p>
<p>mpz_lucas: <a class="reference external" href="http://sourceforge.net/projects/mpzlucas/">http://sourceforge.net/projects/mpzlucas/</a></p>
<p>mpz_prp: <a class="reference external" href="http://sourceforge.net/projects/mpzprp/">http://sourceforge.net/projects/mpzprp/</a></p>
</li>
</ul>
<div class="section" id="changes-in-gmpy2-2-0-4">
<h2>Changes in gmpy2 2.0.4<a class="headerlink" href="#changes-in-gmpy2-2-0-4" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Fixed bit_scan0() for negative values.</li>
<li>Added option to setup.py (--static) to support static linking.</li>
<li>Manpage is now installed in section 3.</li>
</ul>
</div>
<div class="section" id="changes-in-gmpy2-2-0-3">
<h2>Changes in gmpy2 2.0.3<a class="headerlink" href="#changes-in-gmpy2-2-0-3" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Fixed bugs in lucas2() and atanh() that caused incorrect results.</li>
</ul>
</div>
<div class="section" id="changes-in-gmpy2-2-0-2">
<h2>Changes in gmpy2 2.0.2<a class="headerlink" href="#changes-in-gmpy2-2-0-2" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Rebuild the Windows binary installers due to a bug in MPIR.</li>
<li>Correct test in is_extra_strong_lucas_prp(). Note: The incorrect test is not
known to cause any errors.</li>
</ul>
</div>
<div class="section" id="changes-in-gmpy2-2-0-1">
<h2>Changes in gmpy2 2.0.1<a class="headerlink" href="#changes-in-gmpy2-2-0-1" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Updated setup.py to work in more situations.</li>
<li>Corrected exception handling in basic operations with mpfr type.</li>
<li>Correct InvalidOperation exception not raised in certain circumstances.</li>
<li>invert() now raises an exception if the modular inverse does not exist.</li>
<li>Fixed internal exception in is_bpsw_prp() and is_strong_bpsw_prp().</li>
<li>Updated is_extra_strong_lucas_prp() to latest version.</li>
</ul>
</div>
<div class="section" id="changes-in-gmpy2-2-0-0">
<h2>Changes in gmpy2 2.0.0<a class="headerlink" href="#changes-in-gmpy2-2-0-0" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Fix segmentation fault in _mpmath_normalize (an undocumented helper function
specifically for mpmath.)</li>
<li>Improved setup.py See below for documentation on the changes.</li>
<li>Fix issues when compiled without support for MPFR.</li>
<li>Conversion of too large an mpz to float now raises OverflowError instead of
returning <em>inf</em>.</li>
<li>Renamed min2()/max2() to minnum()/maxnum()</li>
<li>The build and install process (i.e. setup.py) has been completely rewritten.
See the Installation section for more information.</li>
<li>get_context() no longer accepts keyword arguments.</li>
</ul>
</div>
<div class="section" id="known-issues-in-gmpy2-2-0-0">
<h2>Known issues in gmpy2 2.0.0<a class="headerlink" href="#known-issues-in-gmpy2-2-0-0" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>The test suite is still incomplete.</li>
</ul>
</div>
<div class="section" id="changes-in-gmpy2-2-0-0b4">
<h2>Changes in gmpy2 2.0.0b4<a class="headerlink" href="#changes-in-gmpy2-2-0-0b4" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Added __ceil__, __floor__, __trunc__, and __round__ methods to mpz and mpq
types.</li>
<li>Added __complex__ to mpc type.</li>
<li>round(mpfr) now correctly returns an mpz type.</li>
<li>If no arguments are given to mpz, mpq, mpfr, mpc, and xmpz, return 0 of the
appropriate type.</li>
<li>Fix broken comparison between mpz and mpq when mpz is on the left.</li>
<li>Added __sizeof__ to all types. <em>Note: sys.getsizeof() calls __sizeof__ to get
the memory size of a gmpy2 object. The returned value reflects the size of the
allocated memory which may be larger than the actual minimum memory required
by the object.</em></li>
</ul>
</div>
<div class="section" id="known-issues-in-gmpy2-2-0-0b4">
<h2>Known issues in gmpy2 2.0.0b4<a class="headerlink" href="#known-issues-in-gmpy2-2-0-0b4" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>The new test suite (test/runtest.py) is incomplete and some tests fail on
Python 2.x due to formating issues.</li>
</ul>
</div>
<div class="section" id="changes-in-gmpy2-2-0-0b3">
<h2>Changes in gmpy2 2.0.0b3<a class="headerlink" href="#changes-in-gmpy2-2-0-0b3" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>mp_version(), mpc_version(), and mpfr_version() now return normal strings on
Python 2.x instead of Unicode strings.</li>
<li>Faster conversion of the standard library Fraction type to mpq.</li>
<li>Improved conversion of the Decimal type to mpfr.</li>
<li>Consistently return OverflowError when converting &quot;inf&quot;.</li>
<li>Fix mpz.__format__() when the format code includes &quot;#&quot;.</li>
<li>Add is_infinite() and deprecate is_inf().</li>
<li>Add is_finite() and deprecate is_number().</li>
<li>Fixed the various is_XXX() tests when used with mpc.</li>
<li>Added caching for mpc objects.</li>
<li>Faster code path for basic operation is both operands are mpfr or mpc.</li>
<li>Fix mpfr + float segmentation fault.</li>
</ul>
</div>
<div class="section" id="changes-in-gmpy2-2-0-0b2">
<h2>Changes in gmpy2 2.0.0b2<a class="headerlink" href="#changes-in-gmpy2-2-0-0b2" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Allow xmpz slice assignment to increase length of xmpz instance by specifying
a value for stop.</li>
<li>Fixed reference counting bug in several is_xxx_prp() tests.</li>
<li>Added iter_bits(), iter_clear(), iter_set() methods to xmpz.</li>
<li>Added powmod() for easy access to three argument pow().</li>
<li>Removed addmul() and submul() which were added in 2.0.0b1 since they are
slower than just using Python code.</li>
<li>Bug fix in gcd_ext when both arguments are not mpz.</li>
<li>Added ieee() to create contexts for 32, 64, or 128 bit floats.</li>
<li>Bug fix in context() not setting emax/emin correctly if they had been changed
earlier.</li>
<li>Contexts can be directly used in with statement without requiring
set_context()/local_context() sequence.</li>
<li>local_context() now accepts an optional context.</li>
</ul>
</div>
<div class="section" id="changes-in-gmpy2-2-0-0b1-and-earlier">
<h2>Changes in gmpy2 2.0.0b1 and earlier<a class="headerlink" href="#changes-in-gmpy2-2-0-0b1-and-earlier" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Renamed functions that manipulate individual bits to bit_XXX() to align with
bit_length().</li>
<li>Added caching for mpq.</li>
<li>Added rootrem(), fib2(), lucas(), lucas2().</li>
<li>Support changed hash function in Python 3.2.</li>
<li>Added is_even(), is_odd().</li>
<li>Add caching of the calculated hash value.</li>
<li>Add xmpz (mutable mpz) type.</li>
<li>Fix mpq formatting issue.</li>
<li>Add read/write bit access using slices to xmpz.</li>
<li>Add read-only bit access using slices to mpz.</li>
<li>Add pack()/unpack() methods to split/join an integer into n-bit chunks.</li>
<li>Add support for MPFR (casevh)</li>
<li>Removed fcoform float conversion modifier.</li>
<li>Add support for MPC.</li>
<li>Added context manager.</li>
<li>Allow building with just GMP/MPIR if MPFR not available.</li>
<li>Allow building with GMP/MPIR and MPFR if MPC not available.</li>
<li>Removed most instance methods in favor of gmpy2.function. The general guideline
is that <em>properties</em> of an instance can be done via instance methods but
<em>functions</em> that return a new result are done using gmpy2.function.</li>
<li>Added __ceil__, __floor__, and __trunc__ methods since they are called by
math.ceil(), math.floor(), and math.trunc().</li>
<li>Removed gmpy2.pow() to avoid conflicts.</li>
<li>Removed gmpy2._copy and added xmpz.copy.</li>
<li>Added support for __format__.</li>
<li>Added as_integer_ratio, as_mantissa_exp, as_simple_fraction.</li>
<li>Updated rich_compare.</li>
<li>Require MPFR 3.1.0+ to get divby0 support.</li>
<li>Added fsum(), degrees(), radians().</li>
<li>Updated random number generation support.</li>
<li>Changed license to LGPL 3+.</li>
<li>Added lucasu, lucasu_mod, lucasv, and lucasv_mod.
<em>Based on code contributed by David Cleaver.</em></li>
<li>Added probable-prime tests.
<em>Based on code contributed by David Cleaver.</em></li>
<li>Added to_binary()/from_binary.</li>
<li>Renamed numdigits() to num_digits().</li>
<li>Added keyword precision to constants.</li>
<li>Added addmul() and submul().</li>
<li>Added __round__(), round2(), round_away() for mpfr.</li>
<li>round() is no longer a module level function.</li>
<li>Renamed module functions min()/max() to min2()/max2().</li>
<li>No longer conflicts with builtin min() and max()</li>
<li>Removed set_debug() and related functionality.</li>
</ul>
</div>
</div>
<div class="section" id="installation">
<h1>Installation<a class="headerlink" href="#installation" title="Permalink to this headline"></a></h1>
<div class="section" id="installing-gmpy2-on-windows">
<h2>Installing gmpy2 on Windows<a class="headerlink" href="#installing-gmpy2-on-windows" title="Permalink to this headline"></a></h2>
<p>Pre-compiled versions of gmpy2 are available at <a class="reference external" href="https://pypi.python.org/pypi/gmpy2/">PyPi</a> . Please select the installer
that corresponds to the version of Python installed on your computer.
Note that either a 32 or 64-bit version of Python can be installed on a
64-bit version of Windows. If you get an error message stating that
Python could not be found in the registry, you have the wrong
version of the gmpy2 installer.</p>
</div>
<div class="section" id="installing-gmpy2-on-unix-linux">
<h2>Installing gmpy2 on Unix/Linux<a class="headerlink" href="#installing-gmpy2-on-unix-linux" title="Permalink to this headline"></a></h2>
<div class="section" id="requirements">
<h3>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline"></a></h3>
<p>gmpy2 has only been tested with recent versions of GMP, MPFR and MPC.
Specifically, for integer and rational support, gmpy2 requires GMP 5.1.x or
later. To support multiple-precision floating point arithmetic, MPFR 3.1.x or
later is required. MPC 1.0.1 or later is required for complex arithmetic.</p>
</div>
<div class="section" id="short-instructions">
<h3>Short Instructions<a class="headerlink" href="#short-instructions" title="Permalink to this headline"></a></h3>
<p>You will need to install the development libraries for Python, GMP, MPFR, and
MPC. Different Linux distributions may the development packages differently.
Typical names are libpython-dev, libgmp-dev, libmpfr-dev, and libmpc-dev.</p>
<p>If your system includes recent versions of GMP, MPFR and MPC, and you have
the development libraries installed, compiling should be as simple as:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">cd</span> <span class="o">&lt;</span><span class="n">gmpy2</span> <span class="n">source</span> <span class="n">directory</span><span class="o">&gt;</span>
<span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">build</span>
<span class="n">sudo</span> <span class="n">python</span> <span class="n">setup</span><span class="o">.</span><span class="n">py</span> <span class="n">install</span>
</pre></div>
</div>
<p>If this fails, read on.</p>
</div>
<div class="section" id="detailed-instructions">
<h3>Detailed Instructions<a class="headerlink" href="#detailed-instructions" title="Permalink to this headline"></a></h3>
<p>If your Linux distribution does not support recent versions of GMP, MPFR and
MPC, you will need to compile your own versions. To avoid any possible conflict
with existing libraries on your system, it is recommended to use a directory
not normally used by your distribution. setup.py will automatically search the
following directories for the required libraries:</p>
<blockquote>
<div><ol class="arabic simple">
<li>/opt/local</li>
<li>/opt</li>
<li>/usr/local</li>
<li>/usr</li>
<li>/sw</li>
</ol>
</div></blockquote>
<p>If you can't use one of these directories, you can use a directory located in
your home directory. The examples will use /home/&lt;username&gt;/local. If you use
one of standard directories (say /opt/local), then you won't need to specify
--prefix=/home/case/local to setup.py but you will need to specify the prefix
when compiling GMP, MPFR, and MPC.</p>
<p>Please substitute your actual user name for &lt;username&gt;.</p>
<p>Create the desired destination directory for GMP, MPFR, and MPC.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ mkdir /home/&lt;username&gt;/local
</pre></div>
</div>
<p>Download and un-tar the GMP source code. Change to the GMP source directory and
compile GMP.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ cd /home/&lt;username&gt;/local/src/gmp-6.0.0
$ ./configure --prefix=/home/&lt;username&gt;/local
$ make
$ make check
$ make install
</pre></div>
</div>
<p>Download and un-tar the MPFR source code. Change to the MPFR source directory
and compile MPFR.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ cd /home/&lt;username&gt;/local/src/mpfr-3.1.2
$ ./configure --prefix=/home/&lt;username&gt;/local --with-gmp=/home/&lt;username&gt;/local
$ make
$ make check
$ make install
</pre></div>
</div>
<p>Download and un-tar the MPC source code. Change to the MPC source directory
and compile MPC.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ cd /home/&lt;username&gt;/local/src/mpc-1.0.2
$ ./configure --prefix=/home/&lt;username&gt;/local --with-gmp=/home/&lt;username&gt;/local --with-mpfr=/home/&lt;username&gt;/local
$ make
$ make check
$ make install
</pre></div>
</div>
<p>Compile gmpy2 and specify the location of GMP, MPFR and MPC. The location of
the GMP, MPFR, and MPC libraries is embedded into the gmpy2 library so the new
versions of GMP, MPFR, and MPC do not need to be installed the system library
directories. The prefix directory is added to the beginning of the directories
that are checked so it will be found first.</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ python setup.py install --prefix=/home/&lt;username&gt;/local
</pre></div>
</div>
<p>If you get a &quot;permission denied&quot; error message, you may need to use:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ python setup.py build --prefix=/home/&lt;username&gt;/local
$ sudo python setup.py install --prefix=/home/&lt;username&gt;/local
</pre></div>
</div>
</div>
<div class="section" id="options-for-setup-py">
<h3>Options for setup.py<a class="headerlink" href="#options-for-setup-py" title="Permalink to this headline"></a></h3>
<dl class="docutils">
<dt><strong>--force</strong></dt>
<dd>Ignore the timestamps on all files and recompile. Normally, the results of a
previous compile are cached. To force gmpy2 to recognize external changes
(updated version of GMP, etc.), you will need to use this option.</dd>
<dt><strong>--mpir</strong></dt>
<dd>Force the use of MPIR instead of GMP. GMP is the default library on non-Windows
operating systems.</dd>
<dt><strong>--gmp</strong></dt>
<dd>Force the use of GMP instead of MPIR. MPIR is the default library on Windows
operating systems.</dd>
<dt><strong>--prefix=&lt;...&gt;</strong></dt>
<dd>Specify the directory prefix where GMP/MPIR, MPFR, and MPC are located. For
example, <strong>--prefix=/opt/local</strong> instructs setup.py to search /opt/local/include
for header files and /opt/local/lib for libraries.</dd>
<dt><strong>--nompfr</strong></dt>
<dd>Disables support for MPFR and MPC. This option is intended for testing purposes
and is not offically supported. MPFR will be required for future versions of
gmpy2.</dd>
<dt><strong>--nompc</strong></dt>
<dd>Disables support for MPC. This option is intended for testing purposes and is not
officially supported. MPC will be required for future versions of gmpy2.</dd>
<dt><strong>--static</strong></dt>
<dd>Builds a statically linked library. This option will likely require the use of
--prefix=&lt;...&gt; to specify the directory where the static libraries are located.
To successfully link with gmpy2, the GMP, MPFR, and MPC libraries must be compiled
with the --with-pic option.</dd>
</dl>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
        <div class="sphinxsidebarwrapper">
  <h3><a href="index.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">Introduction to gmpy2</a><ul>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-4">Changes in gmpy2 2.0.4</a></li>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-3">Changes in gmpy2 2.0.3</a></li>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-2">Changes in gmpy2 2.0.2</a></li>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-1">Changes in gmpy2 2.0.1</a></li>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-0">Changes in gmpy2 2.0.0</a></li>
<li><a class="reference internal" href="#known-issues-in-gmpy2-2-0-0">Known issues in gmpy2 2.0.0</a></li>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-0b4">Changes in gmpy2 2.0.0b4</a></li>
<li><a class="reference internal" href="#known-issues-in-gmpy2-2-0-0b4">Known issues in gmpy2 2.0.0b4</a></li>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-0b3">Changes in gmpy2 2.0.0b3</a></li>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-0b2">Changes in gmpy2 2.0.0b2</a></li>
<li><a class="reference internal" href="#changes-in-gmpy2-2-0-0b1-and-earlier">Changes in gmpy2 2.0.0b1 and earlier</a></li>
</ul>
</li>
<li><a class="reference internal" href="#installation">Installation</a><ul>
<li><a class="reference internal" href="#installing-gmpy2-on-windows">Installing gmpy2 on Windows</a></li>
<li><a class="reference internal" href="#installing-gmpy2-on-unix-linux">Installing gmpy2 on Unix/Linux</a><ul>
<li><a class="reference internal" href="#requirements">Requirements</a></li>
<li><a class="reference internal" href="#short-instructions">Short Instructions</a></li>
<li><a class="reference internal" href="#detailed-instructions">Detailed Instructions</a></li>
<li><a class="reference internal" href="#options-for-setup-py">Options for setup.py</a></li>
</ul>
</li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="index.html"
                        title="previous chapter">Welcome to gmpy2's documentation!</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="overview.html"
                        title="next chapter">Overview of gmpy2</a></p>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="_sources/intro.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
<div id="searchbox" style="display: none" role="search">
  <h3>Quick search</h3>
    <form class="search" action="search.html" method="get">
      <div><input type="text" name="q" /></div>
      <div><input type="submit" value="Go" /></div>
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="overview.html" title="Overview of gmpy2"
             >next</a> |</li>
        <li class="right" >
          <a href="index.html" title="Welcome to gmpy2&#39;s documentation!"
             >previous</a> |</li>
        <li class="nav-item nav-item-0"><a href="index.html">gmpy2 2.0.4 documentation</a> &#187;</li> 
      </ul>
    </div>
    <div class="footer" role="contentinfo">
        &#169; Copyright 2018, 2013, 2014 Case Van Horsen.
      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.6.6.
    </div>
  </body>
</html>