|
|
Subscribe / Log in / New account

GNU MPC 1.0 "Fagus silvatica" released

From:  Andreas Enge <andreas.enge-AT-inria.fr>
To:  mpc-discuss-AT-lists.gforge.inria.fr, gcc-AT-gnu.org, info-gnu-AT-gnu.org
Subject:  Release of GNU MPC 1.0 "Fagus silvatica"
Date:  Sun, 22 Jul 2012 17:38:04 +0200
Message-ID:  <20120722153804.GA4115@debian>
Archive‑link:  Article

We are pleased to announce the release of GNU MPC 1.0 "Fagus silvatica".
GNU MPC is a C library for the arithmetic of complex numbers with
arbitrarily high precision and correct rounding of the result.
"Fagus silvatica" is our first release as a GNU package, and it is
marked by a license change to LGPL version 3 or later for the code,
and GFDL version 1.3 or later (without invariant sections) for the
documentation. Now each line of code is covered by a test.

The new function mpc_log10, and the convenience functions mpc_mul_2si and
mpc_div_2si have been added, and mpc_fma has been optimised to offer
comparable speed to a multiplication followed by an addition (while keeping
the GNU MPC semantics of assuring the correctness of the result to the
last bit). The functions mpc_div and mpc_norm have been rewritten to
return a value indicating the effective rounding direction, as do the
other functions. Several functions have been improved to return a correct,
representable result even in the presence of intermediate over- or
underflows during the sequence of computations.

A few build problems discovered in the 0.9 release have been addressed
in the configuration script. We thank all testers who sent us installation
reports with the release candidate and thus made this release possible.

To download GNU MPC 1.0, please go to
   http://www.multiprecision.org/index.php?prog=mpc&page...
The file mpc-1.0.tar.gz has a SHA1 hash value of
   20af7cc481433c019285a2c1757ac65e244e1e06 ,
and its GnuPG signature is attached to this announcement.

Please let us know of any issues you may encounter on the GNU MPC
mailing list at
   mpc-discuss@lists.gforge.inria.fr .

Happy coding!

Andreas, for the GNU MPC development team
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iF4EABEIAAYFAlAIBKAACgkQ99XJv3ZcYeMSUgD+LlR8d4tprLhlY0ZJXWi+Z7W1
d9S65lUhZlqSWaokQIMA/11HYfiemu/do7QgepPWGl8kg8p/lglPg8HHHSFZ2S/G
=qMfn
-----END PGP SIGNATURE-----



