Expand description

Implementations of PartialOrdAbs (a trait for comparing the absolute values of numbers by order) for Naturals and primitive integers.

partial_cmp_abs

extern crate malachite_base;

use malachite_base::num::arithmetic::traits::Pow;
use malachite_base::num::comparison::traits::PartialOrdAbs;
use malachite_nz::natural::Natural;

assert!(Natural::from(122u32).lt_abs(&123u64));
assert!(Natural::from(122u32).le_abs(&123u64));
assert!(Natural::from(123u32).lt_abs(&124u64));
assert!(Natural::from(123u32).le_abs(&124u64));
assert!(Natural::from(10u32).pow(12).gt_abs(&123u64));
assert!(Natural::from(10u32).pow(12).ge_abs(&123u64));

assert!(Natural::from(122u32).lt_abs(&-123i64));
assert!(Natural::from(122u32).le_abs(&-123i64));
assert!(Natural::from(124u32).gt_abs(&-123i64));
assert!(Natural::from(124u32).ge_abs(&-123i64));
assert!(Natural::from(10u32).pow(12).gt_abs(&123i64));
assert!(Natural::from(10u32).pow(12).ge_abs(&123i64));

assert!(123u64.gt_abs(&Natural::from(122u32)));
assert!(123u64.ge_abs(&Natural::from(122u32)));
assert!(124u64.gt_abs(&Natural::from(123u32)));
assert!(124u64.ge_abs(&Natural::from(123u32)));
assert!(123u64.lt_abs(&Natural::from(10u32).pow(12)));
assert!(123u64.le_abs(&Natural::from(10u32).pow(12)));

assert!((-123i64).gt_abs(&Natural::from(122u32)));
assert!((-123i64).ge_abs(&Natural::from(122u32)));
assert!((-123i64).lt_abs(&Natural::from(124u32)));
assert!((-123i64).le_abs(&Natural::from(124u32)));
assert!(123i64.lt_abs(&Natural::from(10u32).pow(12)));
assert!(123i64.le_abs(&Natural::from(10u32).pow(12)));