diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/_int.rs | 17 |
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; |