aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/_int.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/_int.rs b/src/lib/_int.rs
index ee660f01..ef1b3b66 100644
--- a/src/lib/_int.rs
+++ b/src/lib/_int.rs
@@ -34,6 +34,23 @@ fn to_str(mutable int n, uint radix) -> str
}
}
+fn pow(int base, uint exponent) -> int {
+
+ if (exponent == 0u) {
+ ret 1;
+ } else if (base == 0) {
+ ret 0;
+ } else {
+ auto accum = base;
+ auto count = exponent;
+ while (count > 1u) {
+ accum *= base;
+ count -= 1u;
+ }
+ ret accum;
+ }
+}
+
// Local Variables:
// mode: rust;
// fill-column: 78;