Multiple-Precision Floating-Point Rounding [ MPFR ] Library [LSARC/2008/655 FastTrack timeout 10/30/2008]

John Fischer John.Fischer at Sun.COM
Tue Nov 4 10:17:13 PST 2008


All,

At the LSARC meeting this case was +1 by a couple of the
members.  Since the timer has now expired the case is closed
approved.

Thanks,

John

On Thu, 2008-10-23 at 14:06, John Fischer wrote:
> All,
> 
> I am sponsoring this case for Stefan Teleman of the SFW group.  The case
> directory contains this proposal.  I have set the time out for Thursday,
> October 30th, 2008.
> 
> This project proposes to integrate the MPFR (Multi-Precision
> Floating-Point Rounding) library into a Minor release of Solaris.  The
> library is based upon the Stefan's previous case GNU MP.  Unlike GNU MP
> this library does not depend upon the number of bits of the underlying
> architecture.  The interfaces are being declared Uncommitted.
> 
> Thanks,
> 
> John
> 
> John Fischer wrote:
> > Template Version: @(#)sac_nextcase %I% %G% SMI
> > This information is Copyright 2008 Sun Microsystems
> > 1. Introduction
> >     1.1. Project/Component Working Name:
> > 	 Multiple-Precision Floating-Point Rounding [ MPFR ] Library
> >     1.2. Name of Document Author/Supplier:
> > 	 Author:  Stefan Teleman
> >     1.3  Date of This Document:
> > 	23 October, 2008
> > 4. Technical Description
> > Including the Multiple-Precision Floating-Point Rounding [ MPFR ] Library
> > with Solaris
> > 
> > Stefan Teleman <Stefan.Teleman at Sun.COM>
> > October 21, 2008
> > 
> > 1.	Summary and motivation
> > 
> > 	The GNU MPFR Library [0] is described as "[...] a C library for
> > 	multiple-precision floating-point computations with correct
> > 	rounding. [...] MPFR is based on the GNU MP [1] multiple-precision
> > 	library."
> > 
> > 	There are several key differences between MPFR and GNU MP [ MPF ]
> > 	[2]:
> > 
> > 	- The precision of a MPFR variable is the exact number of bits
> > 	used for its mantissa, whereas in MPF, the precision requested
> > 	by the user is a minimum value (MPF generally uses a higher
> > 	precision). With the additional difference below, this implies
> > 	that the MPFR results do not depend on the number of bits
> > 	(16, 32, 64 or more) of the underlying architecture.
> > 
> > 	- As a consequence, MPFR uses a base-2 exponent, whereas in MPF,
> > 	this is a base-232 or base-264 exponent, depending on the limb size.
> > 	For this reason (and other internal ones), the maximum exponent
> > 	range in MPFR is different (and smaller, if the exponent is
> > 	represented by the same type as in MPF).
> > 
> > 	- MPFR provides an additional rounding mode argument to its
> > 	functions; furthermore, it is guaranteed that the result of any
> > 	operation is the nearest possible floating-point value from the
> > 	exact result (considering the input variables as exact values),
> > 	taking into account the precision of the destination variable and
> > 	the rounding mode. MPFR also says whether the rounded result is
> > 	above or below the exact result.
> > 
> > 	- MPFR supports much more functions (in particular transcendental
> > 	functions such as exponentials, logarithms, trigonometric functions
> > 	and so on) and special values: signed zeros, infinities,
> > 	not-a-number (NaN).
> > 
> > 	A detailed paper describing the facilities provided by MPFR is
> > 	available online at: http://hal.inria.fr/inria-00070266. [3]
> > 
> > 	MPFR is a required dependency for GCC [ The GNU Compiler Collection ]
> > 	versions 4.3.0 and above. [4]
> > 
> > 	This Case seeks Micro/Patch Release Binding.
> > 
> > 2.	Technical issues
> > 
> > 	2.1.	Key objects
> > 
> > 	/usr/lib/libmpfr.so.1.1.1
> > 	/usr/lib/libmpfr.so.1 -> libmpfr.so.1.1.1
> > 	/usr/lib/libmpfr.so -> libmpfr.so.1.1.1
> > 
> > 	/usr/lib/${MACH64}/libmpfr.so.1.1.1
> > 	/usr/lib/${MACH64}/libmpfr.so.1 -> libmpfr.so.1.1.1
> > 	/usr/lib/${MACH64}/libmpfr.so -> libmpfr.so.1.1.1
> > 
> > 	/usr/lib/pkgconfig/mpfr.pc
> > 	/usr/lib/${MACH64}/pkgconfig/mpfr.pc
> > 
> > 	/usr/include/mpfr/mpfr.h
> > 	/usr/include/mpfr/mpf2mpfr.h
> > 
> > 	/usr/share/info/mpfr/mpfr.info
> > 	/usr/share/man/man3/mpfr.3
> > 
> > 	This case proposes the integration of MPFR Version 2.3.1.
> > 
> > 	2.2.	Language Bindings
> > 
> > 	The MPFR Library is written in ANSI C. 
> > 
> > 	2.3.	Documentation
> > 
> > 	MPFR provides documentation in GNU texinfo format. UNIX man pages
> > 	are not provided by default. For the purpose of this Integration,
> > 	a generic man page will be provided, in Section 3 of the manual
> > 	[ mpfr.3 ]. This man page will only include pointers to the
> > 	installed documentation.
> > 
> > 3.	Interfaces
> > 
> > 	3.1.	Interface Stability
> > 
> > 	The development and release schedules of MPFR are controlled by
> > 	a group of researchers and developers external to SMI. Although
> > 	MPFR attempts to maintain API and ABI compatibility between
> > 	releases, incompatible breakage between releases may occur.
> > 
> > 	3.2.	Imported Interfaces
> > 
> > 	MPFR imports interfaces from the Standard C Library, the Standard
> > 	Math Library, and the GNU MP [ Bignum ] Library.
> > 
> > 	3.3.	Exported Interfaces
> > 
> > 	NAME				STABILITY	NOTES
> > 
> > 	SUNWgnu-mpfr			Uncommitted	Package Name
> > 
> > 	/usr/lib/libmpfr.so.1.1.1	Uncommitted	Shared Library
> > 	/usr/lib/libmpfr.so.1		Uncommitted	Symbolic Link
> > 	/usr/lib/libmpfr.so		Uncommitted	Symbolic Link
> > 
> > 	/usr/include/mpfr/mpfr.h	Uncommitted	Header file
> > 	/usr/include/mpfr/mpf2mpfr.h	Uncommitted	Header file
> > 
> > 	/usr/lib/${MACH64}/libmpfr.so.1.1.1	Uncommitted	Shared Library
> > 	/usr/lib/${MACH64}/libmpfr.so.1		Uncommitted	Symbolic Link
> > 	/usr/lib/${MACH64}/libmpfr.so		Uncommitted	Symbolic Link
> > 
> > 	/usr/lib/pkgconfig/mpfr.pc	Uncommitted	Pkg-config file
> > 	/usr/lib/${MACH64}/pkgconfig/mpfr.pc	Uncommitted	Pkg-config file
> > 
> > 	/usr/share/info/mpfr/mpfr.info	Uncommitted	Texinfo Page
> > 
> > 	/usr/share/man/man3/mpfr.3	Uncommitted	Manual Page
> > 
> > 4.	References
> > 
> > 	[0]	http://www.mpfr.org/
> > 	[1]	http://gmplib.org/
> > 	[2]	http://www.mpfr.org/faq.html
> > 	[3]	http://hal.inria.fr/inria-00070266
> > 	[4]	http://gcc.gnu.org/
> > 
> > 
> > 6. Resources and Schedule
> >     6.4. Steering Committee requested information
> >    	6.4.1. Consolidation C-team Name:
> > 		SFW
> >     6.5. ARC review type: FastTrack
> >     6.6. ARC Exposure: open
> > 




More information about the opensolaris-arc mailing list