2008-01-01から1年間の記事一覧

[boost]Boost C++ Libraryのお勉強その9

boost::hash hash関数。興味ないので飛ばす。 boost::fusion tupleは各要素の型が違うのでSTLのアルゴリズムが使えないので、その辺に対応したもの。 #include <iostream> #include <string> #include <boost/fusion/tuple.hpp> #include <boost/fusion/algorithm.hpp> struct Print { template < typename T > void operator () (T </boost/fusion/algorithm.hpp></boost/fusion/tuple.hpp></string></iostream>…

ちゃんと表示されるようになってる。

コードがちゃんと表示されるようになってる。直った?

はてなダイアリーのバージョンが変わってバグった?

昔書いたコードが表示されていない。 http://d.hatena.ne.jp/vtwinautomaton/20081124/1227529806googleのキャッシュを見るとコードが表示されてる。 http://72.14.235.132/search?q=cache:7i_uc3w6w14J:d.hatena.ne.jp/vtwinautomaton/20081124/1227529806+…

Boost C++ Libraryのお勉強その8

functionとかfunctionalとか紛らわしいんですが…。 Boost.Function 関数っぽいものを保持できるクラス。structの定義をmain()内に書いたらコンパイルできないのにちょっとハマった。 #include <iostream> #include <boost/function.hpp> struct pow4 { int operator() (int x) const { retu</boost/function.hpp></iostream>…

WAWってなんだ?

以前id:w_oさんにもらったコメントにWAWという言葉がでてきたけど、Warren Abstruct Machine…はWAMだから違うか。なんだろ?と思って調べたらWrite After Writeの事だった。

キーボードが効かなくなる

なんか時々キーボードが効かなくなる。SCIM触ったりすると動くようになるので、ソフト的な問題なんだと思うがよく分からない。

Boost C++ Libraryのお勉強その7

Boost.Enable_If 普通に使うとテンプレート関数あらゆる型を取るので、 それを制御するための仕組み。 ぱっと見使い方がわかりずらくて、まずenable_ifは引数に書くけどこれは宣言するだけで関数内では使わず、あくまでテンプレートの実体化の為に処理系が使…

Boost C++ Libraryのお勉強その6

連休中じゃ全然終わらなかった…。 Boost.Date_Time 時間クラス色々。boost_date_timeをリンクする事。 #include <iostream> #include <boost/date_time.hpp> int main(void) { boost::gregorian::date d(2008,boost::gregorian::Nov,24); std::cout << boost::gregorian::to_simple_string(d</boost/date_time.hpp></iostream>…

Boost C++ Libraryのお勉強その5

連休中には終わらなそう…。 Boost.Date_Time 時間クラス色々。boost_date_timeをリンクする事。 #include <iostream> #include <boost/date_time.hpp> int main(void) { boost::gregorian::date d(2008,boost::gregorian::Nov,24); std::cout << boost::gregorian::to_simple_string(d) << s</boost/date_time.hpp></iostream>…

Boost C++ Libraryのお勉強その4

Boost.ConceptCheck テンプレート引数として渡したものがコンパイル出来ないものの場合、分かりずらいコンパイルエラーとなるので、わかりやすくするための仕組み。どうしてもコンパイル出来ずに断念…。 Boost.Config boost自体を構築するためのもの?マニュ…

Boost C++ Libraryのお勉強その3

Boost.CircularBuffer いわゆるリングバッファ。 #include <iostream> #include <boost/circular_buffer.hpp> int main(void) { boost::circular_buffer<int> cb(3); cb.push_back(0); cb.push_back(1); cb.push_back(2); std::cout << cb[0] << cb[1] << cb[2] << std::endl; cb.push_back(3); std::co</int></boost/circular_buffer.hpp></iostream>…

Boost C++ Libraryのお勉強その2

Boost.Bimap 双方向マップ。どんな場合に便利なのかちょっと思い浮かばない。 テンプレート引数を単純にintとかにせず、専用の型で包んで渡すと挙動を変えられるみたいで、パッケージ全体としてはやや大きめ。 #include <iostream> #include <boost/bimap.hpp> int main(void) { typedef</boost/bimap.hpp></iostream>…

Boost C++ Libraryのお勉強その1

