ipow
ipow(long val, int exp)
double ipow(double x, int n) /* x**n. ought to be done by pow, but isn't always */