]> git.lizzy.rs Git - rust.git/commitdiff
libcore: Add binop functions to u32 and u64
authorErick Tryzelaar <erick.tryzelaar@gmail.com>
Tue, 27 Dec 2011 02:15:17 +0000 (18:15 -0800)
committerErick Tryzelaar <erick.tryzelaar@gmail.com>
Fri, 6 Jan 2012 15:47:13 +0000 (07:47 -0800)
src/libcore/u32.rs
src/libcore/u64.rs

index f33b8414a4d2eee46ac188d5fb90414fefc3f4d3..569d59b981aeffe7969a022e018fda4c5e0ad3ae 100644 (file)
 */
 const max_value: u32 = 0xffff_ffffu32;
 
+/* Function: add */
+pure fn add(x: u32, y: u32) -> u32 { ret x + y; }
+
+/* Function: sub */
+pure fn sub(x: u32, y: u32) -> u32 { ret x - y; }
+
+/* Function: mul */
+pure fn mul(x: u32, y: u32) -> u32 { ret x * y; }
+
+/* Function: div */
+pure fn div(x: u32, y: u32) -> u32 { ret x / y; }
+
+/* Function: rem */
+pure fn rem(x: u32, y: u32) -> u32 { ret x % y; }
+
+/* Predicate: lt */
+pure fn lt(x: u32, y: u32) -> bool { ret x < y; }
+
+/* Predicate: le */
+pure fn le(x: u32, y: u32) -> bool { ret x <= y; }
+
+/* Predicate: eq */
+pure fn eq(x: u32, y: u32) -> bool { ret x == y; }
+
+/* Predicate: ne */
+pure fn ne(x: u32, y: u32) -> bool { ret x != y; }
+
+/* Predicate: ge */
+pure fn ge(x: u32, y: u32) -> bool { ret x >= y; }
+
+/* Predicate: gt */
+pure fn gt(x: u32, y: u32) -> bool { ret x > y; }
+
+/*
+Function: range
+
+Iterate over the range [`lo`..`hi`)
+*/
+fn range(lo: u32, hi: u32, it: block(u32)) {
+    let i = lo;
+    while i < hi { it(i); i += 1u32; }
+}
+
 //
 // Local Variables:
 // mode: rust
index a7cd9af35bc884c1287021f7333aa9db8aff1bf4..bce99f02b87feb2deba74eafccaeec0888ecef9d 100644 (file)
 */
 const max_value: u64 = 18446744073709551615u64;
 
+/* Function: add */
+pure fn add(x: u64, y: u64) -> u64 { ret x + y; }
+
+/* Function: sub */
+pure fn sub(x: u64, y: u64) -> u64 { ret x - y; }
+
+/* Function: mul */
+pure fn mul(x: u64, y: u64) -> u64 { ret x * y; }
+
+/* Function: div */
+pure fn div(x: u64, y: u64) -> u64 { ret x / y; }
+
+/* Function: rem */
+pure fn rem(x: u64, y: u64) -> u64 { ret x % y; }
+
+/* Predicate: lt */
+pure fn lt(x: u64, y: u64) -> bool { ret x < y; }
+
+/* Predicate: le */
+pure fn le(x: u64, y: u64) -> bool { ret x <= y; }
+
+/* Predicate: eq */
+pure fn eq(x: u64, y: u64) -> bool { ret x == y; }
+
+/* Predicate: ne */
+pure fn ne(x: u64, y: u64) -> bool { ret x != y; }
+
+/* Predicate: ge */
+pure fn ge(x: u64, y: u64) -> bool { ret x >= y; }
+
+/* Predicate: gt */
+pure fn gt(x: u64, y: u64) -> bool { ret x > y; }
+
+/*
+Function: range
+
+Iterate over the range [`lo`..`hi`)
+*/
+fn range(lo: u64, hi: u64, it: block(u64)) {
+    let i = lo;
+    while i < hi { it(i); i += 1u64; }
+}
+
 /*
 Function: to_str