master > master: code-rust - util min durch macro ersetzt
This commit is contained in:
parent
37f05d1ff0
commit
07b214bc24
@ -25,11 +25,22 @@ pub fn construct_regex(pattern: &str) -> Regex {
|
||||
// METHODS values
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
pub fn min<T>(x: T, y: T) -> T
|
||||
where T: PartialOrd
|
||||
#[macro_export]
|
||||
macro_rules! value_min{
|
||||
($value:expr $(,)?)=>{ $value };
|
||||
($value:expr $(, $values:expr)+ $(,)?)=>{
|
||||
{
|
||||
return if y < x { y } else { x };
|
||||
let x = $crate::value_min!($( $values )+);
|
||||
if $value < x {
|
||||
$value
|
||||
} else {
|
||||
x
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
#[allow(unused_imports)]
|
||||
pub(crate) use value_min;
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
// METHODS Vectors
|
||||
|
@ -3,6 +3,7 @@
|
||||
// ----------------------------------------------------------------
|
||||
|
||||
use ads2::core::utils;
|
||||
use ads2::value_min;
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
// Test regex
|
||||
@ -21,11 +22,11 @@ fn test_regex() {
|
||||
|
||||
#[test]
|
||||
fn test_min() {
|
||||
assert_eq!(utils::min("beth", "alef"), "alef");
|
||||
assert_eq!(utils::min("alef", "beth"), "alef");
|
||||
assert_eq!(utils::min("alef", "ale"), "ale");
|
||||
assert_eq!(utils::min(320, 24), 24);
|
||||
assert_eq!(utils::min(0.03, 0.2), 0.03);
|
||||
assert_eq!(value_min!("beth", "alef"), "alef");
|
||||
assert_eq!(value_min!("alef", "beth"), "alef");
|
||||
assert_eq!(value_min!("alef", "ale"), "ale");
|
||||
assert_eq!(value_min!(320, 24), 24);
|
||||
assert_eq!(value_min!(0.03, 0.2), 0.03);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user