ruby-trunk-changes r56535 - r56542

今日は整数のメソッドまわりの実装のリファクタリングなどがありました。

nobu: r56535 2016-11-01 16:51:55 +0900

bignum.c で FIXNUM_P() と RB_BIGNUM_TYPE_P() をあわせて使っていたところを RB_INTEGER_TYPE_P() を使うようにしています。

nobu: r56536 2016-11-01 21:35:30 +0900

numeric.c のコメントの typo 修正。

nobu: r56537 2016-11-01 21:35:31 +0900

numeric.c のインデント修正、とみせかけて RFLOAT_VALUE() の呼び出しが繰り返されているのをローカル変数に格納した値を参照するようにしています。

nobu: r56538 2016-11-01 21:35:32 +0900

Numeric#zero? で Bignum の 0 (一応表現はできるので C API で作ることはできる。普通は発生しないと思いますが)の時の戻り値が C の真偽値のままだったので Qtrue を返すようにしています。

nobu: r56539 2016-11-01 22:10:14 +0900

Fixnum 版の &, |, ^ などビット演算子の実装で bit_coerce() + rb_funcall() していたところを同じ内容の rb_num_coerce_bit() という関数が既にあったのでその呼び出しにするリファクタリング

nobu: r56540 2016-11-01 22:10:16 +0900

test/ruby/test_integer.rb で to_int や coerce を実装して整数として振る舞うようにしたオブジェクトの挙動についてのテストで MimicInteger, CoercionToInt というクラスを定義して共通化するリファクタリング

svn: r56542 2016-11-02 00:47:55 +0900

version.h の日付更新。