#include // PRE: e >= 0 || b != 0.0 // POST: return value is b^e double pow (double b, int e) { assert (e >= 0 || b != 0.0); double result = 1.0; if (e < 0) { // b^e = (1/b)^(-e) b = 1.0/b; e = -e; } for (int i=0; i