Crates.io | checked_clamp |
lib.rs | checked_clamp |
version | 0.1.0 |
source | src |
created_at | 2023-09-14 09:44:41.533422 |
updated_at | 2023-09-14 09:44:41.533422 |
description | Clamp alternative that returns a result instead of panicking |
homepage | https://gitlab.com/ygor.souza/checked_clamp |
repository | https://gitlab.com/ygor.souza/checked_clamp |
max_upload_size | |
id | 972475 |
size | 22,830 |
checked_clamp provides a method that tries to clamp any type implementing PartialOrd between a minimum and a maximum value, returning an error if the value or the limits are invalid.
use checked_clamp::{CheckedClamp, CheckedClampError as E};
assert_eq!(10.0.checked_clamp(0.0, 1.0), Ok(1.0));
assert_eq!(10.0.checked_clamp(1.0, 0.0), Err(E::MinGreaterThanMax));
assert_eq!(f32::NAN.checked_clamp(0.0, 10.0), Err(E::ComparisonFailed));
assert_eq!(0.0.checked_clamp(f32::NAN, 10.0), Err(E::ComparisonFailed));
assert_eq!("ABCD".checked_clamp("AAA", "ZZZ"), Ok("ABCD"));
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as below, without any additional terms or conditions.
Licensed under either of
at your option.