Yearly Archives: 2006

2006-03-14

boost::randomの使い方

#include <boost/random.hpp>
boost::mt19937 rng;

const double angle = boost::uniform_real<double>(0, 2.0*M_PI)(rng); //[rad]
const double speed = boost::uniform_real<double>(0, 4.0)(rng); //[pixel/frame]
const int lifetime = boost::uniform_int<int>(60, 120)(rng); //[frame]
        

rng()で取り出した値をそのまま自分で加工してもOK。

テンプレート引数はuniform_realだとdouble、uniform_intだとintがデフォルトなので省略可能。省略すると初見の人には分かりづらいけど。

rng内の状態を取り出して保存するのがちょっと難しい。

2006-03-08

Visual Studio 2005の使えないEmacsキーバインド

あー、もう耐えられない。何に耐えられないって、VS2005のEmacsキーマップスキームですよ。もう全然思うようにコピーペースト(というかキルリング操作)できない。M-wでコピーしたと思っていてもコピーできていなかったり、範囲外までコピーされてしまったり、ペーストすると一つ前にコピーした内容が貼り付けられ、もう一度ペースト(というかyank)すると直前にコピーした物に直ったり。症状が起きる状況に微妙に法則性があるのだけど、詳しくはよく分からない。

なので設定をXKeymacs用に作り直します。

と、キー設定をいじっていたらまたもや誤訳を発見。ReverseIncrementalSearch→×インクリメンタル検索を元に戻す→○逆方向のインクリメンタル検索。勘弁してくれ。

というわけで、VC6スキームをベースにC-s、C-r、C-mを設定、XKeymacs側のこれらのキーをOFFにして使ってみた。うわーーーー、すげーー快適。一発でコピーできるよ。自分で思っていたよりずっと負担になっていたようだ。

2006-03-07

趣味のプログラム

boostにcapacityが固定な文字列やコンテナが採用されないかなぁ。fixed_stringとか、policy based vectorとか、話はあるみたいなんだけど。とりあえず要素の初期化がいい加減な奴を自分で書いておくけどさ。

アプリケーション設定を読み書きするクラスをMライブラリ用に作成。インタフェースはファイルでもレジストリでも大丈夫なようにした。こういう小物系がなかなか分類出来なくて最後に残ってしまう。

2006-03-07

仕事

むー、部分部分のところは多少出来てきたけど、それらを全体としてどうまとめてあげていくか……。いや、部分も色々足りないのだけれど。

2006-03-06

趣味のプログラム

22時過ぎ帰宅。帰ってから下線や取消線の処理を少し書く。つーか、この機能今まで使った事あるの? いや、いままでまともに機能していなかったからしかたないけどさ。まあ、とりあえず最低限使えるレベルのものは入れないと気が済まないので。