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

ミリ秒単位で現在時刻を取得する関数

BREW にはいくつかの時間を取得するための関数があります。 GETTIMESECONDS() は 1980年1月6日00:00:00 からの秒数を返します。 GETTIMEMS() は 00:00:00 からの時間を取得します。 この2つの関数を組み合わせれば、1980年1月6日00:00:00からの経過時間をミ…

固定小数点数クラスのデバッグ

以前作った固定小数点数クラスですが、これを使ったプログラムを VisualStudio のデバッグ実行で値を見ようとすると、以下のように表示されます。 この数字は内部の変数が保持している数字なのですが、これは 65536 倍された値なので表現している値は 65536 …

2次元アフィン変換の高速転送(3)

2次元アフィン変換の高速転送(1) 2次元アフィン変換の高速転送(2) 穴あきの問題は解決したので、次は速度が遅いという問題について考えてみます。 前回のプログラム 前回のコードは // 逆行列を求める matrix inv(mat); inv.invert(); for (int y = lt.y; y …

2次元アフィン変換の高速転送(2)

2次元アフィン変換の高速転送(1) 前回でアフィン変換を行うための行列クラスを作ったので、今回は実際に転送を行ってみようと思います。 オレオレ用語 転送元と転送先と書くと、パッと見分かりづらいので、それぞれ src, dst と書くことにします。 とりあえ…

2次元アフィン変換の高速転送(1)

最近、BREW でアフィン変換を掛けながら転送する処理を書きました。 2,3回ぐらいに分けてそれを書いていきたいと思います。 固定小数点数 基本的に計算は全部固定小数で行っています。固定小数点数クラス fixed は以前書きました。 固定小数点数クラス - mel…

Boost.Coroutine を組み込み環境向けに移植してみた

ある程度動いてる感じがするので公開してみます。 BREW で人柱になってくれる方を募集中です。 ソースとか いつもの場所に置いときました。 http://melpon.tank.jp/pukiwiki147/index.php?cmd=read&page=Memo%2F%CA%AA%C3%D6%2Fmoost 移植にあたって Boost.C…

N2844 - Fixing a Safety Problem with Rvalue References の翻訳

翻訳してみました。 http://melpon.tank.jp/pukiwiki147/index.php?Memo%2F%CB%DD%CC%F5%2FN2844%20-%20Fixing%20a%20Safety%20Problem%20with%20Rvalue%20References 要約っぽいの 右辺値参照は「型安全オーバーロードの原則」に反しているという話。 templ…

Boost.Optional を組み込み環境向けに移植してみた

アライメント系があまり理解できず、Boost.PP のマクロを展開して貼り付けるだけになってしまいました。 ただまあ、optional クラスはできる限り無駄な処理が出ないように実装したつもりです。 以下のページに置いておきました。 http://melpon.tank.jp/puki…

Boost.Coroutine 移植中

とりあえず boost::coroutines::coroutine は一通り移植できて、こんな感じに使えるようになってきました。 int fib(coroutine<int ()>::self& self) { // 初項 int n = 0; self.yield(n); // 2項 int m = 1; self.yield(m); // 3項以降 while (true) { int v = m + </int>…