2009-04-01から1ヶ月間の記事一覧

GMP で Bignum を高速化するパッチ

Ruby の Bignum は自力で多倍長整数演算を行っていますが、あまり速くないです。そこで、GMP を使うようにするパッチを書いてみました。GMP (The GNU MP Bignum Library) は gcc なんかも使ってるらしい多倍長整数ライブラリ *1 で、そこそこチューニングさ…

Re: "どちらでもいい"

C

ref: http://www.kmonos.net/wlog/96.html#_2319090427 C 言語ならすでに書けますよね。100 年後の C コンパイラならきっと最適化してくれる。 void toss(int x, int y) { } int head(int *p) { *p = 1; return 0; } int tail(int *p) { *p = 0; return 0; }…

東北本線尾久支線徒歩

赤羽駅に移動して、そこから尾久駅・日暮里駅経由で上野駅まで歩きました。15 時から 18 時まで。線路の距離で 9.8 km 、歩きの距離で 10.7 km 。この路線はいわゆる宇都宮線・高崎線の一部ですが、正式な名前は東北本線尾久支線でいいのかな?よくわかりま…

日暮里・舎人ライナー徒歩

土曜日は雨だったので、日曜日に舎人ライナーを歩きました。11 時から 14 時前まで。線路の距離で 9.7 km 、歩きの距離で 10.3 km 。舎人ライナー開業だいたい一周年だったみたいです。 日暮里駅から一本道をひたすらまっすぐ北上するだけ。隅田川と荒川を渡…

Ruby の例外クラスは分類が粗すぎる or 細かすぎる

と思いません? def foo(x) end foo(1, 2) #=> wrong number of arguments (2 for 1) (ArgumentError) 1.step(10, 0) { } #=> step can't be 0 (ArgumentError) a = []; a << a a.flatten #=> tried to flatten recursive array (ArgumentError) 確かにどれ…

川越線徒歩

毎週土曜日は歩く日。先週は川越線を歩きました。高麗川駅から川越駅を通って大宮駅まで。7 時半から 17 時前まで。歩きの距離で 37.2 km 、線路の距離で 30.6 km 。高麗川駅は八高線と川越線の分岐点で、要所そうなわりにはしょぼかった。事実上一体化して…

回文や XML にマッチする鬼車の正規表現

ref: 鬼車 正規表現 Version 5.9.1 ref: Ruby Freaks Lounge: 第6回 Ruby M17N 事始め:正規表現編 \g と \k について今までちゃんとわかってなかったけれど、少しわかったような気になったのでメモ。Ruby というより鬼車の話なので、PHP でも使えるかもしれ…

BASIC 風 DSL (嘘)

Rubyでは行番号がどうやっても無理で Scala DSLによるBASIC実装 - Greenbear Diary (2009-04-07) 全くその通りで悔しいので、せめていんちきを。 # coding: UTF-8 require "basic" basic do 10 PRINT "Hello world!" 20 END end 以下ソース。 class << Objec…

都電荒川線徒歩

土曜日に、都電荒川線を歩きました。早稲田駅から三ノ輪橋駅まで。8 時過ぎから 13 時半過ぎまで。線路の距離で 12.2 km 、歩きの距離で 16.7 km 。 都電荒川線はもともと見どころ多数ですが、この日はちょうどいろいろなイベントが重なりました。 桜がほぼ…

アンダースコアだけで Ruby プログラムを書くライブラリ _

を作りました。github にアップロード済み。ref: http://github.com/mame/_/tree/master インストール 自己責任で。 $ gem install mame-_ --source=http://gems.github.com/ サンプル Hello, world! プログラム *1 。 require "_" ____ _ _____ ____ __ ___…