public static object Power(BigInteger/*!*/ self, int exponent) { // BigInteger doesn't handle negative exponents. if (exponent < 0) { return Power(self, (double)exponent); } return Protocols.Normalize(self.Power(exponent)); }