This is gmp.info, produced by makeinfo version 6.6 from gmp.texi. This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.2.0. Copyright 1991, 1993-2016, 2018 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being "A GNU Manual", and with the Back-Cover Texts being "You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in *note GNU Free Documentation License::. INFO-DIR-SECTION GNU libraries START-INFO-DIR-ENTRY * gmp: (gmp). GNU Multiple Precision Arithmetic Library. END-INFO-DIR-ENTRY  Indirect: gmp.info-1: 858 gmp.info-2: 303730  Tag Table: (Indirect) Node: Top858 Node: Copying2931 Node: Introduction to GMP5278 Node: Installing GMP7994 Node: Build Options8726 Node: ABI and ISA24435 Node: Notes for Package Builds34276 Node: Notes for Particular Systems37363 Node: Known Build Problems45114 Node: Performance optimization48646 Node: GMP Basics49775 Node: Headers and Libraries50423 Node: Nomenclature and Types51828 Node: Function Classes53824 Node: Variable Conventions55359 Node: Parameter Conventions57599 Node: Memory Management59406 Node: Reentrancy60534 Node: Useful Macros and Constants62402 Node: Compatibility with older versions63393 Node: Demonstration Programs64303 Node: Efficiency66162 Node: Debugging73776 Node: Profiling80551 Node: Autoconf84542 Node: Emacs86323 Node: Reporting Bugs86929 Node: Integer Functions89555 Node: Initializing Integers90331 Node: Assigning Integers92707 Node: Simultaneous Integer Init & Assign94318 Node: Converting Integers95965 Node: Integer Arithmetic98905 Node: Integer Division100641 Node: Integer Exponentiation107400 Node: Integer Roots108897 Node: Number Theoretic Functions110614 Node: Integer Comparisons118109 Node: Integer Logic and Bit Fiddling119547 Node: I/O of Integers122187 Node: Integer Random Numbers125178 Node: Integer Import and Export127801 Node: Miscellaneous Integer Functions131817 Node: Integer Special Functions133731 Node: Rational Number Functions137904 Node: Initializing Rationals139097 Node: Rational Conversions141570 Node: Rational Arithmetic143592 Node: Comparing Rationals145004 Node: Applying Integer Functions146475 Node: I/O of Rationals147994 Node: Floating-point Functions150353 Node: Initializing Floats153398 Node: Assigning Floats157490 Node: Simultaneous Float Init & Assign160078 Node: Converting Floats161628 Node: Float Arithmetic164893 Node: Float Comparison167046 Node: I/O of Floats168617 Node: Miscellaneous Float Functions171306 Node: Low-level Functions173308 Node: Random Number Functions207556 Node: Random State Initialization208624 Node: Random State Seeding211489 Node: Random State Miscellaneous212894 Node: Formatted Output213536 Node: Formatted Output Strings213781 Node: Formatted Output Functions219176 Node: C++ Formatted Output223240 Node: Formatted Input225940 Node: Formatted Input Strings226176 Node: Formatted Input Functions230836 Node: C++ Formatted Input233805 Node: C++ Class Interface235708 Node: C++ Interface General236659 Node: C++ Interface Integers239728 Node: C++ Interface Rationals243961 Node: C++ Interface Floats247985 Node: C++ Interface Random Numbers254002 Node: C++ Interface Limitations256402 Node: Custom Allocation259977 Node: Language Bindings264196 Node: Algorithms267509 Node: Multiplication Algorithms268209 Node: Basecase Multiplication269298 Node: Karatsuba Multiplication271206 Node: Toom 3-Way Multiplication274830 Node: Toom 4-Way Multiplication281249 Node: Higher degree Toom'n'half282628 Node: FFT Multiplication283920 Node: Other Multiplication289256 Node: Unbalanced Multiplication291730 Node: Division Algorithms292518 Node: Single Limb Division292897 Node: Basecase Division295785 Node: Divide and Conquer Division296988 Node: Block-Wise Barrett Division299056 Node: Exact Division299708 Node: Exact Remainder303730 Node: Small Quotient Division305980 Node: Greatest Common Divisor Algorithms307578 Node: Binary GCD307875 Node: Lehmer's Algorithm310725 Node: Subquadratic GCD312955 Node: Extended GCD315424 Node: Jacobi Symbol316742 Node: Powering Algorithms318651 Node: Normal Powering Algorithm318914 Node: Modular Powering Algorithm319442 Node: Root Extraction Algorithms320224 Node: Square Root Algorithm320539 Node: Nth Root Algorithm322680 Node: Perfect Square Algorithm323465 Node: Perfect Power Algorithm325552 Node: Radix Conversion Algorithms326173 Node: Binary to Radix326549 Node: Radix to Binary330170 Node: Other Algorithms332258 Node: Prime Testing Algorithm332610 Node: Factorial Algorithm333794 Node: Binomial Coefficients Algorithm336194 Node: Fibonacci Numbers Algorithm337088 Node: Lucas Numbers Algorithm339562 Node: Random Number Algorithms340283 Node: Assembly Coding342403 Node: Assembly Code Organisation343363 Node: Assembly Basics344330 Node: Assembly Carry Propagation345480 Node: Assembly Cache Handling347310 Node: Assembly Functional Units349471 Node: Assembly Floating Point351084 Node: Assembly SIMD Instructions354863 Node: Assembly Software Pipelining355845 Node: Assembly Loop Unrolling356908 Node: Assembly Writing Guide359123 Node: Internals361888 Node: Integer Internals362400 Node: Rational Internals364864 Node: Float Internals366102 Node: Raw Output Internals373502 Node: C++ Interface Internals374696 Node: Contributors378017 Node: References384248 Node: GNU Free Documentation License390167 Node: Concept Index415309 Node: Function Index463123  End Tag Table  Local Variables: coding: iso-8859-1 End: