This is mpir.info, produced by makeinfo version 4.13 from mpir.texi. This manual describes how to install and use MPIR, the Multiple Precision Integers and Rationals library, version 1.2.0. Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. Copyright 2008 William Hart Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 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 * mpir: (mpir). MPIR Multiple Precision Integers and Rationals Library. END-INFO-DIR-ENTRY  Indirect: mpir.info-1: 990 mpir.info-2: 300292  Tag Table: (Indirect) Node: Top990 Node: Copying3235 Node: Introduction to MPIR5080 Node: Installing MPIR7501 Node: Build Options8637 Node: ABI and ISA24945 Node: Notes for Package Builds34372 Node: Notes for Particular Systems37490 Node: Known Build Problems44244 Node: Performance optimization47794 Node: MPIR Basics48929 Node: Headers and Libraries49583 Node: Nomenclature and Types51038 Node: Function Classes52749 Node: Variable Conventions54287 Node: Parameter Conventions55816 Node: Memory Management57880 Node: Reentrancy59012 Node: Useful Macros and Constants60449 Node: Compatibility with older versions61795 Node: Demonstration Programs62638 Node: Efficiency64509 Node: Debugging72139 Node: Profiling78708 Node: Autoconf82742 Node: Emacs84616 Node: Reporting Bugs85225 Node: Integer Functions87792 Node: Initializing Integers88571 Node: Assigning Integers90243 Node: Simultaneous Integer Init & Assign91831 Node: Converting Integers93458 Node: Integer Arithmetic96111 Node: Integer Division97714 Node: Integer Exponentiation104143 Node: Integer Roots105005 Node: Number Theoretic Functions106680 Node: Integer Comparisons113411 Node: Integer Logic and Bit Fiddling114790 Node: I/O of Integers117404 Node: Integer Random Numbers120019 Node: Integer Import and Export121795 Node: Miscellaneous Integer Functions125800 Node: Integer Special Functions127661 Node: Rational Number Functions130746 Node: Initializing Rationals131941 Node: Rational Conversions134187 Node: Rational Arithmetic135919 Node: Comparing Rationals137256 Node: Applying Integer Functions138624 Node: I/O of Rationals140108 Node: Floating-point Functions141971 Node: Initializing Floats144859 Node: Assigning Floats148557 Node: Simultaneous Float Init & Assign151125 Node: Converting Floats152655 Node: Float Arithmetic155616 Node: Float Comparison157662 Node: I/O of Floats159014 Node: Miscellaneous Float Functions161340 Node: Low-level Functions163241 Node: Random Number Functions183680 Node: Random State Initialization184750 Node: Random State Seeding186813 Node: Random State Miscellaneous188203 Node: Formatted Output188845 Node: Formatted Output Strings189091 Node: Formatted Output Functions194331 Node: C++ Formatted Output198408 Node: Formatted Input201095 Node: Formatted Input Strings201332 Node: Formatted Input Functions205994 Node: C++ Formatted Input208967 Node: C++ Class Interface210875 Node: C++ Interface General211880 Node: C++ Interface Integers214963 Node: C++ Interface Rationals218397 Node: C++ Interface Floats222076 Node: C++ Interface Random Numbers227371 Node: C++ Interface Limitations229501 Node: BSD Compatible Functions232347 Node: Custom Allocation232565 Node: Language Bindings236757 Node: Algorithms240773 Node: Multiplication Algorithms241478 Node: Basecase Multiplication242413 Node: Karatsuba Multiplication244325 Node: Toom 3-Way Multiplication247955 Node: FFT Multiplication254364 Node: Other Multiplication259702 Node: Division Algorithms262188 Node: Single Limb Division262536 Node: Basecase Division265456 Node: Divide and Conquer Division266660 Node: Exact Division268898 Node: Exact Remainder272066 Node: Small Quotient Division274359 Node: Greatest Common Divisor Algorithms275958 Node: Binary GCD276232 Node: Accelerated GCD278911 Node: Extended GCD280710 Node: Jacobi Symbol282381 Node: Powering Algorithms283298 Node: Normal Powering Algorithm283562 Node: Modular Powering Algorithm284091 Node: Root Extraction Algorithms285155 Node: Square Root Algorithm285471 Node: Nth Root Algorithm287614 Node: Perfect Square Algorithm288400 Node: Perfect Power Algorithm290487 Node: Radix Conversion Algorithms291109 Node: Binary to Radix291486 Node: Radix to Binary295417 Node: Other Algorithms297349 Node: Prime Testing Algorithm297703 Node: Factorial Algorithm298888 Node: Binomial Coefficients Algorithm300292 Node: Fibonacci Numbers Algorithm301187 Node: Lucas Numbers Algorithm303663 Node: Random Number Algorithms304385 Node: Assembler Coding306509 Node: Assembler Code Organisation307486 Node: Assembler Basics308459 Node: Assembler Carry Propagation309618 Node: Assembler Cache Handling311456 Node: Assembler Functional Units313624 Node: Assembler Floating Point315245 Node: Assembler SIMD Instructions319028 Node: Assembler Software Pipelining320017 Node: Assembler Loop Unrolling321085 Node: Assembler Writing Guide323305 Node: Internals326075 Node: Integer Internals326589 Node: Rational Internals328846 Node: Float Internals330086 Node: Raw Output Internals337414 Node: C++ Interface Internals338609 Node: Contributors341908 Node: References346842 Node: GNU Free Documentation License351898 Node: Concept Index374345 Node: Function Index420343  End Tag Table