いけがみです。'**' 演算子はあったほうが嬉しい派。
児玉さんの poly-ruby とか原さんの algebra は ** 演算子を上手に使ってます。

> modulo のある pow って?

powermod(a, b, n) = a ** b (mod n)
のことだと思います。(違ったらすみません)

例: 
  powermod(3, 2, 4) = 3 ** 2       (mod 4) 
                    = 9            (mod 4)
                    => 1
  powermod(3, 3, 4) = 3 ** 3       (mod 4)
                    = 3 * (3 ** 2) (mod 4)
                    = 3 * 9        (mod 4)
                    = 3 * 1        (mod 4)
                    => 3

a ** b を計算した「後」で modulo をとるのではなく、
a ** b の計算の途中で膨らむ度に(再帰的に) 
modulo を取るほうが計算が早いです。
(計算の途中に必要とするメモリも少なくてすみます)
--
池上 大介
Daisuke IKEGAMI <daisu-ik / is.aist-nara.ac.jp>
奈良先端科学技術大学院大学 情報科学研究科
情報処理学専攻 情報基礎学講座 関研究室