Skip to content
This repository was archived by the owner on Feb 17, 2025. It is now read-only.

Upgrade malachite to 0.5.0 #11

Merged
merged 1 commit into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "malachite-bigint"
version = "0.2.3"
version = "0.5.0"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is unnecessary though

authors = ["Steve Shi <[email protected]>"]
edition = "2021"
license = "LGPL-3.0-only"
Expand All @@ -9,7 +9,7 @@ repository = "https://github.com/RustPython/malachite-bigint"
rust-version = "1.74.0"

[dependencies]
malachite = "0.4.22"
malachite = { version = "0.5.0", git = "https://github.com/mhogrefe/malachite.git" }
num-traits = { version = "0.2.19", default-features = false, features = ["i128"] }
num-integer = { version = "0.1.46", default-features = false, features = ["i128"] }
derive_more = { version = "1.0.0", features = ["display", "from", "into"] }
Expand Down
20 changes: 11 additions & 9 deletions src/bigint.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
use derive_more::{Binary, Display, From, Into, LowerHex, Octal, UpperHex};
use malachite::{
num::{
arithmetic::traits::{
Abs, DivRem, DivRound, DivisibleBy, FloorRoot, Mod, Parity, UnsignedAbs,
base::{
num::{
arithmetic::traits::{
Abs, DivRem, DivRound, DivisibleBy, FloorRoot, Mod, Parity, UnsignedAbs,
},
conversion::traits::{RoundingInto, ToStringBase},
logic::traits::BitAccess,
},
conversion::traits::{RoundingInto, ToStringBase},
logic::traits::BitAccess,
rounding_modes::RoundingMode,
},
rounding_modes::RoundingMode,
Integer,
};
use num_integer::Roots;
Expand Down Expand Up @@ -208,7 +210,7 @@ impl From<BigUint> for BigInt {
impl Zero for BigInt {
#[inline]
fn zero() -> Self {
Self(<Integer as malachite::num::basic::traits::Zero>::ZERO)
Self(<Integer as malachite::base::num::basic::traits::Zero>::ZERO)
}

#[inline]
Expand All @@ -220,7 +222,7 @@ impl Zero for BigInt {
impl One for BigInt {
#[inline]
fn one() -> Self {
Self(<Integer as malachite::num::basic::traits::One>::ONE)
Self(<Integer as malachite::base::num::basic::traits::One>::ONE)
}
}

Expand Down Expand Up @@ -514,7 +516,7 @@ impl BigInt {

#[inline]
pub fn sign(&self) -> Sign {
match <_ as malachite::num::arithmetic::traits::Sign>::sign(&self.0) {
match <_ as malachite::base::num::arithmetic::traits::Sign>::sign(&self.0) {
Ordering::Less => Minus,
Ordering::Equal => NoSign,
Ordering::Greater => Plus,
Expand Down
20 changes: 12 additions & 8 deletions src/biguint.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
use derive_more::{Binary, Display, From, Into, LowerHex, Octal, UpperHex};
use malachite::{
num::{
arithmetic::traits::{
DivRem, DivRound, DivisibleBy, FloorRoot, Gcd, Lcm, Mod, ModPow, Parity,
base::{
num::{
arithmetic::traits::{
DivRem, DivRound, DivisibleBy, FloorRoot, Gcd, Lcm, Mod, ModPow, Parity,
},
conversion::traits::{
Digits, FromStringBase, PowerOf2Digits, RoundingInto, ToStringBase,
},
logic::traits::{BitAccess, BitIterable, CountOnes, SignificantBits},
},
conversion::traits::{Digits, FromStringBase, PowerOf2Digits, RoundingInto, ToStringBase},
logic::traits::{BitAccess, BitIterable, CountOnes, SignificantBits},
rounding_modes::RoundingMode,
},
rounding_modes::RoundingMode,
Natural,
};
use num_integer::Roots;
Expand Down Expand Up @@ -179,7 +183,7 @@ impl FromPrimitive for BigUint {
impl Zero for BigUint {
#[inline]
fn zero() -> Self {
Self(<Natural as malachite::num::basic::traits::Zero>::ZERO)
Self(<Natural as malachite::base::num::basic::traits::Zero>::ZERO)
}

#[inline]
Expand All @@ -191,7 +195,7 @@ impl Zero for BigUint {
impl One for BigUint {
#[inline]
fn one() -> Self {
Self(<Natural as malachite::num::basic::traits::One>::ONE)
Self(<Natural as malachite::base::num::basic::traits::One>::ONE)
}
}

Expand Down
34 changes: 19 additions & 15 deletions src/macros.rs
Original file line number Diff line number Diff line change
Expand Up @@ -274,25 +274,26 @@ macro_rules! forward_assign_primitive_into {
macro_rules! forward_pow_primitive {
($lhs:ty, $rhs:ty) => {
impl_binary_op!($lhs, $rhs, $lhs, Pow, pow, |lhs: $lhs, rhs: $rhs| {
<_ as malachite::num::arithmetic::traits::Pow<u64>>::pow(lhs.0, rhs as _).into()
<_ as malachite::base::num::arithmetic::traits::Pow<u64>>::pow(lhs.0, rhs as _).into()
});
impl_binary_op!(&$lhs, $rhs, $lhs, Pow, pow, |lhs: &$lhs, rhs: $rhs| {
<_ as malachite::num::arithmetic::traits::Pow<u64>>::pow(&lhs.0, rhs as _).into()
<_ as malachite::base::num::arithmetic::traits::Pow<u64>>::pow(&lhs.0, rhs as _).into()
});
impl_binary_op!($lhs, &$rhs, $lhs, Pow, pow, |lhs: $lhs, rhs: &$rhs| {
<_ as malachite::num::arithmetic::traits::Pow<u64>>::pow(lhs.0, *rhs as _).into()
<_ as malachite::base::num::arithmetic::traits::Pow<u64>>::pow(lhs.0, *rhs as _).into()
});
impl_binary_op!(&$lhs, &$rhs, $lhs, Pow, pow, |lhs: &$lhs, rhs: &$rhs| {
<_ as malachite::num::arithmetic::traits::Pow<u64>>::pow(&lhs.0, *rhs as _).into()
<_ as malachite::base::num::arithmetic::traits::Pow<u64>>::pow(&lhs.0, *rhs as _).into()
});
};
}

macro_rules! forward_pow_biguint {
($lhs:ty) => {
impl_binary_op!($lhs, BigUint, $lhs, Pow, pow, |lhs: $lhs, rhs: BigUint| {
let exp = malachite::num::conversion::traits::SaturatingFrom::saturating_from(&rhs.0);
<_ as malachite::num::arithmetic::traits::Pow<u64>>::pow(lhs.0, exp).into()
let exp =
malachite::base::num::conversion::traits::SaturatingFrom::saturating_from(&rhs.0);
<_ as malachite::base::num::arithmetic::traits::Pow<u64>>::pow(lhs.0, exp).into()
});
impl_binary_op!(
&$lhs,
Expand All @@ -301,9 +302,10 @@ macro_rules! forward_pow_biguint {
Pow,
pow,
|lhs: &$lhs, rhs: BigUint| {
let exp =
malachite::num::conversion::traits::SaturatingFrom::saturating_from(&rhs.0);
<_ as malachite::num::arithmetic::traits::Pow<u64>>::pow(&lhs.0, exp).into()
let exp = malachite::base::num::conversion::traits::SaturatingFrom::saturating_from(
&rhs.0,
);
<_ as malachite::base::num::arithmetic::traits::Pow<u64>>::pow(&lhs.0, exp).into()
}
);
impl_binary_op!(
Expand All @@ -313,9 +315,10 @@ macro_rules! forward_pow_biguint {
Pow,
pow,
|lhs: $lhs, rhs: &BigUint| {
let exp =
malachite::num::conversion::traits::SaturatingFrom::saturating_from(&rhs.0);
<_ as malachite::num::arithmetic::traits::Pow<u64>>::pow(lhs.0, exp).into()
let exp = malachite::base::num::conversion::traits::SaturatingFrom::saturating_from(
&rhs.0,
);
<_ as malachite::base::num::arithmetic::traits::Pow<u64>>::pow(lhs.0, exp).into()
}
);
impl_binary_op!(
Expand All @@ -325,9 +328,10 @@ macro_rules! forward_pow_biguint {
Pow,
pow,
|lhs: &$lhs, rhs: &BigUint| {
let exp =
malachite::num::conversion::traits::SaturatingFrom::saturating_from(&rhs.0);
<_ as malachite::num::arithmetic::traits::Pow<u64>>::pow(&lhs.0, exp).into()
let exp = malachite::base::num::conversion::traits::SaturatingFrom::saturating_from(
&rhs.0,
);
<_ as malachite::base::num::arithmetic::traits::Pow<u64>>::pow(&lhs.0, exp).into()
}
);
};
Expand Down