余剰

計算結果がおかしいと思ったら、余剰で変なことになってた。簡単な例として、「5.0を1.5で割った余り」っていうのを示すと、JavaScriptの場合

js> 5.0 % 1.5
0.5

なんだけど、Perlだと

> perl -le "print 5.0 % 1.5"
0

なのですね。このせいで変な結果になってました。とりあえずは

> perl -MMath::BigFloat -le "print Math::BigFloat->new('5.0')->bmod('1.5')"
0.5

これで回避。まあ、スクリプトの中では必要な範囲だけのブロックを作って、中でuse bignum;してるので、実際にこう書いてるわけじゃないけど。