# 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