pub trait Clamp<Bound = Self>: Sized {
fn clamped(self, lower: Bound, upper: Bound) -> Self;
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self { ... }
fn clamped01(self) -> Self
where
Bound: Zero + One,
{ ... }
fn clamp01(val: Self) -> Self
where
Bound: Zero + One,
{ ... }
}
A scalar or vector that can be constrained to be between two values (inclusive).
fn clamped(self, lower: Bound, upper: Bound) -> Self
Constrains this value to be between lower
and upper
(inclusive).
This would rather make use of inclusive ranges, but it's an unstable
feature.
Panics if lower
is greater than upper
. Swap the values yourself if necessary.
use vek::ops::Clamp;
assert_eq!(7.clamped(5, 10), 7);
assert_eq!(4.clamped(5, 10), 5);
assert_eq!(5.clamped(5, 10), 5);
assert_eq!(10.clamped(5, 10), 10);
assert_eq!(11.clamped(5, 10), 10);
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self
Alias to clamped
, which doesn't take self
.
Panics if lower
is greater than upper
. Swap the values yourself if necessary.
fn clamped01(self) -> Self where
Bound: Zero + One,
Constrains this value to be between 0 and 1 (inclusive).
fn clamp01(val: Self) -> Self where
Bound: Zero + One,
Alias to clamped01
, which doesn't take self
.
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |
fn clamp(val: Self, lower: Bound, upper: Bound) -> Self | [src] |