RosettaCodeData/Task/Exponentiation-operator/Ursa/exponentiation-operator.ursa
2016-12-05 23:44:36 +01:00

24 lines
401 B
Text

# these implementations ignore negative exponents
def intpow (int m, int n)
if (< n 1)
return 1
end if
decl int ret
set ret 1
for () (> n 0) (dec n)
set ret (* ret m)
end for
return ret
end intpow
def floatpow (double m, int n)
if (or (< n 1) (and (= m 0) (= n 0)))
return 1
end if
decl int ret
set ret 1
for () (> n 0) (dec n)
set ret (* ret m)
end for
return ret
end floatpow