./devel/gmp, Library for arbitrary precision arithmetic

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


Branch: CURRENT, Version: 6.2.0, Package name: gmp-6.2.0, 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:
[pkgtools/cwrappers]

Package options: gmp-fat

Master sites: (Expand)

SHA1: 5e9341d3807bc7505376f9ed9f5c1c6c57050aa6
RMD160: 9e0c387608c7dd3eb339afcd989ef5037d7cacbd
Filesize: 2395.955 KB

Version history: (Expand)


CVS history: (Expand)


   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

BUGS FIXED
* gmp_snprintf now correctly reports an error (returns -1) when snprintf
  does.
* 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.

FEATURES
* 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.

SPEEDUPS
* Major speedup for AMD Ryzen and Epyc thanks to an extensive set of assembly
  code.
* Major speedup for IBM POWER9 thanks to assembly code making use of new madd
  instruction.
* 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.

MISC
* 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.
   2019-11-03 11:39:32 by Roland Illig | Files touched by this commit (274)
Log message:
devel: align variable assignments

pkglint -Wall -F --only aligned --only indent -r

No manual corrections.
   2017-10-18 13:15:39 by Joerg Sonnenberger | Files touched by this commit (1)
Log message:
Explicitly depend on the extraction tools here as SKIP_DEPENDS doesn't
make the dependency visible. It also helps bulk builds on platforms
without native bzcat.
   2017-08-01 16:59:08 by Thomas Klausner | Files touched by this commit (211)
Log message:
Follow some http -> https redirects.
   2017-07-16 21:06:12 by Maya Rashish | Files touched by this commit (1)
Log message:
Omit low GCC_REQD
   2017-06-15 06:12:32 by SAITOH Masanobu | Files touched by this commit (1)
Log message:
Fix distinfo.
   2017-06-15 06:11:50 by SAITOH Masanobu | Files touched by this commit (3)
Log message:
 Fix PR pkg/51788(fails in configure phase). Use calloc() instead of malloc().
This bug was observed with "ln -s J /etc/malloc.conf"
   2017-04-22 10:23:17 by Jonathan Perkin | Files touched by this commit (1)
Log message:
Remove SunOS too.  Unbreaks build.