= MPFI = == Description == MPFI is a library for interval arithmetic, which is built upon the MPFR multiple precision floating-point arithmetic. MPFI is intended to be a portable library written in C for arbitrary precision interval arithmetic with intervals represented using MPFR reliable floating-point numbers. It is based on the GNU MP library and on the MPFR library. The purpose of an arbitrary precision interval arithmetic is on the one hand to get "guaranteed" results, thanks to interval computation, and on the other hand to obtain accurate results, thanks to multiple precision arithmetic. The MPFI library is built upon MPFR in order to benefit from the correct rounding provided, for each operation or function, by MPFR. Further advantages of using MPFR are its portability and compliance with the IEEE 754 standard for floating-point arithmetic. == License == This version of MPFI is released under the GNU Lesser General Public License. It is permitted to link MPFI to non-free programs, as long as when distributing them the MPFI source code and a means to re-link with a modified MPFI is provided. == SPKG Maintainers == * ??? == Upstream Contact == The MPFI website is located at http://mpfi.gforge.inria.fr/ The MPFI team can be contacted via the MPFI mailing list: mpfi-users@lists.gforge.inria.fr == Dependencies == * GMP * MPFR == Changelog == === mpfi-1.5.1 (Jean-Pierre Flori, January 23rd, 2012) === * #12171: Update MPFI to 1.5.1 === mpfi-1.5.0 (Mike Hansen, December 17th, 2011) === * #12171: Update MPFI to 1.5.0 === mpfi-1.3.4-cvs20071125.p9 (Simon King, December 10th, 2011) === * #12131: Use --libdir, to make the package work on openSUSE. === mpfi-1.3.4-cvs20071125.p8 (Jaap Spies, January 26th, 2010) === * Make 64 bit Open Solaris work === mpfi-1.3.4-cvs20071125.p7 (Michael Abshoff, May 18th, 2008) === * add 64 bit OSX build support === mpfi-1.3.4-cvs20071125.p6 (William Stein, May 16, 2008) === * modify configure.ac to work with cygwin. * NOTE: src/ is *not* pristine! I ran autogen.sh after patching configure.ac. === mpfi-1.3.4-cvs20071125.p5 (Michael Abshoff, Jan. 31st, 2008) === * remove binary files from src/tests (#2011) === mpfi-1.3.4-cvs20071125.p4 (Michael Abshoff) === * change configure.ac to detect dylibs on OSX, too. Changed the macros in configure.ac to: # Checks for MPFR lib (Before GMP!) if ` test "$with_mpfr_lib" ` then AC_MSG_CHECKING(MPFR library) if test -r "$with_mpfr_lib/libmpfr.so" then LDADD="$LDADD -L$with_gmp_lib -lmpfr" else if test -r "$with_mpfr_lib/libmpfr.dylib" then LDADD="$LDADD -L$with_gmp_lib -lmpfr" else AC_MSG_ERROR([$with_mpfr_lib/libmpfr.so or libmpfr.dylib not found]) fi fi AC_MSG_RESULT(yes) else AC_CHECK_LIB(mpfr, main, , AC_MSG_ERROR([Library MPFR not found])) fi # Checks for GMP lib if ` test "$with_gmp_lib" ` then AC_MSG_CHECKING(GMP library) if test -r "$with_gmp_lib/libgmp.so" then LDADD="$LDADD -L$with_gmp_lib -lgmp" else if test -r "$with_gmp_lib/libgmp.dylib" then LDADD="$LDADD -L$with_gmp_lib -lgmp" else AC_MSG_ERROR([$with_gmp_lib/libgmp.so or libgmp.dylib not found]) fi fi AC_MSG_RESULT(yes) else AC_CHECK_LIB(gmp, main, , AC_MSG_ERROR([Library GMP not found])) fi === mpfi-1.3.4-cvs20071125.p3 (Michael Abshoff) === * change configure.ac to check and link against a dynamic gmp.so, mpfr.so Clean up the test of the changelog 1. I have changed two functions: First, mpfi_set_str() in mpfi/src/mpfi_io.c. (The original version was very wrong; I fixed off-by-one errors, fixed a buffer overflow, and fixed it so that it could return precise intervals on precisely representable inputs, instead of always making an interval containing two floats.) The original version of the file is at mpfi/src/mpfi_io.c.ORIG Second, mpfi_diam_rel() in mpfi/src/mpfi.c: I changed line 598 from if (!mpfr_cmp_ui(centre,0)) to if (mpfr_cmp_ui(centre,0)) 2. I (=William Stein) changed configure.ac to only build src and not tests or doc, since building tests on some systems fails. Of course, it would be better to fix building of tests. I put the changed version of configure.ac in the patches directory. After changing it, I ran autoreconf --force in the src directory. 3. Carl Witty 2007-11-01 a. Fixed mpfi_ui_sub, by applying a patch posted by Paul Zimmerman to the MPFI bug tracker. b. Fixed the infinite loop in mpfi_cmp_sym_pi() (fixes the infinite loop in mpfi_cos(), reported as MPFI bug# 1868 and Sage issue #389. 4. Carl Witty 2007-11-25 MPFI upstream is alive again! I'm switching to the current upstream CVS version as of today, fetched with: cvs -d :pserver:anonymous@scm.gforge.inria.fr:/cvsroot/mpfi login cvs -d :pserver:anonymous@scm.gforge.inria.fr:/cvsroot/mpfi checkout mpfi mv mpfi src cd src ./autogen.sh This version includes all the patches from the Sage spkg (or equivalent code), and fixes several additional bugs. (So I removed the patches/ directory, and the corresponding lines in spkg-install.) Also, this new version installs both shared and static libraries. 5. Carl Witty 2007-11-29 The previous version did not compile on OSX 10.4 Intel. I think the problem may be with src/autogen.sh, which makes ltmain.sh, config.sub, and config.guess be symlinks instead of files; so we get whatever versions of these files happen to be already installed on the user's computer. So I've replaced these three symlinks with the corresponding files, and we'll see if that fixes the problem. 6. Carl Witty 2007-12-01 The previous version required "autoheader" (part of autoconf). I've copied in a new version of src/missing, and touched src/mpfi_config.h.in; I believe that either of these changes would suffice to fix the problem.