On Wed, 30 Mar 2016 13:40:05 +0000
Yugui <yugui / yugui.jp> wrote:
> Yuguiです。
> 
> 細かい実装上のコメントはさておき、まずインターフェースについて伺いたい点があります。
> この演算はmodpowと呼ばれることも多いと思いますが、Integer#modpowよりもInteger#powのほうが良い理由は何でしょうか。
> 
> 個人的には、1引数のInteger#pow(n)と異なりnは整数でなければならない点で結構異なるので、別の名前であったほうが良いと思いました。

1引数版とオーバーロードさせているため(Pythonのがそうだったという理由で)、
そのままの名前でも良いかと考えていたのですが、オーバーロードの必然性は無い
ですので、2引数に固定して名前を変えてしまった方が良いかなという気もします。

私の語感ではpowmodなのですが、Javaとか.Netはmodpowなのですね。検索してみると
どちらも多いみたいでした。実装に関してGMPも気になっていたので調べたら、
GMPではpowmでした。

候補としては modpow, mod_pow, powmod, pow_mod, powm ぐらいでしょうか?