pub trait Hull<RHS = Self> {
type Output;
// Required method
fn hull(&self, rhs: &RHS) -> Self::Output;
}Expand description
Calculates a new range covering both ranges.
Required Associated Types§
Required Methods§
Implementations on Foreign Types§
Source§impl Hull<Interval<i8>> for i8
impl Hull<Interval<i8>> for i8
Source§fn hull(&self, other: &Interval<i8>) -> Interval<i8>
fn hull(&self, other: &Interval<i8>) -> Interval<i8>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as i8).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as i8).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as i8).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as i8).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as i8).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<i8>
Source§impl Hull<Interval<i16>> for i16
impl Hull<Interval<i16>> for i16
Source§fn hull(&self, other: &Interval<i16>) -> Interval<i16>
fn hull(&self, other: &Interval<i16>) -> Interval<i16>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as i16).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as i16).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as i16).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as i16).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as i16).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<i16>
Source§impl Hull<Interval<i32>> for i32
impl Hull<Interval<i32>> for i32
Source§fn hull(&self, other: &Interval<i32>) -> Interval<i32>
fn hull(&self, other: &Interval<i32>) -> Interval<i32>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as i32).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as i32).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as i32).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as i32).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as i32).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<i32>
Source§impl Hull<Interval<i64>> for i64
impl Hull<Interval<i64>> for i64
Source§fn hull(&self, other: &Interval<i64>) -> Interval<i64>
fn hull(&self, other: &Interval<i64>) -> Interval<i64>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as i64).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as i64).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as i64).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as i64).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as i64).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<i64>
Source§impl Hull<Interval<isize>> for isize
impl Hull<Interval<isize>> for isize
Source§fn hull(&self, other: &Interval<isize>) -> Interval<isize>
fn hull(&self, other: &Interval<isize>) -> Interval<isize>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as isize).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as isize).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as isize).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as isize).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as isize).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<isize>
Source§impl Hull<Interval<u8>> for u8
impl Hull<Interval<u8>> for u8
Source§fn hull(&self, other: &Interval<u8>) -> Interval<u8>
fn hull(&self, other: &Interval<u8>) -> Interval<u8>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as u8).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as u8).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as u8).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as u8).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as u8).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<u8>
Source§impl Hull<Interval<u16>> for u16
impl Hull<Interval<u16>> for u16
Source§fn hull(&self, other: &Interval<u16>) -> Interval<u16>
fn hull(&self, other: &Interval<u16>) -> Interval<u16>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as u16).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as u16).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as u16).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as u16).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as u16).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<u16>
Source§impl Hull<Interval<u32>> for u32
impl Hull<Interval<u32>> for u32
Source§fn hull(&self, other: &Interval<u32>) -> Interval<u32>
fn hull(&self, other: &Interval<u32>) -> Interval<u32>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as u32).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as u32).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as u32).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as u32).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as u32).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<u32>
Source§impl Hull<Interval<u64>> for u64
impl Hull<Interval<u64>> for u64
Source§fn hull(&self, other: &Interval<u64>) -> Interval<u64>
fn hull(&self, other: &Interval<u64>) -> Interval<u64>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as u64).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as u64).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as u64).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as u64).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as u64).hull(&Interval::empty()), Interval::singleton(5));type Output = Interval<u64>
Source§impl Hull<Interval<usize>> for usize
impl Hull<Interval<usize>> for usize
Source§fn hull(&self, other: &Interval<usize>) -> Interval<usize>
fn hull(&self, other: &Interval<usize>) -> Interval<usize>
Calculates the smallest interval containing an interval and a value.
assert_eq!((3 as usize).hull(&Interval::new(5, 8)), Interval::new(3, 8));
assert_eq!((2 as usize).hull(&Interval::new(1, 3)), Interval::new(1, 3));
assert_eq!((9 as usize).hull(&Interval::new(2, 6)), Interval::new(2, 9));
assert_eq!((4 as usize).hull(&Interval::singleton(4)), Interval::singleton(4));
assert_eq!((5 as usize).hull(&Interval::empty()), Interval::singleton(5));