Skip to content

Releases: mhogrefe/malachite

v0.4.13

13 Jun 00:35
Compare
Choose a tag to compare
  • Another performance improvement from florian1345, this time for multiplication.
  • Some more documentation inconsistencies fixed, caught by Yichi Zhang.

v0.4.12

04 Jun 20:44
Compare
Choose a tag to compare
  • Thanks to florian1345 for some addition and subtraction optimizations that significantly improve performance on a Windows target.

v0.4.11

02 Jun 23:01
Compare
Choose a tag to compare
  • Updated PyO3 conversion code to use the new PyO3 v0.21 API (by Antonio Mamić).
  • Fixed some documentation inconsistencies (thanks to Yichi Zhang for noticing these).

v0.4.10

31 May 04:57
Compare
Choose a tag to compare

Fixes a PyO3 dependency issue. Incorporates feedback from some new Clippy lints. Adds AbsDiff and AbsDiffAssign implementations for Natural.

v0.4.9

22 May 00:33
Compare
Choose a tag to compare

This release makes the pyo3-build-config dependency optional. Thanks to Ihor Ranchynskyi for surfacing this issue and
Antonio Mamić for fixing it.

v0.4.8

20 May 18:59
Compare
Choose a tag to compare

This is a fairly minor release. I've made significant progress on Float multiplication and squaring, but that work isn't included here. Here's what is:

  • Shl, ShlAssign, Shr, and ShrAssign implementations for Floats
  • PyO3 integration by Antonio Mamić
  • some more EqAbs implementations
  • I've written a doctest formatter and runner, which made doctests nicer and also cut build-and-test time in half

v0.4.7

12 Apr 01:54
Compare
Choose a tag to compare

Added more copyright notices, including giving credit to individual authors of GMP, FLINT, and MPFR whenever their code was translated for inclusion into Malachite.

v0.4.6

04 Apr 17:19
Compare
Choose a tag to compare

Implemented Float addition and subtraction. The code is derived from MPFR and is highly optimized (which is one reason it took so long). The is functionality for providing a rounding mode, an output precision, or both. The defaults are RoundingMode::Nearest and the maximum precision of the inputs. There are also implementations for adding and subtracting a Float and a Rational; any numeric type apart from Rational can be losslessly converted to Float, so there are no implementations for e.g. Float + Natural, though in principle such an implementation could still be worthwhile since it would save some memory usage.

Next up: Float multiplication, squaring, and bit shifting (that is, multiplication and division by powers of 2).

v0.4.5

12 Feb 17:44
Compare
Choose a tag to compare

Various minor improvements.

  • Malachite is now no_std, unless the random, test_build, or bin_build features are enabled. Thanks to shekohex for initiating this work!
  • As suggested by amamic1803, a twos_complement_limb_count method has been added to Integer.
  • As pointed out by amamic1803, the malachite meta-crate did not have a 32_bit_limbs feature to propagate to its sub-crates. Now it does, along with a random feature.
  • I wrote a comment auto-formatter, eliminating the time I spend manually formatting comments. The newly-formatted comments account for most of the diff.
  • Integer now implements CheckedDiv. Natural now implements PartialOrdAbs for primitive floats. I added some tests for the AbsDiff trait in malachite-base in preparation for implementing it for Natural, Integer, and Rational.
  • The random Float generators were producing floats whose exponents were off by 1. That has been fixed.

Most of my work in the last few months has been implementing addition and subtraction for Floats. This is a lot less trivial than it sounds, because I'm translating MPFR's code, which is very optimized and has many special cases for addition and subtraction. Counterintuitively, implementing more advanced functions will take less time. I'm wrapping up the addition and subtraction work, so that will be released soon.

0.4.4

29 Oct 04:40
Compare
Choose a tag to compare

New release to fix incorrect dependencies.