No Such Blog or Diary
libstdc++ parallel mode のバグ
コンパイル時に -D_GLIBCXX_PARALLEL つけても,プログラム中で __gnu_parallel::transform とか明示的に呼んでも,ちっとも並列化してくれない.最後の引数に __gnu_parallel::parallel_balanced とか指定するとやっと並列で動いてくれる.こんな動作が意図したものなのかどうかを問い合わせたらやっぱりバグだそうで.
とりあえず問い合わせ時に書いておいた対処法でパッチ作ってもらえたのでそれを当てつつ様子を見る.
- Comments: 0
- TrackBack (Close): -
テンプレート関数の再宣言時のデフォルト値は標準ではない?
テンプレート関数のデフォルト引数を再宣言時に書くとg++でコンパイルがこける.例えば,下のプログラムのテンプレート関数funcは再宣言時(最初の宣言はプロトタイプ宣言で,関数の定義が再宣言)にデフォルト引数を入れているけど,g++は最初のプロトタイプ宣言にデフォルト引数がなかったのでfuncにはデフォルト引数がないと判断するらしい.結果としてmain関数内のfuncの呼び出しがこける.テンプレート関数でなくて普通の関数だと問題ないのでhogeの呼び出しは通る.少なくとも,g++ の 3.4.4, 4.2.3, 4.3.1, 4.3.2, 4.4.0 で同じ現象.
#include<iostream> using namespace std; template<typename B> void func(const B&, const char&, int k); template<typename B> void func(const B&, const char&, int k = 0) { cout << "func" << endl; } void hoge(const int&, const char&, int k); void hoge(const int&, const char&, int k = 0) { cout << "hoge" << endl; } int main(int argc, char *argv[]) { int n = 1; char m = 0; hoge(n,m); //ok func(n,m); //ng return 0; }
で,他のコンパオラで試したら以下のとおり.icc (Intel C Compiler 10.1.018) は warning #845: specifying a default argument when redeclaring an unreferenced function template is nonstandard と言って警告を出すが,コンパイルは通る.lc (Visual Studio .NET 2005 のコンパイラ) は何も言わずにコンパイルできる.bcc (Borland C++ 5.82) も何も言わずにコンパイル可能.
とりあえずgccどうにかしてほしい.
- Comments: 0
- TrackBack (Close): -
月が出てない
- 2008-09-15 (Mon)
- 一般
折角の満月が見えない.いろいろとタイミング悪い.お好み焼き屋も二軒とも休みだったし.
- Comments: 0
- TrackBack (Close): -
ウォータークラウンでも撮ってみようかと
以下のサイトを参考に回路組んで撮ってみた.手元にあったフォトトランジスタの指向性が今ひとつだったのでセンサ部にコンパレータつけたけど,後は同じような構成で.
http://www.infonet.co.jp/ueyama/ip/promenade/milk_crown.html
http://abcdefg.jpn.org/elebunkai/utsurundesu/cc.html
撮れたもの(各々異なる水滴):
きれいな王冠にするためのセッティングがよくわからない.水滴の落とす高さと受け皿のほうの水の深さと…
- Comments: 0
- TrackBack (Close): -
巾着田へ
そろそろ彼岸花が咲き始めた&日曜日から有料化(200円)する&明日以降は天気が悪いということで巾着田へ早朝から出かけてみた.とりあえず分かったこと:朝日は色温度が低いので要補正.
んで,早咲きの密集しているところ.それなりに紅い.
TAMRON SP AF90mm F/2.8 Di MACRO1:1
でも辺りはまだ芽が出たあたり.見ごろは来週とのこと.
TAMRON SP AF90mm F/2.8 Di MACRO1:1
彼岸花が高麗川沿いに咲いている内側で,コスモスも早咲きの部分は咲き乱れてた.
TAMRON SP AF90mm F/2.8 Di MACRO1:1
それはさておき,高麗駅から巾着田に行くまでの最短路が予想よりも細い道路&ひん曲がっているで迷いそうになった.昼間は誘導の人がいるみたいだから迷わなくていいけど,もう少し各所の案内板を見やすくしてほしい.
- Comments: 0
- TrackBack (Close): -
Ubuntu8.04のghc6のControl.Parallelはどこ?
ghc6.8.2がaptでインストールできるのだけどControl.Parallelの在り処が分からない.libghc6-parallel-dev とかいうパッケージがあるのが普通な気もするけど見当たらない.しょうがないのでaptで入れるのは諦めて自前で6.8.3をコンパイルしていれた.
でもquicksortが速くならない…
- Comments: 0
- TrackBack (Close): -