a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<html lang="en">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<head>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<title>GNU MP 4.3.2</title>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<meta name="description" content="How to install and use the GNU multiple precision arithmetic library, version 4.3.2.">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<meta name="generator" content="makeinfo 4.8">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<link title="Top" rel="start" href="index.html#Top">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<link rel="up" href="http://gmplib.org/index.html#dir" title="(dir)">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<link rel="prev" href="http://gmplib.org/index.html#dir" title="(dir)">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<link rel="next" href="http://gmplib.org/manual-4.3.2/Copying.html#Copying" title="Copying">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<!--
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas JamesThis manual describes how to install and use the GNU multiple precision
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jamesarithmetic library, version 4.3.2.
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas JamesCopyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas JamesPermission is granted to copy, distribute and/or modify this document under
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jamesthe terms of the GNU Free Documentation License, Version 1.3 or any later
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jamesversion published by the Free Software Foundation; with no Invariant Sections,
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jameswith the Front-Cover Texts being ``A GNU Manual'', and with the Back-Cover
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas JamesTexts being ``You have freedom to copy and modify this GNU Manual, like GNU
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jamessoftware''. A copy of the license is included in
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James*Note GNU Free Documentation License::.-->
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<meta http-equiv="Content-Style-Type" content="text/css">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<style type="text/css"><!--
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James pre.display { font-family:inherit }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James pre.format { font-family:inherit }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James pre.smalldisplay { font-family:inherit; font-size:smaller }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James pre.smallformat { font-family:inherit; font-size:smaller }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James pre.smallexample { font-size:smaller }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James pre.smalllisp { font-size:smaller }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James span.sc { font-variant:small-caps }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James span.roman { font-family:serif; font-weight:normal; }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James span.sansserif { font-family:sans-serif; font-weight:normal; }
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James--></style>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James</head>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<body>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<div class="node">
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<p>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<a name="Top"></a>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas JamesNext:&nbsp;<a rel="next" accesskey="n" href="http://gmplib.org/manual-4.3.2/Copying.html#Copying">Copying</a>,
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas JamesPrevious:&nbsp;<a rel="previous" accesskey="p" href="http://gmplib.org/index.html#dir">(dir)</a>,
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas JamesUp:&nbsp;<a rel="up" accesskey="u" href="http://gmplib.org/index.html#dir">(dir)</a>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<hr>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James</div>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<h2 class="unnumbered">GNU MP</h2>
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James <p>This manual describes how to install and use the GNU multiple precision
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jamesarithmetic library, version 4.3.2.
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James <p>Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James <p>Permission is granted to copy, distribute and/or modify this document under
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jamesthe terms of the GNU Free Documentation License, Version 1.3 or any later
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jamesversion published by the Free Software Foundation; with no Invariant Sections,
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jameswith the Front-Cover Texts being &ldquo;A GNU Manual&rdquo;, and with the Back-Cover
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas JamesTexts being &ldquo;You have freedom to copy and modify this GNU Manual, like GNU
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas Jamessoftware&rdquo;. A copy of the license is included in
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James<a href="http://gmplib.org/manual-4.3.2/GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>.
a6ec351ba3a72078f9d238c2d490e25a9e0990dbNicholas James <pre class="sp">
</pre>
<!-- Don't bother with contents for html, the menus seem adequate. -->
<ul class="menu">
<li><a accesskey="1" href="http://gmplib.org/manual-4.3.2/Copying.html#Copying">Copying</a>: GMP Copying Conditions (LGPL).
<li><a accesskey="2" href="http://gmplib.org/manual-4.3.2/Introduction-to-GMP.html#Introduction-to-GMP">Introduction to GMP</a>: Brief introduction to GNU MP.
<li><a accesskey="3" href="http://gmplib.org/manual-4.3.2/Installing-GMP.html#Installing-GMP">Installing GMP</a>: How to configure and compile the GMP library.
<li><a accesskey="4" href="http://gmplib.org/manual-4.3.2/GMP-Basics.html#GMP-Basics">GMP Basics</a>: What every GMP user should know.
<li><a accesskey="5" href="http://gmplib.org/manual-4.3.2/Reporting-Bugs.html#Reporting-Bugs">Reporting Bugs</a>: How to usefully report bugs.
<li><a accesskey="6" href="http://gmplib.org/manual-4.3.2/Integer-Functions.html#Integer-Functions">Integer Functions</a>: Functions for arithmetic on signed integers.
<li><a accesskey="7" href="http://gmplib.org/manual-4.3.2/Rational-Number-Functions.html#Rational-Number-Functions">Rational Number Functions</a>: Functions for arithmetic on rational numbers.
<li><a accesskey="8" href="http://gmplib.org/manual-4.3.2/Floating_002dpoint-Functions.html#Floating_002dpoint-Functions">Floating-point Functions</a>: Functions for arithmetic on floats.
<li><a accesskey="9" href="http://gmplib.org/manual-4.3.2/Low_002dlevel-Functions.html#Low_002dlevel-Functions">Low-level Functions</a>: Fast functions for natural numbers.
<li><a href="http://gmplib.org/manual-4.3.2/Random-Number-Functions.html#Random-Number-Functions">Random Number Functions</a>: Functions for generating random numbers.
<li><a href="http://gmplib.org/manual-4.3.2/Formatted-Output.html#Formatted-Output">Formatted Output</a>: <code>printf</code> style output.
<li><a href="http://gmplib.org/manual-4.3.2/Formatted-Input.html#Formatted-Input">Formatted Input</a>: <code>scanf</code> style input.
<li><a href="http://gmplib.org/manual-4.3.2/C_002b_002b-Class-Interface.html#C_002b_002b-Class-Interface">C++ Class Interface</a>: Class wrappers around GMP types.
<li><a href="http://gmplib.org/manual-4.3.2/BSD-Compatible-Functions.html#BSD-Compatible-Functions">BSD Compatible Functions</a>: All functions found in BSD MP.
<li><a href="http://gmplib.org/manual-4.3.2/Custom-Allocation.html#Custom-Allocation">Custom Allocation</a>: How to customize the internal allocation.
<li><a href="http://gmplib.org/manual-4.3.2/Language-Bindings.html#Language-Bindings">Language Bindings</a>: Using GMP from other languages.
<li><a href="http://gmplib.org/manual-4.3.2/Algorithms.html#Algorithms">Algorithms</a>: What happens behind the scenes.
<li><a href="http://gmplib.org/manual-4.3.2/Internals.html#Internals">Internals</a>: How values are represented behind the scenes.
<li><a href="http://gmplib.org/manual-4.3.2/Contributors.html#Contributors">Contributors</a>: Who brings you this library?
<li><a href="http://gmplib.org/manual-4.3.2/References.html#References">References</a>: Some useful papers and books to read.
<li><a href="http://gmplib.org/manual-4.3.2/GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">GNU Free Documentation License</a>
<li><a href="http://gmplib.org/manual-4.3.2/Concept-Index.html#Concept-Index">Concept Index</a>
<li><a href="http://gmplib.org/manual-4.3.2/Function-Index.html#Function-Index">Function Index</a>
</ul>
<!-- @m{T,N} is $T$ in tex or @math{N} otherwise. This is an easy way to give -->
<!-- different forms for math in tex and info. Commas in N or T don't work, -->
<!-- but @C{} can be used instead. \, works in info but not in tex. -->
<!-- @ms{V,N} is $V_N$ in tex or just vn otherwise. This suits simple -->
<!-- subscripts like @ms{x,0}. -->
<!-- @nicode{S} is plain S in info, or @code{S} elsewhere. This can be used -->
<!-- when the quotes that @code{} gives in info aren't wanted, but the -->
<!-- fontification in tex or html is wanted. Doesn't work as @nicode{'\\0'} -->
<!-- though (gives two backslashes in tex). -->
<!-- @nisamp{S} is plain S in info, or @samp{S} elsewhere. This can be used -->
<!-- when the quotes that @samp{} gives in info aren't wanted, but the -->
<!-- fontification in tex or html is wanted. -->
<!-- Usage: @GMPtimes{} -->
<!-- Give either \times or the word "times". -->
<!-- Usage: @GMPmultiply{} -->
<!-- Give * in info, or nothing in tex. -->
<!-- Usage: @GMPabs{x} -->
<!-- Give either |x| in tex, or abs(x) in info or html. -->
<!-- Usage: @GMPfloor{x} -->
<!-- Give either \lfloor x\rfloor in tex, or floor(x) in info or html. -->
<!-- Usage: @GMPceil{x} -->
<!-- Give either \lceil x\rceil in tex, or ceil(x) in info or html. -->
<!-- Math operators already available in tex, made available in info too. -->
<!-- For example @bmod{} can be used in both tex and info. -->
<!-- New math operators. -->
<!-- @abs{} can be used in both tex and info, or just \abs in tex. -->
<!-- @cross{} is a \times symbol in tex, or an "x" in info. In tex it works -->
<!-- inside or outside $ $. -->
<!-- @times{} made available as a "*" in info and html (already works in tex). -->
<!-- Usage: @W{text} -->
<!-- Like @w{} but working in math mode too. -->
<!-- Usage: \GMPdisplay{text} -->
<!-- Put the given text in an @display style indent, but without turning off -->
<!-- paragraph reflow etc. -->
<!-- Usage: \GMPhat -->
<!-- A new \hat that will work in math mode, unlike the texinfo redefined -->
<!-- version. -->
<!-- Usage: \GMPraise{text} -->
<!-- For use in a $ $ math expression as an alternative to "^". This is good -->
<!-- for @code{} in an exponent, since there seems to be no superscript font -->
<!-- for that. -->
<!-- Usage: @texlinebreak{} -->
<!-- A line break as per @*, but only in tex. -->
<!-- Usage: @maybepagebreak -->
<!-- Allow tex to insert a page break, if it feels the urge. -->
<!-- Normally blocks of @deftypefun/funx are kept together, which can lead to -->
<!-- some poor page break positioning if it's a big block, like the sets of -->
<!-- division functions etc. -->
<!-- Usage: @GMPreftop{info,title} -->
<!-- Usage: @GMPpxreftop{info,title} -->
<!-- Like @ref{} and @pxref{}, but designed for a reference to the top of a -->
<!-- document, not a particular section. The TeX output for plain @ref insists -->
<!-- on printing a particular section, GMPreftop gives just the title. -->
<!-- The texinfo manual recommends putting a likely section name in references -->
<!-- like this, eg. "Introduction", but it seems better to just give the title. -->
</body></html>