about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/num/num.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/libcore/num/num.rs b/src/libcore/num/num.rs
index eb722b441c7..9ba53defd6e 100644
--- a/src/libcore/num/num.rs
+++ b/src/libcore/num/num.rs
@@ -39,6 +39,10 @@ pub trait One {
     static pure fn one() -> Self;
 }
 
+pub pure fn abs<T: cmp::Ord Num Zero>(v: T) -> T {
+    if v < Zero::zero() { v.neg() } else { v }
+}
+
 pub trait Round {
     pure fn round(&self, mode: RoundMode) -> Self;