./devel/gmp, Library for arbitrary precision arithmetic

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 6.2.1nb3, Package name: gmp-6.2.1nb3, Maintainer: pkgsrc-users

GNU MP 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.

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

The speed of GNU MP is believed to be faster than any other similar library.
The advantage for GNU MP increases with the operand sizes for certain
operations, since GNU MP in many cases has asymptotically faster algorithms.

Required to build:

Package options: gmp-fat

Master sites: (Expand)

Filesize: 2435.465 KB

Version history: (Expand)

CVS history: (Expand)

   2022-07-21 12:17:21 by Thomas Klausner | Files touched by this commit (1)
Log message:
gmp: add rpath to pkg-config file

   2021-12-23 19:39:30 by Maya Rashish | Files touched by this commit (1)
Log message:
gmp: add missing PKGCONFIG_OVERRIDE for rpath. bump PKGREVISION.
   2021-11-26 13:23:09 by Thomas Klausner | Files touched by this commit (3)
Log message:
gmp: fix CVE-2021-43618 using upstream patch

   2021-10-26 12:20:11 by Nia Alarie | Files touched by this commit (3016)
Log message:
archivers: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

Could not be committed due to merge conflict:

The following distfiles were unfetchable (note: some may be only fetched

./devel/pvs/distinfo pvs-3.2-solaris.tgz
./devel/eclipse/distinfo eclipse-sourceBuild-srcIncluded-3.0.1.zip
   2021-10-07 15:44:44 by Nia Alarie | Files touched by this commit (3017)
Log message:
devel: Remove SHA1 hashes for distfiles
   2020-11-16 14:12:41 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
gmp: update to 6.2.1.

Fix some pkglint while here.

Changes between GMP version 6.2.0 and 6.2.1

  * A possible overflow of type int is avoided for mpz_cmp on huge operands.

  * Overflows are more carefully detected and reported for mpz_pow_ui.

  * A bug in longlong.h for aarch64 sub_ddmmss, not affecting GMP, was healed.

  * mini-gmp: mpz_out_str and mpq_out_str now correctly handle out of
    range bases.

  * C90 compliance.

  * Initial support for Darwin on arm64, and improved portability.

  * Support for more processors.

  * None, except indirectly through recognition of new CPUs.
   2020-09-03 10:58:42 by Patrick Welche | Files touched by this commit (2)
Log message:
gmp,mpfr: Remove CONFIGURE_ARGS flags from builtin.mk as it assumes that
all recursively depending packages can deal with them.
Those packages that need them already add those CONFIGURE_ARGS, at least
pbulk hasn't revealed any issues (thanks jperkin@).
XXX libiconv is in a similar position, so should receive similar
treatment, but at least it only adds the flags if GNU_CONFIGURE=yes
Fixes PR pkg/55487
   2020-01-20 22:25:24 by Adam Ciarcinski | Files touched by this commit (6) | Package updated
Log message:
gmp: updated to 6.2.0

Changes between GMP version 6.1.* and 6.2.0

* gmp_snprintf now correctly reports an error (returns -1) when snprintf
* Conversion to double is now more robust even if the configuration process
  does not recognize the float format.
* mpz_powm could return a not completely normalised value, when the
  exponent was 1 and the base < 0.
* mpf_set_str could create invalid mpf_t variables for input strings with
  many leading zeros.

* New C++ functions factorial, primorial and fibonacci for mpz_class.
* Functions to detect primality now substitute the first 24 Miller-Rabin
  iterations with the BPSW test.
* Mini-GMP: new functions mpz_2fac_ui and mpz_mfac_uiui.
* Mini-GMP: mpz_sizeinbase, mpz_get_str, and mpz_set_str now support bases up
  to 62.
* Mini-GMP: added support for the mpq_t layer.
* MIPS r6 cores are now supported.

* Major speedup for AMD Ryzen and Epyc thanks to an extensive set of assembly
* Major speedup for IBM POWER9 thanks to assembly code making use of new madd
* Speedup for 64-bit ARM CPUs thanks to new/improved assembly code.
* The n-over-k function mpz_bin_ui has been reimplemented for great speedups
  for large operands.
* Speedup for the worst case of mpz_perfect_power_p.
* Speedup for gcd for small and medium size operands.
* Speedup for really huge multiplies thanks to much larger FFT tables.

* Internal representation of the mpz_t variables now supports lazy
  allocation; memory is allocated only when a value is stored.
* Small improvements and better coverage for the test suite.
* The tune/speed program can measure some more functions.
* The low-level function mpn_mul no longer diverts to mpn_sqr, users should
  call mpn_sqr directly when applicable.
* New installed files gmp.pc and gmpxx.pc, for use with pkg-config.