s用システムもMライブラリへ移行。これで今回の作業はおしまい。
s用システムもMライブラリへ移行。これで今回の作業はおしまい。
#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内の状態を取り出して保存するのがちょっと難しい。
kuiは仕様書をちゃんと書かなきゃダメだな。自分でも複雑なレイアウト規則や各種プロパティ名等を忘れかけている。
sas5のMライブラリ移行はほぼ完了。あとは利用先を修正しないと。
さて、次の一手をどうするか、それが難しい。
朝起きたらかなり気分が悪かった。
深夜まで仕事。
あー、もう耐えられない。何に耐えられないって、VS2005のEmacsキーマップスキームですよ。もう全然思うようにコピーペースト(というかキルリング操作)できない。M-wでコピーしたと思っていてもコピーできていなかったり、範囲外までコピーされてしまったり、ペーストすると一つ前にコピーした内容が貼り付けられ、もう一度ペースト(というかyank)すると直前にコピーした物に直ったり。症状が起きる状況に微妙に法則性があるのだけど、詳しくはよく分からない。
なので設定をXKeymacs用に作り直します。
と、キー設定をいじっていたらまたもや誤訳を発見。ReverseIncrementalSearch→×インクリメンタル検索を元に戻す→○逆方向のインクリメンタル検索。勘弁してくれ。
というわけで、VC6スキームをベースにC-s、C-r、C-mを設定、XKeymacs側のこれらのキーをOFFにして使ってみた。うわーーーー、すげーー快適。一発でコピーできるよ。自分で思っていたよりずっと負担になっていたようだ。
boostにcapacityが固定な文字列やコンテナが採用されないかなぁ。fixed_stringとか、policy based vectorとか、話はあるみたいなんだけど。とりあえず要素の初期化がいい加減な奴を自分で書いておくけどさ。
アプリケーション設定を読み書きするクラスをMライブラリ用に作成。インタフェースはファイルでもレジストリでも大丈夫なようにした。こういう小物系がなかなか分類出来なくて最後に残ってしまう。
むー、部分部分のところは多少出来てきたけど、それらを全体としてどうまとめてあげていくか……。いや、部分も色々足りないのだけれど。
22時過ぎ帰宅。帰ってから下線や取消線の処理を少し書く。つーか、この機能今まで使った事あるの? いや、いままでまともに機能していなかったからしかたないけどさ。まあ、とりあえず最低限使えるレベルのものは入れないと気が済まないので。