2008-08-01から1ヶ月間の記事一覧

Shift_JIS(CP932)の重複している文字の列挙

参考: Microsoftコードページ932 - Wikipedia 出力結果: http://www.fujidig.com/misc/sjis-duplication.txt なんか自分の区番号の認識が間違ってたぽい。第二バイトが40-7Eだったら奇数で80-FCだったら偶数と思ってたんだけど。正しくはどうなんだろう 区点…

CStrLineIterator クラス てすとけーすつき

CStrLineIterator クラスを導入して listbox を高速化 - fujidigの雑記 で作った CStrLineIterator クラスをてすとけーすつきで。 CStrLineIterator::next メソッドでバッファサイズが足りないときに -1 を返してるんですけど、次に next を呼んだときにはも…

CStrLineIterator クラスを導入して listbox を高速化

2ch プログラム技術スレ「API ┣━┫HSP上級者専用スレッドvol.0x01┣━┫MCI」 >>525 CStrNote で行頭位置をキャッシュするパッチが投稿されていました。 listbox が高速になっていい感じなんですが、 note 系命令を使ったプログラムは逆に遅くなってしまいます。…

Ruby 1.9 SUPPORT_JOKE の bitblt を試してみる

$ cat bitblt.rb def bitblt c = nil 10000.times { a = [1, 1606, 396, 933960, 3775901511, 1044, 244711859] b = a.map {|i| s = '' while i > 0 i, a = (i-1).divmod(26) s << 97 + a end s.reverse } b[3] += ',' c = b.join(' ') } c end p bitblt $ t…

global 指定されたマクロとモジュールローカルなマクロの名前がかぶったときの挙動

HSP

#define global A 111 #module #define A 222 #deffunc f mes A ; >> 111 return #global mes A ; >> 111 f5 行目の A ではモジュールローカルの方の 222 を優先してほしいなあー。 #uselib "USER32.DLL" #func global MessageBoxA "MessageBoxA" sptr,sptr,…

__include_level__ マクロ

Perl の __FILE__ eq $0 、 Ruby の __FILE__ == $0 、 Python の __name__ == "__main__" みたいなものがほしいなーと思った。 Index: token.cpp =================================================================== --- token.cpp (リビジョン 164) +++…

HSPLet あれこれ

HSP

仮引数へ代入が可能 #runtime "hsplet3" #module #deffunc f int a mes a ; >> 123 a = 456 mes a ; >> 456 return #global f 123 仮引数が静的にふるまう #runtime "hsplet3" #module #deffunc f int a if a >= 5 : return mes "" + b + ", " + a b ++ f a …