Replace DivRem trait with num-integer crate

This commit is contained in:
Matthias Schiffer 2023-02-12 23:07:55 +01:00
parent 1049aad03d
commit 96736bd7ed
Signed by: neocturne
GPG key ID: 16EF3F64CB201D9C
4 changed files with 32 additions and 27 deletions

View file

@ -1,6 +1,6 @@
use std::{
fmt::Debug,
ops::{Div, Index, IndexMut, Rem},
ops::{Index, IndexMut},
};
use itertools::iproduct;
@ -113,26 +113,3 @@ impl<T> IndexMut<ChunkCoords> for ChunkArray<T> {
&mut self.0[index.z.0 as usize][index.x.0 as usize]
}
}
/// Calculate division and remainder at the same time
pub trait DivRem<Rhs>
where
Self: Div<Rhs>,
Self: Rem<Rhs>,
{
/// Returns the result of the division and remainder operations
/// with the same inputs
fn div_rem(self, rhs: Rhs) -> (<Self as Div<Rhs>>::Output, <Self as Rem<Rhs>>::Output);
}
impl<Lhs, Rhs> DivRem<Rhs> for Lhs
where
Self: Div<Rhs>,
Self: Rem<Rhs>,
Self: Copy,
Rhs: Copy,
{
fn div_rem(self, rhs: Rhs) -> (<Self as Div<Rhs>>::Output, <Self as Rem<Rhs>>::Output) {
(self / rhs, self % rhs)
}
}