1 名前:デフォルトの名無しさん [2006/09/23(土) 15:00:11 ] 語って.はぁと part boost::mpl::int_<3> 前スレ part 2 pc8.2ch.net/test/read.cgi/tech/1139313234/ part 1 pc8.2ch.net/test/read.cgi/tech/1091198276/ ■関連サイト■ Boost C++ Libraries www.boost.org/ Boost 翻訳プロジェクト boost.cppll.jp/HEAD/ Let's Boost www.kmonos.net/alang/boost/ boost info shinh.skr.jp/boost/
445 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 23:53:02 ] VC6は2038年問題とかだけでも捨てるべきだろ。 少なくとも業務で使ってるってのならその会社は潰れてしかるべき。 ぜひ潰れて欲しい。
446 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 01:39:05 ] Cとしてしか使わないならVC6最高じゃん
447 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 01:49:43 ] >>466 同感! 最近 STL 使おうって思ってやっと 2005 に切り替えました!
448 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:23:20 ] 激しくスレ違いで申し訳ないが… 8だとテンプレートをネスト出来たりするかね? ならば今すぐ買いに行くさ。
449 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:34:38 ] するする。今すぐ買いに行け。
450 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:36:43 ] これか? template < typename T > struct Foo { template < typename P > static void Bar() ; } ; Foo<int>::Bar<int>() ; あるいはこれか? template < typename T, template<typename, typename> class Container > class Foo { Container< T, std::allocator<T> > cont ; } ; Foo< int, std::vector > FooVec ; どちらもできる……が、後者は、なぜかテンプレートテンプレートパラメータのデフォルト引数が使えない。 //エラー template< template <typename, typename = std::allocator<int> > class Container > class Foo { Container<int> cont ; } ;
451 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:39:46 ] まじかよ… 部分特殊化だけかと思ってた… 今すぐ買いに行くわ 確かファミマにあったはず。アカデミックだけど。
452 名前:デフォルトの名無しさん [2006/12/16(土) 02:44:32 ] あ〜、後者ですわ。 デフォルト指定は無理なのかぁ…、 まぁいい機会だし買いに行きま。
453 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 02:44:41 ] >テンプレートテンプレートパラメータのデフォルト引数 そんな言語機能があったなんて! いったいなんのためにあるんだろう。
454 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 03:29:27 ] メタ関数として使えそうなんで用意したけど実際にはいまいち使えなかった、 という感じか?>テンプレートテンプレートパラメータ
455 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 03:47:12 ] いや、テンプレートテンプレートパラメタには意味があると思うんだが、 テンプレートテンプレートパラメタ「の」デフォルト引数ってなかなか出てこない発想じゃないだろうか。 ふつうの関数だと void f(int (*g)(int = 7)){} 不正みたいだし。
456 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 03:50:58 ] 普通に使いますから。 テンプレートクラスでデフォルト引数が使えるのは(allocatorなど)当たり前のことだし、 テンプレートの引数に、テンプレートクラス使えないのは不便で仕方がない。
457 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:04:31 ] そこで、boost.preprocessorですよ。
458 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:06:57 ] え、VC8でも hoge<hage<int>>; みたいのはできないの? デフォルト引数を定義しなければ使えるってこと?
459 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:15:31 ] >>458 シンタックスエラー!
460 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:40:06 ] uho!
461 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 06:46:08 ] >>457 preprocessorで何ができると?
462 名前:デフォルトの名無しさん mailto:sage [2006/12/16(土) 12:19:11 ] Tはテンプレート引数でコンテナ型です。 typedef typename boost::mpl::if_<boost::is_const<T>, typename T::const_iterator, typename T::iterator>::type Hoge; typedef typename boost::mpl::if_<boost::is_const<T>, typename T::const_pointer, typename T::pointer>::type Hage; typedef typename boost::mpl::if_<boost::is_const<T>, typename T::const_reference, typename T::reference>::type Debu; こういうことをやりたいんですが、もっとシンプルに記述できる方法はないでしょうか?
463 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 06:55:37 ] プリプロセッサを使ってもシンプルにはならないだろうし、読みにくくなるだけかと。 そもそも何でそういうことがしたいのか分からない。 渡されたコンテナがconstでなければ、書き換える。 constであれば書き換えないという、奇妙な関数でも書きたいのだろうか。
464 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 17:28:40 ] >>462 boost::range_result_iterator< std::vector< int > >::type // -> std::vector< int >::iterator boost::range_result_iterator< const std::vector< int > >::type // -> std::vector< int >::const_iterator あとは上のように獲得した iterator 型に boost::iterator_[reference|pointer] を適用
465 名前:デフォルトの名無しさん mailto:sage [2006/12/17(日) 23:17:11 ] >>464 うわぁ、Boost.Rangeチョー便利ナリ・・・ boost::sizeとかあるし。sizeof(a) / sizeof(a[0])とかしてたのが馬鹿みたいだ。 いいものを教えてもらった、ありがとう。
466 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 08:19:06 ] templateもろくに通らないからVC6から2005に切り替えたよ
467 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 15:00:59 ] 今度はワイド文字ストリームがろくに使えないVC 2005。
468 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 16:09:31 ] VC 2005 SP1で直る・・・はず・・・だといいな・・・
469 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:20:48 ] その SP1 では graph library が使えないということらしいが
470 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:23:55 ] >>468 直ってないような気がする・・・
471 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:28:28 ] いや、気がするんじゃなくて間違いなく直ってないや。
472 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:40:36 ] SP1出たんだな
473 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 18:46:01 ] STLPort使うとなぜかは知らないがlocale::globalの後でもimbueが効くようだ。
474 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:57:24 ] なあ、boostいじってるC++狂の連中はWebアプリケーションはなにで 書いてるんだ? 俺、JavaもPerlもやる気しねーよ。もっとC++でWebアプリ書くフレーム ワークとか環境とか色々あってもいいのになあとか思うんだが。
475 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 21:59:52 ] boostいじってるC++狂の連中はWebアプリケーションなんてかったるいものは 書かないんじゃないかな
476 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:00:27 ] Perlは確かに使う気しないがJavaなら別にいい
477 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:12:09 ] スレ違いだと思うのでURLだけ ws.apache.org/axis/ja/cpp/lininstall-guide.html www.cs.fsu.edu/~engelen/soap.html www.xlsoft.com/jp/products/roguewave/sourcepro/index.html
478 名前:デフォルトの名無しさん mailto:sage [2006/12/18(月) 22:18:51 ] boost::CppOnRailsができるのを待つか
479 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 00:42:34 ] >>474 なんか「柴犬」とか言うtomcatもどきをC++で実装してテストしてるスレがあった希ガス
480 名前:デフォルトの名無しさん [2006/12/19(火) 07:44:46 ] sscanfみたいなのを 正規表現で指定できる関数はあるのでしょうか?
481 名前:450 mailto:sage [2006/12/19(火) 08:04:30 ] SP1いれたら、テンプレートテンプレートパラメータのデフォルト引数が使えるようになっていた。
482 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 14:13:59 ] boost MLに何度か投稿していたら software関係conferenceの Invitation to submit a paper (おそらくSPAMの一種だと思う)がくるようになった。 同種のメールは、自分の専門分野の関連領域でもくるのだが ( inviteされるような仕事してねえのに invite ってなんだよ) software関連のは本当に怪しいのかを見分ける手段がない なにか見分ける方法ないものか
483 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 19:52:06 ] すみません、質問させてください 基本型あるいはユーザ定義型の配列の要素数を返す関数を作ろうとしてるんですが arrayがユーザ定義型の配列であった場合でも /* @ */の処理がコンパイルされるためエラーになってしまいます template <typename T> void count(T array[]){ if(boost::is_pod<T>::value){/* @ */} else{/* A */}} WEBで調べているとboost::enable_ifで解決できそうな予感がしたのですが 自分には次の例がよく理解できません(特に::type*=0の部分) これはどういった理屈で動いているんでしょうか template<typename T> void copy_n( const T* from, int n, T* to, typename enable_if< is_pod<T> >::type* =0 ){/* 省略 */}
484 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 20:09:40 ] >>483 enable_ifやdisable_ifは、関数のオーバーロード解決のルールをトリッキーに使っている。 やりたいことを実現する方法はいくつかある。 たとえばこんな方法。 //false以外、すなわちtrueの場合に呼ばれる template < bool isPod > struct Count_impl { static void do() {/* 1 */} } ; //特殊化、falseの時に呼ばれる template < > struct Count_impl<false> { static void do() {/* 2 */} } ; template < typename T > void count(T array[]) { Count_impl<boost::is_pod<T>::value>::do() ; }
485 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 20:11:15 ] >>483 enable_if<is_pod<T> > には、TがPODならtypeメンバがあり、そうでなければtypeメンバがない。 したがって、TがPODでないとき、typename enable_if<is_pod<T> >::typeは 不正な型であり、SFINAE規則によってこの定義が多重定義の考慮から外される。 結果として、TがPODであるときのみ考慮される定義ができたわけだ。 typename enable_if<is_pod<T> >::typeは、このコンパイル時選択の機構のためだけに 使われているので、インタフェースに影響を与えないようにデフォルト値付きの引数になっている。 ポインタを取っているのは簡潔に0で初期化できるようにだろう。
486 名前:483 mailto:sage [2006/12/19(火) 21:31:23 ] >>484 ,485 レス感謝です おかげさまで理解できました >>484 こういう風にすればenable_ifなしでいけるんですね なんとかそのプログラム理解はできても 自分で書けるようになるまでが大変だ・・ とりあえずこれを参考に頑張ってみます >>485 enable_if< is_pod<T> >::type* =0 ええと、この式の場合だと 組み込み型の場合はtypeメンバが存在するわけですよね そして組み込み型でない場合はtypeがないから定義自体されない それだと* =0はなくても大丈夫なんじゃ?と思ったけど この引数はコンパイル時にifの役割を果たせばよいから省略可能にしたい 省略可能にするには=とデフォルト引数が必要で typeをtype*にすればどんな場合でも0が代入できる うーむ、よく考えられてますね
487 名前:デフォルトの名無しさん mailto:sage [2006/12/19(火) 22:46:08 ] 個人的には返り値型に使うほうが好き>enable_if
488 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 01:12:34 ] >>482 自分で「おそらくSPAMの一種だと思う」なら、ちゃんと見分けられてるじゃないか。
489 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 03:58:16 ] >>487 コンストラクタだとデフォルト引数として仕掛けるしかないけれどね 逆に引数の数が固定されていて余計なデフォルト引数が仕掛けられない 演算子関数定義だと戻り値型一択になるね
490 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 20:21:16 ] そもそも483が作ろうとしていると言う配列の要素数を返す関数は、 基本型かユーザ定義型かで分けて一体何をするのか気になる。 配列の要素数と言えばそもそもboost::size()で済むような話ではないのか?
491 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 20:32:25 ] >>490 番兵を思いついた。 podな型に対しては、ある値を決めておき、 俺様クラスについては、専用のフラグでも用意しているとか。
492 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 16:05:56 ] boost開発者向けMLに、自分用に作った プログラム(boostの既存libの部品の追加してるだけだけど)、 死蔵するのもったいないから ときどき投稿してたんだけど、 最近、無視されてるっぽい。
493 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 17:41:27 ] boost使いはVS2005にSP1はあてるのかい?
494 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 17:56:40 ] 当たり前だ
495 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 21:36:36 ] >>492 何か不満か? ML に晒したんなら勝手に使ってる奴もいるだろう。 使った人が必ずレスポンスを返すわけでもなし。 死蔵にはならずに済んだんだからいいだろ。
496 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 22:52:25 ] boost.cppll.jp 落ちてる?
497 名前:デフォルトの名無しさん mailto:sage [2006/12/21(木) 23:29:55 ] ぽいね。俺も繋げない
498 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 11:42:53 ] ublasのatlasへのインターフェイスをbackendと表現してるのだが backendってそういう意味なんだっけ?
499 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 12:01:23 ] まあCORBAとDCOMではproxy/stubが逆転していることですし
500 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 15:15:00 ] >>499 それは主体をどっちに置くかという話から帰着した結果だからあんまり関係ない気が。
501 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:08:58 ] atlasは下請けや補完をやるわけだから、 ublasから見ればたくさんあるbackendの一つってことでしょ。
502 名前:デフォルトの名無しさん [2006/12/24(日) 12:39:36 ] boostの日本語ドキュメントプロジェクトって2003年で更新止まってるよね サーバーも落ちてるみたいだけど、誰もメンテナンスしてないの?
503 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 17:51:43 ] ublas今試してるんだけど、 VC++2005でboost1.33_1だとsparse_matrixとsparse_vectorは定義されていないと怒られてしまう。 matrix_sparse.hppとvector_sparse.hppはきちんとインクルードしているんだけど、なぜに?
504 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 18:41:52 ] しかも、mat[i][j]とかで行列の要素にアクセスするとか、lu_factorizeもコンパイルエラー。なんでやろ・・・。
505 名前:デフォルトの名無しさん mailto:sage [2006/12/24(日) 18:49:16 ] エラーメッセージも張らずに日記かよ。いい加減にしろ
506 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 13:27:53 ] >>504 mat[i][j]の書き方はできなくなった 今は mat(i,j)
507 名前:デフォルトの名無しさん mailto:sage [2006/12/25(月) 13:47:21 ] Boost.Python でPythonから呼ぶようにした関数って Cとして呼ぶよりも処理が遅くなったりするの?
508 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 16:16:15 ] すみませんが、質問です。 Debian Sarge(EUC-JP)上でBoostのsplitなどをを使いたいのですが、ソースコー ドの文字列をEUC-JPにするとエラーになってしまいます。 #include <boost/algorithm/string.hpp> を含むソースで g++-3.4 -finput-charset=EUC-JP -fexec-charset=EUC-JP test05.cpp -o test05 を実行すると、 /usr/include/boost/function/function_base.hpp:23:25: failure to convert EUC-JP to UTF-8 このようなエラーに。 なお、ソースではwchar_t, wstringを使っています。 ソースをUTF-8に、オプションを-finput-charset=UTF-8 にすると動くように なりますが、やはりこれは不便です。 ソースをEUC-JPのままで使う方法はないでしょうか?
509 名前:デフォルトの名無しさん [2006/12/26(火) 18:55:42 ] age
510 名前:508 mailto:sage [2006/12/26(火) 19:42:26 ] 追記です。 コンパイル時のエラーは、こんな単純なソースでも起こってしまいます。 エラー再現には、ソースにワイド文字リテラルが含まれる必要はありません。 ------------------ #include <boost/algorithm/string.hpp> int main(void) { return 0; } ------------------ g++-3.4 -finput-charset=EUC-JP -fexec-charset=EUC-JP test06.cpp -o test06 ↓ /usr/include/boost/function/function_base.hpp:23:25: failure to convert EUC-JP \to UTF-8 EUC-JPではマルチバイト文字を使えということなのかもしれませんが、せっかく 対応しているのだからワイド文字を使いたいのです。
511 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 19:56:55 ] >>510 boost/ref.hppがLatin-1で書かれているのが問題っぽいな。 ASCIIに直すようにお願いする位しか解決策が思いつかないが。
512 名前:508 mailto:sage [2006/12/26(火) 20:20:55 ] >>511 ありがとうございます。 ref.hppの17行目でしょうか?そこを削除しても、やはり同じエラーが出ます。 他に気づいたことは、-finput-charset=utf8 などと書いても、「UTF-8に変換 できない」というエラーになることです。大文字ハイフン入りの「UTF-8」以外 受け付けません。 もしかしたらGCC自体が、テンプレートライブラリがUTF-8以外であることに対応 していないのでしょうか?
513 名前:デフォルトの名無しさん mailto:sage [2006/12/26(火) 20:38:10 ] >>508 この辺を参考に search.gmane.org/?query=windows+unicode+gcc&group=gmane.comp.gcc.devel permalink.gmane.org/gmane.comp.gcc.devel/78542 >>512 インクルードファイルの中に他にも含まれていないか チェック。utility/enable_if.hpp とか $ iconv -l で使用できる文字コードは分かる
514 名前:508 mailto:sage [2006/12/26(火) 21:08:11 ] >>513 ありがとうございます。よく読んでいませんが、結局コードの変換ルールが問 題ということでしょうか。 grep -r Jaakko /usr/include/boost/ これで検索したところ66件ありました。他にもlatin-1の名前はあるかもしれ ません。さすがに直す気が失せました。 とりあえず、コンパイル前にiconvをかけることにします。いずれはUTF-8環境 に移行した方が良さそうです。
515 名前:508 mailto:sage [2006/12/27(水) 00:25:09 ] permalink.gmane.org/gmane.comp.gcc.devel/78542 を読んで思ったのですが、どうやらUTF-8にすれば完全解決というわけではな いようですね。 g++ -finput-charset=EUC-JP こう書くと、GCCはソースファイルを、includeされるヘッダライブラリまです べてEUC-JPだとみなします。そしてそれを libiconv で UTF-8 に変換しよう とします。このとき(ヘッダファイルに)EUC-JPに含まれない文字コード (Latin-1など)があったらエラーになってしまいます。 g++ -finput-charset=UTF-8 (または-finput_charsetの指定なし) こう書くと、GCCはソースファイルを、includeされるヘッダライブラリまです べてUTF-8だとみなします。しかし今度は変換の必要がないので、libiconv は 呼ばれません。ヘッダライブラリも変換されません。 これで通常は問題はなくなるわけです。しかし、 ・ヘッダライブラリのエンコーディングがUTF-8でない。 ・ヘッダライブラリに wcha_tのリテラルがある。 (あまりないでしょうが、)この2つが同時に起こると、ライブラリは正しく 動作しません。 結局、すべてのヘッダファイルがUTF-8で統一されるか、Pythonのように各ソー スファイルにエンコーディングの宣言ができるようにしないと、完全解決とは 言えないようです。いずれも一ユーザにはどうしようもない話ですが。 Boostとあんまり関係なくてすみません。
516 名前:デフォルトの名無しさん [2006/12/27(水) 13:04:16 ] 初心者的質問で申し訳ありません。 >>391 でインストールするとき、最初に default variantsを選んでください って言われて、 Multithred Debug, DLL Multithred, DLL Multithred Multithred, static runtime Multithred, Debug, static runtime Single thred, static runtime Single thred, Debug, static runtime の中から選択させられるんですが、ノーパソ用ペンティアム3(1.13GHz)とノースウッドコアペンティアム4(3.2Ghz) の場合、どれを選べばいいんでしょうか。 マルチスレッデッィングとシングルスレッディング用CPUの違いくらいしか分からないので・・・
517 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 14:35:53 ] Multithred/Single thredはCPUの問題じゃない
518 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 14:36:53 ] boostにはデバッグは特にいらないと思う。かなりでかくなるから。 DLLにするかどうかだけど、初心者ならスタティックでいいと思う。 あとはスレッドを利用するならマルチスレッド、しないならシングルスレッド。 シングルスレッドで速度を追求するならシングルスレッドだけど 通常はマルチスレッドでいいと思う。
519 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 14:37:16 ] thred?
520 名前:518 mailto:sage [2006/12/27(水) 14:37:42 ] 訂正 ×特に ○別に
521 名前:516 [2006/12/27(水) 14:45:12 ] ありがとうございます。 ではとりあえず Multithred, static runtime でインストールして使ってみます。 なお、参考までにお聞きしたいのですが、DLLにするとどういった使い方が可能になるのですか?
522 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 14:49:20 ] templateなlibraryにDLLもくそもないから気にするな。
523 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 15:11:02 ] >>521 DLLの特長はここに書いてある。 e-words.jp/w/DLL.html 必要ならDLLを選ぶといいと思う。
524 名前:デフォルトの名無しさん [2006/12/27(水) 16:19:19 ] vc2005 sp1の現状 std;;wstring s = L"漢字"; // std::wcout << s << std::endl; //←ここをコメントアウトすると何もでなくなる std::wcout.imbue(std::locale("japanese") std::wcout << s << std::endl; //←出る std::locale::global(std::locale("C")); std::wcout << s << std::endl; //←出る よくわかんないけどMSの開発担当者はもっとまともなロケール実装者が来るまで正座な。
525 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 16:22:23 ] boostとは直接関係ないけど、これ直ってないのか。なんのためのSPなんだか('A`)
526 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 20:10:24 ] >>524 とりあえずSTLport使っとくとlocale::globalの後に それぞれimbueすればちゃんと動くらしいよ。 付属のだとそれすら効かない。 std::locale loc("japanese"); std::locale::global(loc); std::wcout.imbue(loc); std::wcout << L"ぶーすと" << std::endl;
527 名前:デフォルトの名無しさん mailto:sage [2006/12/27(水) 23:15:10 ] ublasでrankは求められなかとですかい? rank求めるのにlu分解は精度の問題で、一般には使われてないとか書いてるけど、 どの程度精度に問題でてくるんだろうね。
528 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 12:41:32 ] ttp://www.page.sannet.ne.jp/d_takahashi/boost/ublas/index.htmlを参考にして ublasで逆行列を求めようとしているのですが、lu_factorizeの呼び出しでコンパイルエラーになります。 エラーメッセージが大量なので、ソースと一緒にアップローダに上げておきます。 ttp://zetubou.mine.nu/itoshiki/nozomu/zetubou3677.zip
529 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 13:06:13 ] 実行時エラーなら出るがコンパイルエラーは出ないな。 VC8SP1 + Boostは11月の頭にCVSから F:\>cl -nologo -EHsc -ID:\Boost inv.cpp inv.cpp F:\>inv.exe Check failed in file D:\Boost\boost/numeric/ublas/triangular.hpp at line 2435: e1 () (n, n) != value_type () This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. F:\>
530 名前:デフォルトの名無しさん mailto:sage [2006/12/28(木) 15:50:10 ] November 28, 2006 - Function Types Accepted
531 名前:デフォルトの名無しさん mailto:sage [2006/12/29(金) 19:50:03 ] VC7 でserializationのlib出きへんのやけど なんか必要?
532 名前:528 mailto:sage [2006/12/29(金) 20:29:50 ] boostを1.32.0に入れ替えてみたところコンパイル出来ました。 実行時エラーは、おそらく係数行列を適当に設定したため発生したのだと思います。 係数行列を参考サイトと同じ行列にしたところ、同様の結果が得られました。 ublas使う時だけ1.32.0で行くことにします。ありがとうございました。
533 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 10:46:57 ] >>3 にリンクされてるPOCOって使ってる人いる? 今日落として試してみたんだけど、SampleについてるEchoServerの挙動が 微妙におかしくて…… 原因は一応分かったのだが、英語力が無いからまっとうなバグレポ 送れにゃいよ。
534 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 14:13:46 ] >>533 英語力ないからって言ってると永遠に身につかないよ。 バグレポなら状況を箇条書きにして送るだけでも大丈夫、ただし返信が来たらしらない(w
535 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 14:59:14 ] >>534 そうだよなあ。 とりあえず、がんがって次のようなバグレポを書き込んだ。 意味が通るかどうかは全く自信が無いw Hello. I'm a Japanse, so please forgive my poor English. When I tested "EchoServer" sample, I found that it doesn't send back FIN to the client when the client sends FIN to the "EchoServer", by calling shutdown(). This is because "EchoServer" doesn't call close() function for this socket. Why is that? Poco::Net::StreamSocketImpl is refcounted, and close() is called when it is really destructed. I found that Poco::Net::SocketReactor's member, _pReadableNotification, _pWritableNotification, etc. holds Poco::Net::Socket instance, until next socket event arises. So, until then, refcount remains 1, and close() is never called. In Poco::Net::SocketReactor::run(), member function dispatch() is called for each socket. I think, after that, the socket which is held by _pReadableNotification, etc. must be immediately cleared, so Poco::Net::StreamSocketImpl's refcount will be 0, and close() will be called.
536 名前:デフォルトの名無しさん [2007/01/04(木) 13:26:47 ] boost の program_options で言及されているレスポンスファイル に関する機能って、以前は configuration file って呼ばれていた ものですか?単に呼び方が変わっただけですか? www.boost.org/doc/html/program_options/howto.html#id2715898
537 名前:536 [2007/01/04(木) 13:32:57 ] 1.33.1 のソースを見てみると、 // Additional command line parser which interprets '@something' as a // option "config-file" with the value "something" なんて書いてあるなぁ、前からあった機能なのか。 なんか俺が勘違いしていたみたいです。
538 名前:536 [2007/01/04(木) 13:42:23 ] 追加のオプションをファイルで与えることが出来る multiple source の機能と、コマンドラインそのものを ファイルの形で与える response file の機能を 混同していたようです。
539 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 14:35:43 ] ある大学でresearch programerっていう仕事の公募が出てる research programerていうのはboostの開発してるような人達なのかな
540 名前:536 [2007/01/04(木) 14:42:44 ] >>539 頼まれてシミュレータなどのコードを書く人のことじゃないかなぁ。
541 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 16:05:49 ] >programer programmer
542 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 17:55:53 ] >programmer programer
543 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 19:01:27 ] pugeramer
544 名前:535 mailto:sage [2007/01/05(金) 04:25:51 ] POCOにバグレポ書いたと思ったら、もうFixされたバージョンリリースされてた。 はえー。 拙い英文でもバグレポ書いた甲斐があったわ。 勇気付けてくれた >>534 あんがと。
545 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 11:12:28 ] 英語力がないから>535の意味を掴み切れない_/ ̄|○ #今年は真面目に(系統立てて)勉強するかな……