タグ

ブックマーク / www.kmonos.net (2)

  • letsboost::statechart

    sample サンプルの動作確認バージョン [GCC4.4/1.41.0] [VC9/1.41.0] 「State Map Compiler」という記事の例をBoost.Statechartで書いてみました。 「お金を入れたら一人だけ通過できる門」を実装しましょうというお題で… 門には「通過してOK(Unlocked)」な状態と「通過しちゃだめ(Locked)」の2つの状態があります。 Locked状態でお金を入れる(Coin)とUnlocked状態に移って、逆に、Unlocked状態で人が一人通る(Pass)と、 Locked状態に移ります。Locked状態なのに強行突破するバカ者がいる(Pass)と、Alarmアクションを実行。 Unlocked状態でさらにお金を入れてくれる人がいたら感謝します(Thankyou)。 #include <iostream> #include <boos

    nyanp
    nyanp 2011/01/08
  • d.y.d. 2倍だけじゃない

    10:01 10/07/20 それでも2倍だ 先日のvectorの伸長度合いの記事に関して 当に1.5倍のほうがメモリ効率がよいのか という反応をいただきました。とても興味深い。みんな読みましょう。 自分の理解メモ: 「再利用ができるから嬉しい」等の議論をするなら、 今までに確保したメモリ (1 + r^1 + ... + r^k) のうち、 有効に使えてるメモリ r^{k-1} (バッファ拡大直後) や r^k (次のバッファ拡大直前) の割合で評価してみようじゃないかという。 まず簡単のために再利用をしない場合を考えると、この割合はそれぞれ (r-1)/r^2、 (r-1)/r になります(途中計算略)。 この利用率が最悪になる瞬間 (r-1)/r^2 を最善にしよう、 という一つの指標で考えてみると、式を微分なりなんなりしてみると r = 2 で最大(25%)となることがわかります

    nyanp
    nyanp 2010/07/24
  • 1