use crate::integer::Integer;
use malachite_base::num::comparison::traits::EqAbs;
macro_rules! impl_unsigned {
($t: ident) => {
impl EqAbs<$t> for Integer {
#[inline]
fn eq_abs(&self, other: &$t) -> bool {
self.unsigned_abs_ref() == other
}
}
impl EqAbs<Integer> for $t {
#[inline]
fn eq_abs(&self, other: &Integer) -> bool {
self == other.unsigned_abs_ref()
}
}
};
}
apply_to_unsigneds!(impl_unsigned);
macro_rules! impl_signed {
($t: ident) => {
impl EqAbs<$t> for Integer {
#[inline]
fn eq_abs(&self, other: &$t) -> bool {
*self.unsigned_abs_ref() == other.unsigned_abs()
}
}
impl EqAbs<Integer> for $t {
#[inline]
fn eq_abs(&self, other: &Integer) -> bool {
self.unsigned_abs() == *other.unsigned_abs_ref()
}
}
};
}
apply_to_signeds!(impl_signed);