to post comments

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 0:23 UTC (Mon) by pr1268 (guest, #24648) [Link] (12 responses)

arbitrarily high precision and correct rounding of the result

Why do we need another library for complex numbers? Aren't these already supported in GSL and/or GMP? And what about complex.h I found in /usr/include?

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 0:33 UTC (Mon) by josh (subscriber, #17465) [Link] (2 responses)

I don't see any signs of complex number support in GNU MP. The GNU Scientific Library (GSL) does seem to have complex number support; I don't know how it compares to MPC. However, /usr/include/complex.h does not support arbitrary-precision complex numbers, just complex numbers consisting of two floats or doubles.

and Pari/GP

Posted Jul 23, 2012 9:03 UTC (Mon) by rwst (guest, #84121) [Link] (1 responses)

What about libpari? Pari/GP uses GMP for arbitrary integers and floating point arithmetic. And it has its own calculator, gp, for a shell-like environment. It is heavily tested and surely suited for such a task.

and Pari/GP

Posted Jul 23, 2012 18:42 UTC (Mon) by wahern (subscriber, #37304) [Link]

Don't forget that both MPC and MPFR are required to build GCC these days, for constant expression evaluation and for loop optimization (http://gcc.gnu.org/wiki/Graphite-4.8). So, MPC and MPFR are used individually and as dependencies for other modules.

Maybe part of the reason not to use Pari/GP is because it's not organized in a fashion that makes it suitable for all of these different uses.

Also, maybe there's no reason at all. Perhaps it just ended up that one developer used MPC for something, which got used by somebody else, etc. IOW, path dependency.

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 0:36 UTC (Mon) by jreiser (subscriber, #11027) [Link] (7 responses)

GMP supports arbitrary ["multiple"] precision integers only. GSL supports Complex using pairs of hardware floating point (probably IEEE-754), and provides higher-level mathematical functions and algorithms than <complex.h>. MPC supports Complex using pairs of arbitrary-precision floating point. Thus each of GMP, GSL, MPC has a different target domain.

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 0:42 UTC (Mon) by josh (subscriber, #17465) [Link] (6 responses)

Thanks for the detail that GSL only uses hardware floating point rather than arbitrary precision.

One detail, though: GNU MP supports arbitrary precision rationals and floats, not just integers.

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 9:06 UTC (Mon) by rwst (guest, #84121) [Link] (5 responses)

Exactly, and I haven't seen any reason why they couldn't just use libpari.

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 13:09 UTC (Mon) by jengelh (guest, #33263) [Link]

I can imagine a handful of reasons why PARI was left alone (if it was to be chosen *now*; can't say about "back then").
1. MPC is a GNU project.
2. MPC is LGPL3+, PARI is GPL2 (but even that it conveys in an ambiguous fashion).
3. PARI is not autotoolized.
4. PARI's coding style is not GNU (important for the GNU style police!)
5. Something that I have noticed as a distro-level packager: Scientific software often is subpar in code quality, like breaking strict-aliasing and whatnot.

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 15:10 UTC (Mon) by coriordan (guest, #7544) [Link] (2 responses)

I don't think the question of "Why not just choose libpari?" ever even presented itself. PARI and MPC both existed, and the latter got donated to the GNU project and so GNU will use it. What's unusual in that?

This is the first release of MPC as a GNU project, so it was originally written independently of the GNU project, so the motives for it being developed in the first place don't come from GNU.

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 15:56 UTC (Mon) by JohnLenz (guest, #42089) [Link] (1 responses)

I was curious to see how old the projects were, and revision 1 of MPC was January 2003. PARI is a little older at September 1999 but it seems like those early versions of PARI had some wierd non-commercial license. Maybe MPC was started before PARI switched to the GPL? In any case, they are both old projects.

GNU MPC 1.0 "Fagus silvatica" released

Posted Jul 23, 2012 19:27 UTC (Mon) by ballombe (subscriber, #9523) [Link]

PARI/GP first release was in 1986 (before version 1 of the GNU GPL).
The GIT repository start a bit before version 2.0.17 (1999/09/16).
The first release under the GNU GPL was 2.1.0 (2000/11/17).

To cut any speculation: the MPC developers were well-aware of PARI/GP when they decided to write MPC (and conversely, the PARI/GP developers were well-aware of MPC development).

MPC is built on exclusively top of GMP, PARI is not

Posted Jul 23, 2012 16:51 UTC (Mon) by stevenj (guest, #421) [Link]

There is an obvious reason why GNU would adopt MPC rather than PARI: MPC is designed exclusively as an extension of GNU MP and GNU MPFR, whereas PARI has its own multiprecision arithmetic implementation (although it can optionally use GMP). It makes sense for GNU to centralize on a single MP library.

MPC is built on top of GMP

Posted Jul 23, 2012 16:46 UTC (Mon) by stevenj (guest, #421) [Link]

What seems to have been missed in this thread is the fact that MPC is not a competitor for GMP, MPC is built on top of GMP. (See the "Requirements" on the MPC web page.)

"Fagus silvatica"

Posted Jul 25, 2012 4:07 UTC (Wed) by Max.Hyre (subscriber, #1054) [Link]

``Fagus slivatica'' is the beech tree.
(Just thought I'd save Google's servers a sudden spike. :-)


Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds