Multiple Precision Integers and Rationals
Assembly C C++ ActionScript C# M4 Other
Latest commit a6ad489 Mar 1, 2017 @wbhart Updated AUTHORS, Changelog.
Permalink
Failed to load latest commit information.
build.vc add latest assembler code to Windows Dec 22, 2016
build.vc11 fix an issue in the msbuild files causing the build to fail in some s… Feb 22, 2017
build.vc12 fix an issue in the msbuild files causing the build to fail in some s… Feb 22, 2017
build.vc14 fix an issue in the msbuild files causing the build to fail in some s… Feb 22, 2017
build.vc15 fix an issue in the msbuild files causing the build to fail in some s… Feb 22, 2017
cxx Untrack autotools generated files. Feb 15, 2017
devel Bump version to 3.0.0. Feb 14, 2017
doc Updated AUTHORS, Changelog. Mar 1, 2017
fft Untrack autotools generated files. Feb 15, 2017
mpf Untrack autotools generated files. Feb 15, 2017
mpir.net MPIR.Net - changed Swap methods to call the native implementations. Jun 9, 2016
mpn Fix 32 bit fat build. Feb 22, 2017
mpq Untrack autotools generated files. Feb 15, 2017
mpz remove duplicated macro in export.c Feb 21, 2017
printf Untrack autotools generated files. Feb 15, 2017
scanf Untrack autotools generated files. Feb 15, 2017
tests Untrack autotools generated files. Feb 15, 2017
tune Untrack autotools generated files. Feb 15, 2017
.appveyor_msys_build.sh Let appveyor test static and shared libs. Feb 15, 2017
.gdbinit Basic GMP files with a new core2 directory and amd_64 directory with … Apr 17, 2008
.gitattributes Line endings Nov 25, 2012
.gitignore remove older builds Feb 16, 2017
.travis.yml Make travis generate autotools stuff. Feb 15, 2017
AUTHORS Updated AUTHORS, Changelog. Mar 1, 2017
COPYING Moved LGPL and GPL v3 into COPYING.LIB and COPYING. Feb 5, 2010
COPYING.LIB Moved LGPL and GPL v3 into COPYING.LIB and COPYING. Feb 5, 2010
ChangeLog Updated AUTHORS, Changelog. Mar 1, 2017
INSTALL Restore MPIR INSTALL file. Feb 15, 2017
INSTALL.autoconf Basic GMP files with a new core2 directory and amd_64 directory with … Apr 17, 2008
Makefile.am Add build.vc to Makefile.am so make dist picks it up. Feb 21, 2017
NEWS Update NEWS. Feb 15, 2017
README Handle stdint detection differently and fix a typo in README (thanks … Mar 28, 2014
acinclude.m4 Added broadwell and fixed fat binary support, and fixed two yasm files. Feb 15, 2017
appveyor.yml Let appveyor test static and shared libs. Feb 15, 2017
assert.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
autogen.sh Add script to run autotools. Feb 15, 2017
cl_int.bat very preliminary msvc command line build Oct 27, 2010
clwrap very preliminary msvc command line build Oct 27, 2010
compat.c merged k8-branch into trunk , autotools , few handbits , windows bits… Feb 19, 2009
config.guess Attempt to fix libtool issue on MSYS. Jun 9, 2015
config.in nsumdiff_n, computes -(a+b), a-b Jan 21, 2017
config.sub Update configfsf.guess, configfsf.sub. Jun 9, 2015
configfsf.guess Another attempt to update configfsf.guess/sub. Jun 9, 2015
configfsf.sub Again, attempt to update configfsf.sub. Jun 9, 2015
configure.ac Added broadwell and fixed fat binary support, and fixed two yasm files. Feb 15, 2017
configure.yasm Discard options when configuring Yasm. Aug 2, 2013
cpuid.c Added another Broadwell. Feb 21, 2017
errno.c Add GMP compatibility defines and gmp_errno to MPIR Mar 12, 2010
extract-dbl.c remove all references to GMP_IEEE_FLOATS , thats the only type we sup… Sep 11, 2011
gmp-h.in Bump version to 3.0.0. Feb 14, 2017
gmp-impl.h Fix missing semicolon and add tuning values for k102. Feb 13, 2017
gpl-2.0.txt Moved LGPL and GPL v2/2.1 from COPYING and COPYING.LIB to separate fi… Feb 5, 2010
invalid.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
lgpl-2.1.txt Moved LGPL and GPL v2/2.1 from COPYING and COPYING.LIB to separate fi… Feb 5, 2010
longlong_post.h change clz_tab array length to 129 to match GMP Aug 1, 2016
longlong_pre.h split longlong into arches , windows and possibly a bit of ifdef wrap… Apr 27, 2011
memory.c Wrong size format specifiers. Jun 16, 2014
mp_bpl.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
mp_clz_tab.c change clz_tab array length to 129 to match GMP Aug 1, 2016
mp_dv_tab.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
mp_get_fns.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
mp_minv_tab.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
mp_set_fns.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
mpirxx.h add gcd and lcm to mpircxx.h Feb 21, 2017
nextprime.c unsigned long -> mpir_ui. Feb 28, 2014
primesieve.c Added t-fac_ui test code and changed gmp.h => mpir.h. Feb 28, 2014
randbui.c Change gmp_ui/gmp_si types to mpir_ui/mpir_si Jan 24, 2012
randclr.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
randdef.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
randiset.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
randlc2s.c Change gmp_ui/gmp_si types to mpir_ui/mpir_si Jan 24, 2012
randlc2x.c Change gmp_ui/gmp_si types to mpir_ui/mpir_si Jan 24, 2012
randmt.c Attempt to fix issue with gmp_randinit_set for _mt. Feb 13, 2017
randmt.h Change gmp_ui/gmp_si types to mpir_ui/mpir_si Jan 24, 2012
randmts.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
randmui.c Change gmp_ui/gmp_si types to mpir_ui/mpir_si Jan 24, 2012
rands.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
randsd.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
randsdui.c Change gmp_ui/gmp_si types to mpir_ui/mpir_si Jan 24, 2012
strip_fPIC.sh Changed eol-style for strip_fPIC.sh Jul 27, 2008
tal-debug.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
tal-notreent.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
tal-reent.c for file in $(find -name \*.c ) ; do sed -e "s/#include \"gmp\.h\"/#i… Feb 12, 2009
version.c remove Windows issue with VERSION definition Apr 10, 2010
yasm_mac.inc.fat Changed eol-style:native on two files. Mar 27, 2009
yasm_mac.inc.nofat Changed eol-style:native on two files. Mar 27, 2009
yasm_macwin.inc.fat Attempt to fix build failure on MinGW. Feb 17, 2017
yasm_macwin.inc.nofat Attempt to fix build failure on MinGW. Feb 17, 2017
ylwrap add ylwrap form boxen.skynet Jun 1, 2010

README

Copyright 1991, 1996, 1999, 2000 Free Software Foundation, Inc.

Copyright 2008, 2009 William Hart

This file is part of the MPIR Library.

The MPIR Library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 3 of the License, or (at your
option) any later version.

The MPIR Library is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
License for more details.

You should have received a copy of the GNU Lesser General Public License
along with the MPIR Library; see the file COPYING.LIB.  If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.






			THE MPIR LIBRARY

MPIR is a fork of the GNU Multi Precision library (GMP -- see http://gmplib.org)

MPIR is a library for arbitrary precision arithmetic, operating on signed
integers, rational numbers, and floating point numbers.  It has a rich set of
functions, and the functions have a regular interface.

MPIR is designed to be as fast as possible, both for small operands and huge
operands.  The speed is achieved by using fullwords as the basic arithmetic
type, by using fast algorithms, with carefully optimized assembly code for the
most common inner loops for lots of CPUs, and by a general emphasis on speed
(instead of simplicity or elegance).

GMP/MPIR is believed to be faster than any other similar library.  Its advantage
increases with operand sizes for certain operations, since MPIR in many
cases has asymptotically faster algorithms.

MPIR is free software and may be freely copied on the terms contained in the
files COPYING.LIB and COPYING (most of MPIR is under the former, some under
the latter).



			OVERVIEW OF MPIR

There are four classes of functions in MPIR.

 1. Signed integer arithmetic functions (mpz).  These functions are intended
    to be easy to use, with their regular interface.  The associated type is
    `mpz_t'.

 2. Rational arithmetic functions (mpq).  For now, just a small set of
    functions necessary for basic rational arithmetics.  The associated type
    is `mpq_t'.

 3. Floating-point arithmetic functions (mpf).  If the C type `double'
    doesn't give enough precision for your application, declare your
    variables as `mpf_t' instead, set the precision to any number desired,
    and call the functions in the mpf class for the arithmetic operations.

 4. Positive-integer, hard-to-use, very low overhead functions are in the
    mpn class.  No memory management is performed.  The caller must ensure
    enough space is available for the results.  The set of functions is not
    regular, nor is the calling interface.  These functions accept input
    arguments in the form of pairs consisting of a pointer to the least
    significant word, and an integral size telling how many limbs (= words)
    the pointer points to.

    Almost all calculations, in the entire package, are made by calling these
    low-level functions.

For more information on how to use MPIR, please refer to the documentation.
It is composed from the file mpir.texi, and can be displayed on the screen or
printed.  How to do that, as well how to build the library, is described in
the INSTALL file in this directory.



			REPORTING BUGS

If you find a bug in the library, please make sure to tell us about it!

You should first check the MPIR web pages at http://www.mpir.org/. There will 
be patches for all known serious bugs there.

Report bugs to our development list: http://groups.google.com/group/mpir-devel.  
What information is needed in a good bug report is described in the manual.  
The same address can be used for suggesting modifications and enhancements.




----------------
Local variables:
mode: text
fill-column: 78
End: