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
|
// METHODS values
|
||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
|
|
||||||
pub fn min<T>(x: T, y: T) -> T
|
#[macro_export]
|
||||||
where T: PartialOrd
|
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
|
// METHODS Vectors
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
|
|
||||||
use ads2::core::utils;
|
use ads2::core::utils;
|
||||||
|
use ads2::value_min;
|
||||||
|
|
||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
// Test regex
|
// Test regex
|
||||||
@ -21,11 +22,11 @@ fn test_regex() {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_min() {
|
fn test_min() {
|
||||||
assert_eq!(utils::min("beth", "alef"), "alef");
|
assert_eq!(value_min!("beth", "alef"), "alef");
|
||||||
assert_eq!(utils::min("alef", "beth"), "alef");
|
assert_eq!(value_min!("alef", "beth"), "alef");
|
||||||
assert_eq!(utils::min("alef", "ale"), "ale");
|
assert_eq!(value_min!("alef", "ale"), "ale");
|
||||||
assert_eq!(utils::min(320, 24), 24);
|
assert_eq!(value_min!(320, 24), 24);
|
||||||
assert_eq!(utils::min(0.03, 0.2), 0.03);
|
assert_eq!(value_min!(0.03, 0.2), 0.03);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------
|
// ----------------------------------------------------------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user