use num_traits::ops::euclid::CheckedEuclid;
use num_traits::Euclid;
use crate::UUID;
impl Euclid for UUID {
#[inline]
fn div_euclid(&self, v: &Self) -> Self {
Self::from_u128(self.to_u128().div_euclid(v.to_u128()))
}
#[inline]
fn rem_euclid(&self, v: &Self) -> Self {
Self::from_u128(self.to_u128().rem_euclid(v.to_u128()))
}
}
impl CheckedEuclid for UUID {
#[inline]
fn checked_div_euclid(&self, v: &Self) -> Option<Self> {
self.to_u128()
.checked_div_euclid(v.to_u128())
.map(Self::from_u128)
}
#[inline]
fn checked_rem_euclid(&self, v: &Self) -> Option<Self> {
self.to_u128()
.checked_rem_euclid(v.to_u128())
.map(Self::from_u128)
}
}