<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Garbage Collection</title><link>http://blogs.wankuma.com/izmktr/</link><description>塵も積もれば山</description><managingEditor>出水 洸太郎</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>出水 洸太郎</dc:creator><title>[C++/CLI]Stringの糸口</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/28/162261.aspx</link><pubDate>Fri, 28 Nov 2008 06:11:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/28/162261.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/162261.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/28/162261.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/162261.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/162261.aspx</trackback:ping><description>&lt;P&gt;意外に、C++/CLIで検索する方がいるようなので、&lt;BR&gt;C++/CLIを始めたときに混乱していたネタを投下します。&lt;/P&gt;
&lt;P&gt;C++/CLIを始めてから、よくわからない印象を持ったのが文字列の扱いです。&lt;BR&gt;ハンドル型なのに実体のような動きをする存在で、不思議に見えました&lt;/P&gt;&lt;PRE class=Cpp name="code"&gt;System::String ^str1 = gcnew System::String("abc");
System::String ^tmpstr = str1;

Console::WriteLine(str1);
Console::WriteLine(tmpstr);

str1 = gcnew System::String(str1 + "def");

Console::WriteLine(str1);
Console::WriteLine(tmpstr);
&lt;/PRE&gt;
&lt;P&gt;初期化はchar*と同じようにできますが、なぜか足し算もできます。&lt;BR&gt;演算子オーバーロードでうまくやっているんでしょうと理解していました。&lt;/P&gt;
&lt;P&gt;そして、いちばん混乱したのがこれ。&lt;/P&gt;&lt;PRE class=Cpp name="code"&gt;System::String ^str1 ="abc";
System::String ^tmpstr = str1;

Console::WriteLine(str1);
Console::WriteLine(tmpstr);

str1 += "def";

Console::WriteLine(str1);
Console::WriteLine(tmpstr);
&lt;/PRE&gt;
&lt;P&gt;もし、char *のように振舞うのであれば、&lt;BR&gt;2回目のWriteLineでは両方とも"abcdef"が出力されないといけませんが、&lt;BR&gt;実際には、str1は"abcdef"、tmpstrは"abc"と出力されます。&lt;/P&gt;
&lt;P&gt;しかし、ハンドル型なので実体を持ち運んでいるわけではないはず。&lt;BR&gt;Stringだけ特殊な扱いを受けている？？&lt;/P&gt;
&lt;P&gt;どうにも解せないときに出会ったキーワードが以下の2つ。&lt;BR&gt;・ボックス化&lt;BR&gt;・String不変&lt;/P&gt;
&lt;P&gt;キーワードにしたがって、上のソースを書きなおしてみます。&lt;/P&gt;&lt;PRE class=Cpp name="code"&gt;System::String ^str1 = gcnew System::String("abc");
System::String ^tmpstr = str1;

Console::WriteLine(str1);
Console::WriteLine(tmpstr);

str1 = gcnew System::String(str1 + "def");

