# HG changeset patch # User alfadur # Date 1603295726 -10800 # Node ID a4558e2be08c0d5cf9c37ea58a76df14b9a867ed # Parent 036263d63b05e954624444d32c5116c2329bce80 add more const qualifiers to maintain a semblance of activity diff -r 036263d63b05 -r a4558e2be08c rust/integral-geometry/src/lib.rs --- a/rust/integral-geometry/src/lib.rs Tue Oct 20 20:09:44 2020 +0200 +++ b/rust/integral-geometry/src/lib.rs Wed Oct 21 18:55:26 2020 +0300 @@ -24,12 +24,12 @@ } #[inline] - pub fn signum(self) -> Self { + pub const fn signum(self) -> Self { Self::new(self.x.signum(), self.y.signum()) } #[inline] - pub fn abs(self) -> Self { + pub const fn abs(self) -> Self { Self::new(self.x.abs(), self.y.abs()) } @@ -136,7 +136,7 @@ } #[inline] - pub fn is_power_of_two(&self) -> bool { + pub const fn is_power_of_two(&self) -> bool { self.width.is_power_of_two() && self.height.is_power_of_two() } @@ -168,7 +168,7 @@ } #[inline] - pub fn contains(&self, other: Self) -> bool { + pub const fn contains(&self, other: Self) -> bool { self.width >= other.width && self.height >= other.height } @@ -219,7 +219,7 @@ impl GridIndex { pub fn new(size: Size) -> Self { - assert!(size.is_power_of_two()); + debug_assert!(size.is_power_of_two()); let shift = Point::new( size.width.trailing_zeros() as i32, size.height.trailing_zeros() as i32, @@ -227,7 +227,7 @@ Self { shift } } - pub fn map(&self, position: Point) -> Point { + pub const fn map(&self, position: Point) -> Point { Point::new(position.x >> self.shift.x, position.y >> self.shift.y) } } @@ -414,12 +414,12 @@ } #[inline] - pub fn x_range(&self) -> RangeInclusive { + pub const fn x_range(&self) -> RangeInclusive { self.left()..=self.right() } #[inline] - pub fn y_range(&self) -> RangeInclusive { + pub const fn y_range(&self) -> RangeInclusive { self.top()..=self.bottom() } @@ -429,7 +429,7 @@ } #[inline] - pub fn contains_inside(&self, point: Point) -> bool { + pub const fn contains_inside(&self, point: Point) -> bool { point.x > self.left() && point.x < self.right() && point.y > self.top() @@ -442,7 +442,7 @@ } #[inline] - pub fn intersects(&self, other: &Rect) -> bool { + pub const fn intersects(&self, other: &Rect) -> bool { self.left() <= other.right() && self.right() >= other.left() && self.top() <= other.bottom() @@ -451,7 +451,7 @@ #[inline] pub fn split_at(&self, point: Point) -> [Rect; 4] { - assert!(self.contains_inside(point)); + debug_assert!(self.contains_inside(point)); [ Self::from_box(self.left(), point.x, self.top(), point.y), Self::from_box(point.x, self.right(), self.top(), point.y),