ruby-trunk-changes r47833 - r47848

今日は標準添付ライブラリ matrix の機能追加や、mkmf でのアセンブラ対応などがありました。

marcandre: r47833 2014-10-08 04:29:53 +0900

標準添付ライブラリ matrix に Vector.basis メソッドを新規追加しています。日本語だと基底ベクトルかな? [1, 0, 0], [0, 1, 0], [0, 0, 1] のように、各次元の単位ベクトルを作成します。 [ruby-core:63858] [Feature #10072]

svn: r47834 2014-10-08 04:30:06 +0900

version.h の日付更新。

marcandre: r47835 2014-10-08 04:30:48 +0900

標準添付ライブラリ matrix に Matrix#laplace_expansion (alias で cofactor_expansion) を追加しています。 行列のラプラス展開を返すメソッドです。 式は Wikipedia でも見ましょう。 http://en.wikipedia.org/wiki/Laplace_expansion [ruby-core:63859] [Feature #10073]

odaira: r47836 2014-10-08 04:33:48 +0900

ruby の --encoding オプションのテストで Windows 環境では LANG=C しても結果に影響しないためテスト結果を変更していたのですが、AIX でも LANG=C の時のエンコーディングが ISO-8859-1 (Latin-1) になるためにテストに使っていた文字列が許容されるので、テスト結果をエラーが起こらないほうに分類しています。

odaira: r47837 2014-10-08 04:40:13 +0900

Process.setsid のテストで AIX ではセッションの異なるプロセスで getsid(2) できないので(OpenBSD と同様)テストをスキップしています。

normal: r47838 2014-10-08 05:00:09 +0900

標準添付ライブラリ timeout で定義されている例外 Timeout::Error には別名として TimeoutError という定数に代入されているのですが、テストや標準添付ライブラリ、rdoc 用のコメントなどで TimeoutError と記述されていたところを正式なクラス名である Timeout::Error に修正しています。 [ruby-core:65481] [misc #10339]

marcandre: r47839 2014-10-08 05:16:55 +0900

NEWS ファイルの matrix についての項目を標準添付ライブラリについての位置に移動しています。

marcandre: r47840 2014-10-08 05:18:35 +0900

標準添付ライブラリ matrix に Vector と Matrix の単項演算子メソッドの + と - を追加しています。 [ruby-core:63847] [Feature #10068] [ruby-core:63850] [Feature #10069]

normal: r47841 2014-10-08 05:25:07 +0900

r47826 の Etc.systmpdir の実装で Mac OS X 向けの confstr() を利用する変更で Mac OS X 以外の時に strlen の初期化が間違っていたのを修正しています。ま、当然 Apple のパッチだから OS X 以外でテストされてませんよね、という……。

naruse: r47842 2014-10-08 07:48:06 +0900

標準添付ライブラリ uriURI#inspect の結果に object_id は含めないように変更しています。

nobu: r47843 2014-10-08 10:38:32 +0900

標準添付ライブラリ mkmf.rb で拡張子 .S のアセンブラで書かれたコードをコンパイルするルールを吐くようにしているようにみえます。マジか。

hsbt: r47844 2014-10-08 16:36:52 +0900

文法のテストでメソッド定義の仮引数に "_" を使うケースのチェックを追加しています。 [ruby-core:65496] [Feature #10340]

nobu: r47845 2014-10-08 17:23:26 +0900

r47844 の ChangeLog エントリの名前とメールアドレスが空になっていたのを修正しています。

nobu: r47846 2014-10-08 17:27:51 +0900

定数の可視性のチェックを行うマクロ RB_CONST_PRIVATE_P() を定義して、直接 CONST_PUBLIC, CONST_PRIVATE と比較していたところをこれを利用するように修正しています。

nobu: r47847 2014-10-08 17:27:54 +0900

Module#constants や Module#class_variables などで定数やクラス変数のテーブルを走査して st_table に格納するところで st_lookup()+st_insert() を使っていたところを st_update() を使って効率化しています。

suke: r47848 2014-10-08 21:44:54 +0900

拡張ライブラリ win32ole の WIN32OLE_VARIABLE も struct RTypedStruct を利用した実装に切り替えています。