Skip to content

Commit 389125a

Browse files
committed
core: add min and max to cmp, re-export various places.
1 parent d06e6e7 commit 389125a

File tree

4 files changed

+13
-10
lines changed

4 files changed

+13
-10
lines changed

src/libcore/cmp.rs

+9
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,12 @@ pub pure fn gt<T: Ord>(v1: &T, v2: &T) -> bool {
8585
(*v1).gt(v2)
8686
}
8787

88+
#[inline(always)]
89+
pub pure fn min<T: Ord>(v1: T, v2: T) -> T {
90+
if v1 < v2 { v1 } else { v2 }
91+
}
92+
93+
#[inline(always)]
94+
pub pure fn max<T: Ord>(v1: T, v2: T) -> T {
95+
if v1 > v2 { v1 } else { v2 }
96+
}

src/libcore/num/f64.rs

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ use to_str;
2121
use from_str;
2222

2323
pub use cmath::c_double_targ_consts::*;
24+
pub use cmp::{min, max};
2425

2526
macro_rules! delegate(
2627
(

src/libcore/num/int-template.rs

+1-5
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,14 @@ use vec;
2424
use i8;
2525
use i16;
2626
use i32;
27+
pub use cmp::{min, max};
2728

2829
pub const bits : uint = inst::bits;
2930
pub const bytes : uint = (inst::bits / 8);
3031

3132
pub const min_value: T = (-1 as T) << (bits - 1);
3233
pub const max_value: T = min_value - 1 as T;
3334

34-
#[inline(always)]
35-
pub pure fn min(x: T, y: T) -> T { if x < y { x } else { y } }
36-
#[inline(always)]
37-
pub pure fn max(x: T, y: T) -> T { if x > y { x } else { y } }
38-
3935
#[inline(always)]
4036
pub pure fn add(x: T, y: T) -> T { x + y }
4137
#[inline(always)]

src/libcore/num/uint-template.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,14 @@ use u8;
2727
use u16;
2828
use u32;
2929

30+
pub use cmp::{min, max};
31+
3032
pub const bits : uint = inst::bits;
3133
pub const bytes : uint = (inst::bits / 8);
3234

3335
pub const min_value: T = 0 as T;
3436
pub const max_value: T = 0 as T - 1 as T;
3537

36-
#[inline(always)]
37-
pub pure fn min(x: T, y: T) -> T { if x < y { x } else { y } }
38-
#[inline(always)]
39-
pub pure fn max(x: T, y: T) -> T { if x > y { x } else { y } }
40-
4138
#[inline(always)]
4239
pub pure fn add(x: T, y: T) -> T { x + y }
4340
#[inline(always)]

0 commit comments

Comments
 (0)