Console::WriteLine(str1);
Console::WriteLine(tmpstr);
&lt;/PRE&gt;
&lt;P&gt;まず最初の変数初期化ですが、ボックス化によりgcnewが付与されます。&lt;BR&gt;ですから、char*のように先頭ポインタだけを指しているわけではありません。&lt;/P&gt;
&lt;P&gt;そして、+=演算子。&lt;BR&gt;これがもう一つのString不変です。&lt;BR&gt;Stringの内容が変化を受ける場合、そのつど新しい領域が確保されます。&lt;BR&gt;ですから、後半のstr1とtmpstrでは指しているアドレスが違うわけでです。&lt;/P&gt;
&lt;P&gt;String不変の観点でSystem::Stringを調べてみると、&lt;BR&gt;ハンドル型の変数を書き換えられない状況では、ReadOnlyになっています。&lt;BR&gt;（たとえば、[]演算子）&lt;/P&gt;
&lt;P&gt;StringはUnicodeを格納するクラスなので、char*やstd::stringとは違い、&lt;BR&gt;固定文字列を持ち運ぶもの、と理解しておくといいでしょう。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/162261.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>あさめしパクパクにゃ～</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/21/161818.aspx</link><pubDate>Fri, 21 Nov 2008 06:38:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/21/161818.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/161818.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/21/161818.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/161818.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/161818.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://ksk.pha22.net/"&gt;検索くん&lt;/A&gt;を導入してみました。&lt;/P&gt;
&lt;P&gt;RSSから見ている人には一度サイトを見てください。&lt;BR&gt;左のところにこんなものが追加されています。&lt;/P&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/kensaku.jpg"&gt; 
&lt;P&gt;要は、YahooやGoogleから飛んできたユーザーがいた場合、&lt;BR&gt;そのキーワードを拾って、順位を表示するプラグインです。&lt;/P&gt;
&lt;P&gt;ちなみに、私のBlogは&lt;A href="http://ksk.pha22.net/rank/?siteurl=http%3A%2F%2Fblogs.wankuma.com%2Fizmktr%2F"&gt;こんな感じ&lt;/A&gt;。&lt;BR&gt;「女装」とか「変態」とかのキーワードで引っかかることもない&lt;BR&gt;非常に健全なBlogとなっているようです。&lt;/P&gt;
&lt;P&gt;Blogの設定変更でRefererが収集されなくなったので、&lt;BR&gt;残念だなーと思っている人には導入してみてはどうでしょうか。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/161818.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>11/15LT大集合お疲れ様会</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/17/161583.aspx</link><pubDate>Mon, 17 Nov 2008 20:56:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/17/161583.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/161583.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/17/161583.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/161583.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/161583.aspx</trackback:ping><description>&lt;P&gt;11/15のライトニングトークお疲れ様でした&lt;BR&gt;さすがに50個連続は疲れますね～。&lt;/P&gt;
&lt;P&gt;私のLTは「共通鍵暗号とRSA」でした。&lt;BR&gt;そこで使った資料を公開します。&lt;BR&gt;&lt;A href="http://izmktr.wankuma.com/200811/20081115LT.zip"&gt;ダウンロード&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;LTで見かけた便利なんじゃない？と思ったソフトを書いておきます。&lt;/P&gt;
&lt;P&gt;zio3さん プロパティ設定に新提案 PropatyMatrix&lt;BR&gt;&lt;A href="http://zio3.net/PropMatrix/"&gt;PropatyMatrix&lt;/A&gt;&lt;BR&gt;VisualStudioのフォームエディタのプロパティを&lt;BR&gt;表形式で編集できるプラグインです。&lt;BR&gt;まじでいいですよ、これは！&lt;/P&gt;
&lt;P&gt;こくぶんまさひろさん C#で遊んでみた&lt;BR&gt;&lt;A href="http://www.midiox.com/"&gt;MIDIYoke&lt;/A&gt;&lt;BR&gt;仮想MIDIデバイスソフトです。&lt;BR&gt;この仮想デバイスにメッセージを投げて&lt;BR&gt;シーケンサー側にMIDIインプットの信号として渡すことで&lt;BR&gt;簡単に連携できるようになるわけですね。&lt;/P&gt;
&lt;P&gt;本当は、ReWireなんか使えるといいのですが、&lt;BR&gt;個人にはライセンス発行してくれないみたいなので&amp;#8230;。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/161583.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>[数学]余りものに福がある</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/15/161447.aspx</link><pubDate>Sat, 15 Nov 2008 00:38:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/15/161447.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/161447.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/15/161447.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/161447.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/161447.aspx</trackback:ping><description>&lt;P&gt;コンピュータで負の数を表そうとすると2の補数表現という方法を良く使います。&lt;BR&gt;たとえば、8bit型の変数に-60という値を入れたいとき、&lt;BR&gt;196という値を代わりに入れて計算します。&lt;/P&gt;
&lt;P&gt;この196という値は256-60という計算で出します。&lt;BR&gt;256は8bitでぎりぎり表せない数値です。&lt;/P&gt;
&lt;P&gt;数学では、合同式というもので表現します。&lt;BR&gt;先ほどの、-60と196を数式にすると以下になります。&lt;/P&gt;
&lt;P&gt;-60 ≡ 196 (mod 256)&lt;/P&gt;
&lt;P&gt;256で割った余りの世界では、-60と196は同じという意味です。&lt;BR&gt;＝ではなく合同を意味する≡を使います。&lt;/P&gt;
&lt;P&gt;-60と196が同じなのか、足し算で検証します。&lt;BR&gt;90-60 ≡ 90＋196 ≡&amp;nbsp;286 ≡&amp;nbsp;256＋30 ≡&amp;nbsp;30 (mod 256)&lt;/P&gt;
&lt;P&gt;合同式の面白い所は、分数を整数で表わすことが出来る点です。&lt;BR&gt;2/3 ≡ 258/3 ≡ 86 (mod 256)&lt;BR&gt;∵ 2 ≡ 258 (mod 256)&lt;/P&gt;
&lt;P&gt;ということで、2/3と86が同じという意味になりました。&lt;BR&gt;ちょっと計算してみましょう&lt;BR&gt;60&amp;#215;(2/3) ≡ 60&amp;#215;86 ≡ 5160 ≡ 256&amp;#215;20＋40 ≡ 40 (mod 256)&lt;BR&gt;2/3の代わりに86を使っても同じ40という答えになりました。&lt;BR&gt;これで256の余りの世界では、2/3と86が同じという事がわかると思います。&lt;/P&gt;
&lt;P&gt;1/3を整数に直すときは、1の代わりに257を入れても割りきれません。&lt;BR&gt;そこで、次の513を入れて171という整数にできます。&lt;BR&gt;1/3 ≡ 513/3 ≡ 171 (mod 256)&lt;/P&gt;
&lt;P&gt;しかし、1/2は整数にすることができません。&lt;BR&gt;1/2 ≡ 257/2 ≡ 513/2 (mod 256)&lt;/P&gt;
&lt;P&gt;このように、必ずしもすべての分数が整数に変換できるわけではありません。&lt;BR&gt;1/2のパターンを見れば、整数に出来る分数と出来ない分数の条件が&lt;BR&gt;おぼろげながらわかる気がしますね。&lt;/P&gt;
&lt;P&gt;さらに、四則演算だけでなく、階乗についても面白い性質があります。&lt;BR&gt;以下の表を見てください。&lt;/P&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/godo.jpg"&gt; 
&lt;P&gt;右は3乗、左は7乗して11で割った余りです。&lt;BR&gt;それぞれ、お互いの逆関数になっていることに気づくでしょうか。&lt;BR&gt;例えば、n=3のとき、3乗すると5です。&lt;BR&gt;そして、5を7乗すると3になっています。&lt;/P&gt;
&lt;P&gt;11の余りの世界では、立法根(3乗根)と7乗した値が同じなのです。&lt;BR&gt;こうやって、n乗根をm乗に変換できるのも合同式の性質です。&lt;/P&gt;
&lt;P&gt;この3と7の値を求めるには、こんな式があります。&lt;BR&gt;a&amp;#215;b ≡ 1 (mod (p - 1))　　但し、pは素数&lt;/P&gt;
&lt;P&gt;今回、a=3, b=7,p=11です。&lt;BR&gt;当てはめてみましょう&lt;BR&gt;3&amp;#215;7 ≡ 21 ≡ 1 (mod 10)&lt;/P&gt;
&lt;P&gt;この式に当てはまれば、別の数でも成り立ちます。&lt;BR&gt;これも分数と同様、すべてのn乗根が変換できるわけではありません。&lt;/P&gt;
&lt;P&gt;このように、合同式にはいろいろ面白い世界があります。&lt;BR&gt;その面白い世界を近いうちに紹介します。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/161447.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>[アルゴリズム]クイックソートの広さ</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/13/161309.aspx</link><pubDate>Thu, 13 Nov 2008 23:04:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/13/161309.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/161309.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/13/161309.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/161309.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/161309.aspx</trackback:ping><description>&lt;P&gt;ネタ元&amp;gt;&lt;A href="http://bbs.wankuma.com/index.cgi?mode=al2&amp;amp;namber=27535"&gt;再帰をループに変換&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;クイックソートとは以下の順序でソートを行うものです。&lt;BR&gt;(1)ある要素を取り出し、その要素より小さいグループと大きいグループで分類する&lt;BR&gt;(2)それぞれのグループに対し、要素の数が1個になるまで(1)を繰り返す&lt;BR&gt;このクイックソートが必要とするメモリ量、すなわち空間計算量を考えてみましょう。&lt;/P&gt;
&lt;P&gt;要素を2つに分割した後、両方を同時に処理することはできません。&lt;BR&gt;ですから、一方はいったん置いて他方を処理します。&lt;BR&gt;その処理中にまた2つに分割されるため、いったん置いたうえにさらに置くことになります。&lt;BR&gt;図で表現するとこんな感じですね。&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/qsort1.jpg"&gt; &lt;/P&gt;
&lt;P&gt;このようにうまく二等分できれば一時領域は10段もあれば十分です。&lt;BR&gt;この一時領域をスタックサイズと呼びます。&lt;/P&gt;
&lt;P&gt;別の場合のスタックサイズを考えてみます。&lt;BR&gt;こんな場合はどうでしょうか。&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/qsort2.jpg"&gt; &lt;/P&gt;
&lt;P&gt;先ほどと違い、うまく分割することが出ていません。&lt;BR&gt;そして、このペースだとスタックサイズは500段必要です。&lt;/P&gt;
&lt;P&gt;一体スタックサイズは何段用意しておけばいいのでしょうか。&lt;BR&gt;出来るだけスタックサイズを小さくする方法を考えてみます。&lt;/P&gt;
&lt;P&gt;このスタックは処理中のものが終了するまで積まれ続けるわけです。&lt;BR&gt;いつ終了するんでしょうか。&lt;BR&gt;それは、処理中の要素数が2個以下になるまでです。&lt;/P&gt;
&lt;P&gt;それならば、早く処理中の要素数を減らせばよいわけです。&lt;BR&gt;2つに分割したとき、どちらをスタックに積み、どちらを処理中にするかは&lt;BR&gt;自由に決められるため、要素が多い方をスタックに積んでしまえばいいのです。&lt;/P&gt;
&lt;P&gt;それを図示しました。&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/qsort3.jpg"&gt; &lt;/P&gt;
&lt;P&gt;いずれも4:1のグループに分かれていますが、左の方はもうすぐ処理が終わりそうです。&lt;BR&gt;このように、アンバランスに別れた方がスタックに積む量が減るため、&lt;BR&gt;最もスタックが必要なパターンは二等分されるパターンです。&lt;BR&gt;そして、二等分された場合、スタックサイズはlog2(N)必要です。&lt;/P&gt;
&lt;P&gt;よって、クイックソートの空間計算量は最悪の場合でもO(logN)です。&lt;/P&gt;
&lt;P&gt;なお、ピボットに使われた要素は処理済みにするのが好ましいため、&lt;BR&gt;1000個は499個＋1個＋500個のように3つに分けられますが&lt;BR&gt;今回は分かりやすくするため、それを無視しています。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/161309.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>[C++]進数いろいろ</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/07/160739.aspx</link><pubDate>Fri, 07 Nov 2008 22:13:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/07/160739.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/160739.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/07/160739.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/160739.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/160739.aspx</trackback:ping><description>&lt;P&gt;C言語には10進数以外にもいろんな進数表現で数値を指定できます。&lt;BR&gt;それを今回まとめてみました。&lt;PRE class=Cpp name="code"&gt;
#include &amp;lt;iostream&amp;gt;
using namespace std;

