Hi Fabien,
Thanks for the review.
If a double is always returned, I'm wondering whether keeping the ipow version makes much sense: In case of double loss of precision, the precision is lost, too bad, and casting back to int won't bring it back.
I've kept it because knowing that both are ints enables not making a lot of checks (done in math.h pow) so it's way faster. In my system it's 2-3ns vs ~40ns. I'm willing to settle for using just pow() if that makes it clearer.
In the doc, I'm not sure that "Numeric" brings anything. "Exponentiation" would be enough.
Done.
Also, in pg I just noticed that POW is a shorthand for POWER. Maybe both should be supported? Or not.
I've never used power instead of pow, but I've added for compatibility shake.
Attached the updated patch.