Boost C++ Libraryもろくにシラネーのか。ったく何年C++で飯食ってると思ってんだ。…とか自分のboost知らなさ加減にイライラするのでお勉強。 そんなわけで連休中短期集中連載、aから始めるBoost C++ Library。都合により1.35.0で。(何でXubuntu8.10には1.3…

コンストラクタを持ったクラスを共用体に使うとどうなるのか

C++

#include <iostream> class Alfa { public: Alfa() { std::cout << __func__ << std::endl; } }; class Bravo { public: Bravo() { std::cout << __func__ << std::endl; } }; int main() { union { Alfa a; Bravo b; } u; return 0; } 答え:コンパイルエラー $ g++ u</iostream>…

メモリ計測の続き

シングルスレッドで計測 最初にやれという話もあるが…。 #include <cstdlib> #include <boost/thread.hpp> #include <boost/progress.hpp> const int number_of_processors = 4; const int number_of_elements = 50 * 1024 * 1024; template < int SIZE > class MemoryAccess { private: int * ptr; public: </boost/progress.hpp></boost/thread.hpp></cstdlib>…

Majestouch Tenkeyless かななし黒軸を買ってみた

自宅用に欲しくなったので、Majestouch Tenkeylessの2個目を買ってみた。かなあり茶軸を買うつもりで店に行ったものの、その場で急に黒軸を使ってみたくなり、かなで黒軸のあったかななしにする。 予想通りというか当然というか、茶軸に比べてかなりタッチが…

メモリアクセス速度をちょっと実測

先日Core2にくらべるとPhenomは圧倒的に遅いとか言われたので、本当の所どうなのか計測してみる。やったのは単純に4コア分のスレッドを用意してメモリアクセスするだけ。 メモリ取得してからスレッドに分割 スレッド分割した中でメモリ取得 メモリ取得して一…

排他版

http://ja.doukaku.org/comment/8000/他の言語でも割と気にしてなさそうに見えるのがあったので排他とかはほっといたのだが、スレッドセーフじゃないとコメントがついたようなので排他版。実は言語側や標準ライブラリ側で並列の機構をもってるやつは、全体的…

思いついちゃったので

http://ja.doukaku.org/comment/7997/こいつもマルチなプロセッサの環境だと擬似並列じゃないかも。

擬似並列実行

http://ja.doukaku.org/comment/7996/Erlangの得意分野のはずが、Smalltalkに2倍近い行数で負けてしまっている…。ごめんなさいarmstrong様、修練がたりませんでした…。

boost::threadで擬似並列処理

http://ja.doukaku.org/comment/7993/boost::threadが擬似並列なのかどうかは議論がわかれる所かもしれない。特にマルチコアだったりすると擬似じゃない気がする。

ドメイン工学とテンプレートメタプログラミングとインテンショナルプログラミング

ジェネレーティブプログラミング (IT Architects’Archive CLASSIC MODER)作者: クシシュトフ・チャルネッキ,ウールリシュ・W・アイセンアッカ,津田義史,今関剛,朝比奈勲出版社/メーカー: 翔泳社発売日: 2008/04/23メディア: 大型本購入: 7人 クリック: 399回…

ECLでcompileするとcファイルが消える

test.cl test.c というファイルがある状態で、 ecl -compile test.cl とやると、test.cが消えてしまう。

ローカル変数でアライメントが効かないとか

ローカル変数でアライメントが効かないとかすぐに忘れるのでメモしておく。

ppu-g++でboost::threadがリンクできない?

ppu-g++ ref_ppu.cxx -o ref_ppu.elf -lspe2 -lboost_thread ってやると、 /usr/bin/ppu-ld: skipping incompatible /usr/lib/libboost_thread.so when searching for -lboost_thread /usr/bin/ppu-ld: skipping incompatible /usr/lib/libboost_thread.a wh…

ECLでスタンドアロンバイナリ

http://lispuser.net/commonlisp/ecl.html#sec-8ECLでコマンドラインから実行できるファイルを作る方法。 (compile-file "hello.lisp" :system-p t) (c:build-program "a.out" :lisp-files '("hello.o"))

世界銀行が動き出した

http://www.nikkei.co.jp/news/main/20081026AT3S2501025102008.html 世界銀行は、金融危機の影響で財政難に陥ったアフリカ、アジアなどの途上国向けに緊急融資に乗り出す方針を固めた。 経済発展してる国は自力で、新興国はIMFが、貧困国は世界銀行がそれぞ…

止まらない円高

ついに91円台をにタッチしてまったUSD/JPY。EUR/JPYも一日で10円動いたり。数年前USD/JPYが100円あたりにきたときは、日銀が口先介入とか頑張ってたのが懐かしい。あの時は何となく動いてる感じで、実体経済に凄い事が起こってはいなかったと思う。でも今回…

マクロだらけ

On Lisp作者: ポールグレアム,野田開,Paul Graham出版社/メーカー: オーム社発売日: 2007/03/01メディア: 単行本購入: 10人 クリック: 146回この商品を含むブログ (128件) を見るまぁ要するにCommonLispはマクロがあるので凄いというのをコードを示しながら…

amd64?x86_64?

折角のマルチコアなのでerlangでも入れてみるかと思ってmakeしたところ、xubuntu側がx86_64だと主張しているらしく、amd64のhipeとかあるにも関わらず素直にmakeできない。この手の名称の混乱って面倒だなぁ。