int main(){
  // 10進数指定
  cout &amp;lt;&amp;lt; 123 &amp;lt;&amp;lt; endl;

  // 8進数指定
  cout &amp;lt;&amp;lt; 0123 &amp;lt;&amp;lt; endl;

  // 16進数指定
  cout &amp;lt;&amp;lt; 0x123 &amp;lt;&amp;lt; endl;

  // 謎進数指定
  cout &amp;lt;&amp;lt; 0e123 &amp;lt;&amp;lt; endl;

  return 0;
}
&lt;/PRE&gt;
&lt;P&gt;本当にいろんな指定ができますね～。&lt;/P&gt;
&lt;P&gt;#片桐さんに感謝しつつ、混乱させるエントリーを書いてみる&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/160739.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>告知いろいろ</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/07/160625.aspx</link><pubDate>Fri, 07 Nov 2008 07:20:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/07/160625.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/160625.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/07/160625.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/160625.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/160625.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.wankuma.com/seminar/20081115tokyo26/Default.aspx"&gt;[東京勉強会#26 LT大集合 (11/15)]&lt;/A&gt;&lt;BR&gt;ついに50人スピーカーが実現した東京勉強会です。&lt;BR&gt;こちらで私も5分間何かを話します。&lt;/P&gt;
&lt;P&gt;すべて5分ですから、余り重い話はないと思います。&lt;BR&gt;初めての方やプログラム関連はあんまり強くないという方も&lt;BR&gt;安心して参加できる内容だといいな&amp;#8230;そんな内容のはずです。&lt;/P&gt;
&lt;P&gt;内容/タイトルについては当日あけてお楽しみに！って事なので&lt;BR&gt;正直私も知らないんですよね&amp;#8230;。&lt;/P&gt;
&lt;P&gt;私の内容も秘密なんで、何を話すかは言えませんが&lt;BR&gt;言葉は知っているけど、仕組みは知らないよな～って事に関する話をしたいと思います。&lt;/P&gt;
&lt;P&gt;あ、王子がトリだ！期待してます！！&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.wankuma.com/seminar/Default.aspx"&gt;[大阪勉強会 #25 (12/13)]&lt;/A&gt;&lt;BR&gt;こちらはまだ大分先の話ですが、こちらでスピーカーやります。&lt;BR&gt;私にとって初の大阪で、いろいろ楽しみです。&lt;BR&gt;なんでも、普段の勉強会とは違う趣向みたいです。&lt;/P&gt;
&lt;P&gt;ここでは、ゲームのあたり判定の話をやります。&lt;BR&gt;複雑な形をしている者同士がぶつかる時や、ロープを使って進んでいくゲームなんかを作る時に&lt;BR&gt;役に立つ話になるんじゃないかと思います。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.comiket.co.jp/"&gt;[コミックマーケット C75]&lt;/A&gt;&lt;BR&gt;どーせ当選しないよな～と思いつつ当選してしまったコミケです。&lt;BR&gt;場所は｢12/29(二日目) 西や-15b にじけん｣です。&lt;/P&gt;
&lt;P&gt;PSP関連の事をまとめたものを出します。&lt;/P&gt;
&lt;P&gt;コミケが入ったことでめちゃくちゃ忙しい&amp;#8230;本当に出せるのかしら？&lt;BR&gt;ただいまワードの勉強中&amp;#8230;&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/160625.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>[PSP]こんにちはアイコン</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/03/160395.aspx</link><pubDate>Mon, 03 Nov 2008 18:34:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/03/160395.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/160395.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/03/160395.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/160395.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/160395.aspx</trackback:ping><description>&lt;P&gt;前回、アイコンの事を書きましたが、実はもっと設定できます。&lt;BR&gt;ですが、ちょっと試すのが面倒とか大変とかで試していないので、&lt;BR&gt;備忘録程度のメモとして残しておきます。&lt;/P&gt;
&lt;P&gt;PSP_EBOOT_SND0&lt;BR&gt;ゲームによっては選択すると音楽が流れ始めるものがあります。&lt;BR&gt;その音楽を指定します。&lt;/P&gt;
&lt;P&gt;フォーマットはAT3。&lt;BR&gt;一般的なフォーマットではないです。&lt;BR&gt;作成する方法はあるのですが、ちょっと面倒なので割愛します。&lt;/P&gt;
&lt;P&gt;PSP_EBOOT_ICON1&lt;BR&gt;これは、アイコンが選択されたとき、&lt;BR&gt;アイコンの中をアニメーションさせる項目です。&lt;/P&gt;
&lt;P&gt;フォーマットはPMF。&lt;BR&gt;やはり一般的なフォーマットではありません。&lt;BR&gt;これも作成する方法はあるのですが、やっぱり面倒なので割愛します。&lt;/P&gt;
&lt;P&gt;PSP_EBOOT_UNKPNG&lt;BR&gt;透過PNGを指定します。&lt;/P&gt;
&lt;P&gt;一部のゲームでは右下の方にゲームの説明が表示されることがあります。&lt;BR&gt;これは、良く見ると背景が表示されたあと一瞬遅れて表示されます。&lt;BR&gt;その指定の項目です。&lt;/P&gt;
&lt;P&gt;フォーマットは310x180の透過PNGファイルです。&lt;BR&gt;&amp;#8230;&amp;#8230;それにしても、UNKってなんだろう？UNKNOWN？？&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/160395.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>[PSP]出だしが肝心</title><link>http://blogs.wankuma.com/izmktr/archive/2008/11/03/160384.aspx</link><pubDate>Mon, 03 Nov 2008 11:44:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/11/03/160384.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/160384.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/11/03/160384.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/160384.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/160384.aspx</trackback:ping><description>&lt;P&gt;PSPでそのままプログラムを作ると、XMBではこんな感じで表示されます。&lt;BR&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/psp1.jpg"&gt; &lt;/P&gt;
&lt;P&gt;ちょっと殺風景ですね。&lt;BR&gt;今回は、PSPのアイコンを作成する方法です。&lt;/P&gt;
&lt;P&gt;まず、アイコンにしたいファイルを作成します。&lt;BR&gt;サイズは140x80でPNG形式で保存します。&lt;BR&gt;こんな感じ。&lt;BR&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/icon1.jpg"&gt; &lt;/P&gt;
&lt;P&gt;また、背景も作成し、480x272のPNG形式で保存します。&lt;BR&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/icon2.jpg"&gt; &lt;/P&gt;
&lt;P&gt;そして、makefile に以下の二行を入れます。&lt;/P&gt;
&lt;P&gt;PSP_EBOOT_ICON = icon.png&lt;BR&gt;PSP_EBOOT_PIC1 = back.png&lt;/P&gt;
&lt;P&gt;これで再度実行ファイルを作ります。&lt;BR&gt;makefileを書き換えただけだと、変更なしとして再コンパイルされないので&lt;BR&gt;"make clean all"と入力して再コンパイルしてください。&lt;/P&gt;
&lt;P&gt;これらを組み込んだあとはこうなります。&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://izmktr.wankuma.com/200811/psp2.jpg"&gt;&lt;/P&gt;
&lt;P&gt;背景を指定した場合、プログラムタイトルが表示されなくなってしまうので、&lt;BR&gt;背景側にプログラムの名前を入れるようにしましょう。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/160384.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>出水 洸太郎</dc:creator><title>[アルゴリズム]マルチコア</title><link>http://blogs.wankuma.com/izmktr/archive/2008/10/30/160132.aspx</link><pubDate>Thu, 30 Oct 2008 06:33:00 GMT</pubDate><guid>http://blogs.wankuma.com/izmktr/archive/2008/10/30/160132.aspx</guid><wfw:comment>http://blogs.wankuma.com/izmktr/comments/160132.aspx</wfw:comment><comments>http://blogs.wankuma.com/izmktr/archive/2008/10/30/160132.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/izmktr/comments/commentRss/160132.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/izmktr/services/trackbacks/160132.aspx</trackback:ping><description>&lt;P&gt;ネタ元＞&lt;A href="http://msdn.microsoft.com/ja-jp/magazine/cc850829.aspx"&gt;WindowsとC++：高性能アルゴリズムについて調べる&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;上記の記事を読むと、マルチコアで動作する時、&lt;BR&gt;同じコアで実行するメモリは近くに配置し、&lt;BR&gt;違うコアで実行するメモリは遠くに配置するべき、と書いています。&lt;/P&gt;
&lt;P&gt;さて、以前書いたシェアソートの並列動作なのですが、&lt;BR&gt;横ソートにおいては上記のマルチコア動作に向くメモリ配置になっています。&lt;/P&gt;
&lt;P&gt;しかし、縦ソートに至っては並列動作に向かないパターンです。&lt;BR&gt;良くないパターンとして紹介されている物と全く同じです。&lt;/P&gt;
&lt;P&gt;今回の場合は&amp;#8221;#pragma omp parallel for&amp;#8221;を使ったものなので&lt;BR&gt;自分でカリカリ内部動作を書いた場合とは違うのかもしれません。&lt;BR&gt;ただ、キャッシュの読み直しという単語がちらほら見えるので、&lt;BR&gt;ハードウェアの仕様のような感じで、ソフトウェア側でどうにかならない気がします。&lt;/P&gt;
&lt;P&gt;シェアソートの縦ソートが遅いとなるといよいよ出番もないですね&amp;#8230;。&lt;/P&gt;
&lt;P&gt;#ということで、教えて詳しい人！&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/izmktr/aggbug/160132.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>