今日は bignum.c のリファクタリング、Hash#flatten の引数チェックの修正などがありました。
akr:r42084 2013-07-20 22:32:11 +0900
Bignum の乗算に利用しているアルゴリズムのひとつ Toom3 のコメントで係数の数をひとつまちがえていた(?)コメントを修正しています。
zzak:r42085 2013-07-20 22:34:34 +0900
doc/regexp.rdoc のサンプルコード内の誤ったエスケープを消しています。 https://github.com/ruby/ruby/pull/365
zzak:r42086 2013-07-20 22:41:02 +0900
sample/ ディレクトリ内のスクリプトのインデントの修正。 https://github.com/ruby/ruby/pull/364
zzak:r42087 2013-07-20 22:46:34 +0900
make help で表示するメッセージ内の test-all に特定のテストスクリプトだけ実行する方法(TESTS 変数で引数が指定できる)を示唆するようにしています。 惜しい、TEST じゃなくて TESTS なんです。 https://github.com/ruby/ruby/pull/363
eregon:r42091 2013-07-21 01:08:49 +0900
と、思ったら r42087 での環境変数名の間違いを修正(TEST -> TESTS)してくれています。
svn:r42092 2013-07-21 01:08:54 +0900
version.h の日付更新。
naruse:r42093 2013-07-21 05:44:49 +0900
Hash#flatten での引数の変換を FIX2INT() から NUM2INT() に変更しています。
しかしちょっと中をみてみると FIX2INT() も rb_fix2int() で Fixnum でなかった時は rb_num2long() で変換しようとするんですね……と思いきやこれは sizeof(int) < sizeof(long) の時で、同じ時はチェックなしでシフト演算するだけですね。これはややこしい……。
ktsj:r42094 2013-07-21 08:14:48 +0900
Proc#to_s でスクリプトファイル名の文字列オブジェクトから RSTRING_PTR() でポインタを取り出していたのを rb_sprintf() の指示子に PRIsVALUE(%i) を利用することで文字列オブジェクトのまま渡すようにしています。
akr:r42095 2013-07-21 10:01:26 +0900
bignum.c で VALUE 型で Bignum を受け取る bigmul1_toom3() を BDIGIT の配列を受け取る bary_mul_toom3() に変更して、呼び元での不要な一時オブジェクトの生成を減らしています。