1 名前:デフォルトの名無しさん [2009/08/28(金) 16:53:36 ] 過去スレ part 7 pc12.2ch.net/test/read.cgi/tech/1232367742/ part 6 pc11.2ch.net/test/read.cgi/tech/1207749841/ part 5 pc11.2ch.net/test/read.cgi/tech/1192662575/ part 4 pc11.2ch.net/test/read.cgi/tech/1175663346/ part 3 pc11.2ch.net/test/read.cgi/tech/1158991211/ 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/
563 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 22:35:40 ] program_optionsはもうちょっと何とかならないのかな。あとspirit。 定番用途なのにもったいない。 progress_displayは別にいいや。
564 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 22:51:05 ] >>563 Boost.Spiritはv2になってコンパイル速度が遅く なったのが痛いな。 とはいえCPUがこれから先 さらに進歩すれば十分使えるようになるだろう。 ・・・たぶん。 program_optionsはそもそも事前にビルドしておかないといけないってのが 難点というか、俺はそれで使ったことない。 progress_displayは・・・まあ別にいいや。 rootでなくてどっかのディレクトリに入って欲しいなぁってくらい。
565 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 23:01:06 ] 更新しました。trunkはまだ1.42のままです。 ttp://booster.x0.to/ 以下更新内容の一部 [Exeption] improved memory leak test. [Math] Improve the performance of the Bessel functions, and update docs. [Fusion] Fusion: adding overload for const parameter types Fusion: fixed adapt_class to be usable with Spirit, added adapt_class_named [Spirit] Complete Unicode Level-1 support: table generation. Spirit: adding workaround for MSVC falsly trzing to use multi_pass::operator== for other iterators Spirit: buffer[buffer[...]] does not result in double buffering anymore, added tests [Property_tree] Fix an issue in MSVC for ptree::equal_range.
566 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 23:01:47 ] [Regex] Improve regex performance on msvc by removing statically allocated recursion stack, and using a std::vector instead. [Program_options] fix in winmain, Fixes #3879 [Serialization] Added comment regarding intentional anonymous namespace in header [Statechart] simple_state::context() now also finds bases of state types. [Uuid] switch from the Boost Test Library to boost/detail/lightweight_test.hpp moved uuid generators into their own file [Wave] Wave: added found_unknown_directive preprocessing hook, bumped version number 亦、libs_for_build_boost.rarもICUを4.3.4にアップデート致しました。
567 名前:デフォルトの名無しさん mailto:sage [2010/02/07(日) 23:07:56 ] boost/exception.hpp が使えなくなってるぅぅぅるうううるるううーorz boost/exception/all.hpp を使えだってさ
568 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 00:35:02 ] >>567 さすがにこの変更はないわ boost/exception.hppでall.hppをincludeしてくれたらよかったのに
569 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 10:08:38 ] >>562 海外製のライブラリはそんなのが多いような気がする。 VisualStudio限定の話になるけど、文字セットを「Unicode文字セットを使用する」に設定するとおかしくなる感じで。
570 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 10:22:46 ] boost::exceptionは破壊的変更やりすぎ もっと練ってから入れて欲しかった
571 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 20:05:03 ] 何も考えずにall.hppに変更してたんだけど、そんなことになってたのか。 spiritに続いてこの仕打ちは酷いよ。
572 名前:564 mailto:sage [2010/02/08(月) 21:31:20 ] boost::exceptionも使ったことないから分からん。 やっぱboostに入るぐらいだから便利なんだろうか。 紹介を見てもそんな例外をばりばりに使用しないしって思っちゃう。。。
573 名前:デフォルトの名無しさん mailto:sage [2010/02/08(月) 22:52:17 ] 例外でエラー通知する場合は便利じゃない
574 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 05:19:46 ] Boost 1.42 shared_ptr<string>がBoost.Serializationでシリアライズできない。 STATIC_ASSERTにひっかかる。
575 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 14:04:38 ] >>561 結局、command_line_parserに渡す前に自前で処理しました。 GNU拡張とはいえgetoptにできることぐらいはできないと困るね(´・ω・`)
576 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 14:05:14 ] shared_ptr まだシリアライズできないバグがあるのかw 何やってんだw
577 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 19:16:31 ] Boost.Serializationって どんなときに使うのでさ?
578 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 19:18:30 ] データを直列化し総サイズを算出して現在進行しているアルゴリズムの進捗状況と照らし合わせて progress_displayに情報を渡す。
579 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2010/02/09(火) 19:35:36 ] 1.41と1.42は本当にちゃんとテストしているのだろうか
580 名前:デフォルトの名無しさん mailto:sage [2010/02/09(火) 20:29:12 ] >>578 progress_displayすげー。
581 名前:デフォルトの名無しさん mailto:sage [2010/02/10(水) 09:49:53 ] >>577 処理状態をファイルか何かに保存したりしたい時 例えばゲームのセーブロードとか、CGIのセッション保存とか
582 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 06:09:02 ] 設定の保存と読み込みによく使ってるわ iniとか使う気になれんし
583 名前:577 mailto:sage [2010/02/11(木) 11:47:05 ] >>581-582 ありがとう。 なるほど。途中状態の記録とかに便利なのか。。。
584 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 18:53:45 ] 今までBoost無しでスタティックライブラリ開発してたんだけどもうBoost入れるわ・・・ でもさ,Boostに依存しまくったライブラリとかみんな使ってくれるかな・・・
585 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 19:11:18 BE:420223627-2BP(0)] Boostを入れなくても使えるようにすればいいんじゃないか?
586 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 19:26:29 ] そうか分離出来るかわからないけどヘッダにboostに依存する型が入らないようにしてみる 自力ビルドしたい人とかサポート外環境の人には諦めてboost入れてもらうことにしよう・・・
587 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 21:56:16 ] 矢沢「え?せっかくのC++なのにBoostついてないの・・?・・・・・それはもったいない・・」
588 名前:デフォルトの名無しさん mailto:sage [2010/02/11(木) 23:33:38 ] STLでさえ禁止のところあるからなぁ・・・ Qtはおすすめ
589 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 00:19:46 ] >>584 依存しまくったライブラリでも有用性があるならおkでしょう。 ただしそのライブラリが複数あるなら、依存しないでかけるライブラリは その方が良いのかもしれんけど。
590 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 00:24:33 ] >>588 > STLでさえ禁止のところあるからなぁ・・・ 別にそんな会社は潰れちまえばいいだけだろ。 ・・・え?ウチの会社・・・?
591 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 00:34:20 ] テンプレートが使えるだけありがたく思え
592 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 05:18:35 ] Boost使えなす(´;ω;`) ↑STLが使えるだけマシだろ ↑テンプレート使えるだけマシだろ
593 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 06:18:03 ] >>592 この板の「職場で使わせて貰えない」系の嘆きも、そういう順で変化してってるよね。 俺が最初にこの板来た頃はテンプレートで、次にSTLになって、今はBoost。 「C++0x使わせてもらえない」も来るかな。autoくらい使わせてくれよ的な。
594 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 08:30:16 ] Boost使えなす(´;ω;`) ↑STLが使えるだけマシだろ ↑テンプレート使えるだけマシだろ ↑C++使えるだけマシだろ ↑C使えるだけマシだろ ↑アセンブラ使えるだけマシだろ
595 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 08:33:03 ] さすがに意味がわからん
596 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 09:30:18 ] boostの正規表現機能を使いたいのですがあれって性的リンクだそうですが ライセンスとかどうなんでしょう?
597 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 09:39:48 ] 性的リンク ハアハア
598 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:20:21 ] boostライセンスは凄く緩いんで気にすることは無いよ boostライセンスの条文のコピーとboost使ってますっていう記述を readmeにでも書いてればおk
599 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 10:28:39 ] そんな事しなくてもソースコード中(公開しなくてもいい)に boostのライセンスのせときゃいいよ
600 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 11:15:05 ] 静的リンクが問題になるライセンスってたとえば何だ?
601 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 11:16:12 ] LGPL
602 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 11:31:30 ] いうと思った。 それは問題にならない。 LGPLはオブジェクトコードがどういうものかというのを定めてはいない。 動的リンクだろうと静的リンクだろうと、それはLGPLの定義の範囲外にある。 LGPLでは、ソースコードとして、どのように使っているかが問題になる。
603 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 11:56:02 ] xpressive という話が出ないのはなんでだ?
604 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 12:09:00 ] え、出る文脈じゃないと思うけどなぁ。
605 名前:regex mailto:sage [2010/02/12(金) 12:20:58 ] 俺は規格にも取り入れられた由緒正しき標準ライブラリだ。 どこの馬の骨とも知らねぇライブラリと一緒にしてくれるな。 そうそう、progress_display君が、今度お前と一緒に飲みに行きたいらしいぜ。 せいぜい付き合ってやれよw
606 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 12:37:47 ] >>602 「オブジェクトコード」という言葉は定義しなければならない性質のものなのだろうか。 それに「リンク」という言葉はオブジェクトコードという言葉に対しては使われていない。
607 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 16:50:36 ] >>603-604 いや、boostの正規表現はライブラリをリンクしなければいけない と >>596 が思い込んでる気がしてな。 xpressive 使えばそもそもリンクなんか必要ないだろうと。 >>605 コンパイル時間の増加以外に具体的にまずいところがあるなら教えてくれ。
608 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 17:29:40 ] tr1ならregex入ってるからboost要らないのでは
609 名前:デフォルトの名無しさん mailto:sage [2010/02/12(金) 19:39:49 ] >>608 大丈夫そうですね d.hatena.ne.jp/yamadila/20080825/1219595555
610 名前:デフォルトの名無しさん [2010/02/13(土) 01:40:16 ] >>596 > boostの正規表現機能を使いたいのですが > あれって性的リンクだそうですが > ライセンスとかどうなんでしょう? 読んでみ? 参考日本語訳はttp://hamigaki.sourceforge.jp/doc/html/license.html 要するに、 1.ソースコードの形で流用するなら ライセンス文全部と著作権表示をすれば流用OK。 2.コンパイルしちゃってバイナリの形で利用・再配布等するなら 全くライセンス文や著作権表示すら不要。
611 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 02:09:48 ] GoogleIMEはやたらと性的を勧めてくるから困る
612 名前:デフォルトの名無しさん [2010/02/13(土) 02:22:22 ] ublasですが、ublas::vectorをublas::matrixとして 式に組み込みたいのですが、どうすればいいでしょうか? // 例えばvector2をmatrix2x1のように扱う。 ublas::vector< double > v( 2 ); // vector2 ublas::matrix< double > m( 2, 1 ); // matrix2x1 m.assign( v ); // <-これが通るようにしたい。
613 名前:612 mailto:sage [2010/02/13(土) 02:37:45 ] 一応ublas::outer_prod()を使えば vectorからmatrixへ変換出来ることはわかりました。 他にもっと良い方法があれば教えてください。
614 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 03:09:08 ] >ublasですが、ublas::vectorをublas::matrixとして >式に組み込みたいのですが 漏れの読解力じゃここが分からんのだが、結局何がしたいのか??
615 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 03:11:38 ] matrixの一部を更新するのにvectorを使いたいって事じゃないの
616 名前:612 mailto:sage [2010/02/13(土) 03:29:46 ] わかりづらくてすみません。 >>614 さんのとおりです。
617 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 03:31:04 ] それなら ublas::column(m, 0).assign(v) // m の第0列に v を代入 でいける 同じように ublas::row(m, i) で m の第i行が取得できる 他には ublas::slice とか ublas::project とかで部分ベクトルと部分行列も取れるよ
618 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 04:39:35 ] すみません、他スレでも質問したのですが用途が異なるとのことでこちらで聞かせてください 開発環境:vc++ 2008 Express Edtion boostのshared_ptrを使いメモリ管理を楽にしようかと思っているのですが、 shared_ptrによって隠蔽されたポインタはインテリセンス(コード保管)によってpublicな変数や関数を参照できないことに気づきました。 たとえば class Test { public: int a; Test() { a = 100; } ~Test() { } }; というクラスがあり。 コードの一部に以下のようなコードを仕込み試したところ。 shared_ptr<Test> p(new Test()); printf("%d\n", p->a);//インテリセンス無効 Test *p2 = new Test(); printf("%d\n", p2->a);//インテリセンス有効 スマートポインタを介したpはインテリセンスできず、直接のポインタであるp2はインテリセンスでaを参照できました。 僕は隠蔽されているのでインテリセンスができないのは当たり前のことのように感じたのですが、 そのスレではスマートポインタもインテリセンスできるはずと言われました。 なんらかの設定、もしくはアドインのようなものを入れればスマートポインタはインテリセンスできるのでしょうか
619 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 05:23:20 ] Intellisenceによる解析はバックグラウンドで進行してるから、 補完がきかないのはshared_ptr<T>の解析が済んでいないか、 もしくはどこかで解析に失敗してDatabaseが壊れてる。 IDEを開き直すか、あるいはソリューションフォルダ内の.ncbファイルを削除して しばらく待ってればそのうち補完がきくようになる。 再現性100%でIntellisence壊れるようなヘッダを別のところでincludeしていた場合、 (boost::shared_ptrとは関係なく)いつまでも解析が終わらないことがあるが、 その場合はそれがIntellisenceの限界。諦めろ。
620 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 05:34:37 ] shared_ptrだけの話ならboostやめてtr1だけの方がIntellisenceの死ぬ確率低いんじゃないか? 何れにせよ過度な期待はしない方がいいな 動けばラッキーくらい。最初から諦めてれば何とも思わなくなる
621 名前:618 mailto:sage [2010/02/13(土) 05:55:44 ] ありがとうございます。他のtmplateを扱うクラスでIntellisenceしてみたところ有効であることに気づきました。 クラッシュもしくは解析に時間がかかっていると考えます。 tr1ありがとうございます。検討します。 620さんのいうとおり基本的には動かないものと考え、動いたときに「おっ」って言おうと思います。
622 名前:618 mailto:sage [2010/02/13(土) 06:02:21 ] tr1でIntellisenceできました、ありがとうございます!
623 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2010/02/13(土) 08:22:34 ] 2010のIntelliSenceに期待だな
624 名前:612 mailto:sage [2010/02/13(土) 11:06:00 ] >>617 vectorをmatrixに、ではなくて matrixから部分vectorを得て、という考え方に変えるんですね。 とてもよくわかりました。その方向で修正します。 ありがとうございました。
625 名前:デフォルトの名無しさん mailto:sage [2010/02/13(土) 13:26:01 ] >>611 > GoogleIMEはやたらと性的を勧めてくるから困る なるほど。性的と静的を比較して、どっちが多く検索されている かといえば無論・・・。。。ってことか。
626 名前:デフォルトの名無しさん mailto:sage [2010/02/14(日) 14:50:34 ] >>562 このスレのアイドル progress_display への侮辱はゆるさないよ?
627 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 15:23:34 ] あ?プロディスディスってんの?
628 名前:デフォルトの名無しさん mailto:sage [2010/02/18(木) 23:39:24 ] Boost1.41.0以降でspiritV1使うときはboost::spirit::classicを使うことになるんだけど、 これって1.41以前のspiritと動作変わってたりする?
629 名前:デフォルトの名無しさん mailto:sage [2010/02/19(金) 20:04:25 ] 更新しました。trunkは1.43に移行しました。 ttp://booster.x0.to/ 以下更新内容の一部 [Fusion] adapt plain old array types (1) [Typeof] Apply variadic functions patch from Sergey Zubkovsky. [Spirit] Spirit: raw[] and lexeme.hpp[] do not pre-skip anymore Spirit: adding no_skip[] directive, docs, tests, etc. added code for pre-skipping "implicit lexeme" rules [Lexical_cast] Use BOOST_LCAST_THROW_BAD_CAST consistently. [Functional] Stop using the deprecated BOOST_HAS_ macros in unordered and hash. [Unordered] Stop using the deprecated BOOST_HAS_ macros in unordered and hash. [Thread] Changed boost.thread to use BOOST_NO_RVALUE_REFERENCES rather than BOOST_HAS_RVALUE_REFS Overload boost::move for thread& and thread&& [Static_assert] Use BOOST_NO_STATIC_ASSERT [Archive] change to avoid ">>" syntax error when passed a template instance [Property_tree] Make BOOST_PROPERTY_TREE_THROW an alias for BOOST_THROW_EXCEPTION. [Program_options] Robustify disambiguation of full/approximate matches. Fixes #3942.
630 名前:デフォルトの名無しさん mailto:sage [2010/02/20(土) 12:44:28 ] >>628 名前空間移動した以外の変更はせずに使ってるけど。 名前空間の移動はコードや動作は変えないって意思表示だと思ってる。
631 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 01:09:47 ] 過疎ってるな。どうした?
632 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 01:14:44 ] ネタがない
633 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 01:17:31 ] vaultに沢山あるだろうが軟弱者め。 λ式で脳みそ犯されろ。
634 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 12:43:22 ] C++相談室で大概のboostネタは回答完了してしまうからな。 boostネタを回答するときは、ここのURLも張ろうぜ
635 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 12:47:25 ] ご自由にどうぞ
636 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 12:50:56 ] >>633 vaultのお勧めは何?俺はrangeExに注目している。といいつつoven使ってるが。
637 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 14:15:12 ] C++相談室においてboostに関する質問が出た場合のテンプレってあるの? 「現行C++においてboostは標準のライブラリではないから処理系依存スレかboostスレへどうぞ」
638 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 14:45:35 ] 質問に対する解答でboost使えばできる ってのがたまにある
639 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 14:46:30 ] >>633 vaultとかsandboxとか、そこまで手を広げるのか。
640 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 15:16:27 ] shared_ptrとかstd入りしたクラスもあるし ところでどっちを使えばいいんだ?
641 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 15:17:06 ] std入りしたクラス
642 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 15:19:07 ] >>640 許可されている方。 もうちょっとしたらstdを使えばいいんでね?
643 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 15:38:39 ] boostのほうなら、標準非対応なコンパイラでも気の利いた動作をしてくれそう。 といってもMSVCとGCCしか使ってないけど。
644 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 18:41:36 ] 一応こんなスレもある訳だが… Boost C++ Libraries Sandbox pc12.2ch.net/test/read.cgi/tech/1250396380/
645 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 20:02:13 ] >>644 ウチより閑散としとるw
646 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 20:51:02 ] Oven/Egg総合スレ part1 pc12.2ch.net/test/read.cgi/tech/1231080841/ part1 がむなしい。 STL スレも含めて template 統合で良かったような気がするんだけどね。
647 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 21:01:08 ] 次が出るかも分からないし前スレがあったわけじゃないのにいきなりpart1ってなんだよ・・・
648 名前:デフォルトの名無しさん mailto:sage [2010/02/28(日) 22:01:20 ] boost::ublas のmatrixへ、C配列からブロックごとコピーする方法ってありますか? ・matrixの使っているメモリが連続しているのか ・sliceか何かでブロックのアドレスを外から代入することができるか の二点が問題になりそうですが。
649 名前:デフォルトの名無しさん mailto:sage [2010/03/01(月) 02:03:59 ] vaultはその辺のC++よく分かってません的なのが適当に放り込んだクソコードが 普通にあるから論外
650 名前:デフォルトの名無しさん mailto:sage [2010/03/04(木) 18:55:09 ] >>648 matrix<T, row_major> mはCの2次元配列とメモリ配置が一致してる 初期化なりresizeなりであらかじめメモリを確保しておけば、 &(m(0, 0))で先頭アドレス取り出せるからメモリ配置考えてコピー可
651 名前:デフォルトの名無しさん mailto:sage [2010/03/05(金) 16:27:23 ] >>650 ありがとうございます。 あと &(m.data()[0]) とかも使えそうですね。
652 名前:デフォルトの名無しさん [2010/03/06(土) 01:12:35 ] 俺もvaultにクソコード突っ込んだけど、誰も反応してくれんな。
653 名前:デフォルトの名無しさん mailto:sage [2010/03/06(土) 01:41:16 ] >>652 お前みたいな奴が仕事増やしてるんだよ死ねよクズが
654 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 17:27:21 ] Boost 1.42 + VC9 // コード typedef void (alloc_func)( ); #include <boost/property_tree/detail/rapidxml.hpp> // エラー error C2226: 構文エラー : 'alloc_func' 型指定子の前あるいは内部で構文エラーが発生しました。 boost::property_tree::detail::memory_pool内での > typedef void *(alloc_func)(std::size_t); という宣言で引っかかっている。 グローバルのalloc_funcの宣言を、インクルード後に書いたらエラーにならなかった。 VC9のバグだろうか?
655 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 17:44:53 ] >>654 エラーになるところを中心に切り出していけば、もっと条件絞れるんじゃないの?
656 名前:654 mailto:sage [2010/03/07(日) 17:54:26 ] // 最小条件はたぶんこれ typedef void (func)( ); namespace foo { typedef void* (func)( ); } // これならおk typedef void (func)( ); namespace foo { typedef void* pvoid; typedef pvoid (func)( ); }
657 名前:654 mailto:sage [2010/03/07(日) 17:58:52 ] なので、rapidxml.hpp の typedef void *(alloc_func)(std::size_t); // Type of user-defined function used to allocate memory の行を typedef void *alloc_func_result_type; typedef alloc_func_result_type (alloc_func)(std::size_t); // Type of user-defined function used to allocate memory に書き換えてやれば解決するはず。
658 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 18:15:18 ] >>657 それ解決やない、回避や。
659 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 18:18:27 ] >>656 そんなのが通らないならコンパイラのバグだろさすがに。
660 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 20:34:45 ] さすがM$…
661 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 20:37:42 ] typedef void (*func)( ); じゃなかったっけ? typedef void (func)( ); こう買いてもおkなんだっけ
662 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 20:40:50 ] typedef void* (func)( ); void*を返す関数 typedef void (*func)( ); 戻り値なしの関数へのポインタ typedef void (func)( ); 戻り値なしの関数 合ってる?
663 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 20:41:17 ] >>661 上は関数ポインタの型 void(*)(void) 下は関数の型 void (void)
664 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 20:45:20 ] 昔関数ポインタを引数に取って関数ポインタを返す関数ポインタを引数に取る関数が typedefなしで書かれてて泣いた
665 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 21:08:29 ] func)( が funcX に見えて謎の会話に見えた…
666 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 21:12:49 ] >>664 haskell記法で書けばこうか func :: ((a -> b) -> (c -> d)) -> e
667 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 21:55:31 ] void func(void (*(l*)(void (*)(void)))(void)) ; auto func(auto (*)( auto (*)() -> void ) -> auto (*)() -> void ) -> void ; 新しい関数宣言の文法で書いたら、VC10はクラッシュ。gcc 4.5はコンパイルエラー。 どちらも、一応は実装しているんだが。 まだまだC++0xには程遠いな。
668 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:04:25 ] >>664 signal関数か
669 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:34:31 ] >>667 の解説おねがい
670 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:35:34 ] 心の目で読むんだ
671 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:46:26 ] 誰も実装できないような規格を作ってて どこへ向かうのですか!? と禿を問い詰めたい。
672 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:55:43 ] しかし、規格を作ったら誰かが実装してしまう。それがC++だろ。 exportだって1人くらいは実装したやついたし。
673 名前:デフォルトの名無しさん mailto:sage [2010/03/07(日) 22:58:44 ] >>668 「関数ポインタを引数に取って関数ポインタを返す関数ポインタを引数に取る関数」の例。 ただ、上はちょっとtypoした。lが混じってる。 ×void func(void (*(l*)(void (*)(void)))(void)) ; ○void func(void (*(*)(void (*)(void)))(void)) ;
674 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 03:13:19 ] boostスレでやるネタじゃない罠
675 名前:デフォルトの名無しさん mailto:sage [2010/03/08(月) 19:47:01 ] spirit.karmaってすごい名前だなw
676 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 18:49:13 ] Uuidちょっとみてみたが、乱数ベースの生成でintかlongか忘れたけどsizeが4byteな処理系ではバグがある。 報告しようとしたら、修正コードもアップされてた。 ただ、乱数ベースが一番ユニークなID生成方法なライブラリというのは使い道あるのか?
677 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 19:22:19 ] uuidは乱数とmacアドレスとtimeスタンプじゃなかったか guidだったかもしれんが
678 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 19:33:43 ] >>677 ふつう使うのはその生成方法だとは思う。 RFCではそのほかに乱数ベース、ネームスペース付の文字列から生成するなどいくつかバージョンがある。 OSの関数を呼び出す処理がコメントでTODOとして書いてあったが、LinuxのuuidパッケージはGPLだった気がする。 ライセンス的に微妙なのかもしれない。
679 名前:デフォルトの名無しさん mailto:sage [2010/03/10(水) 21:49:57 ] いくつかアルゴリズムがあったのか オープンソースなスタティックライブラリ内でGPLパッケージをリンクすると 前者もGPLになってしまうのか それともライブラリをリンクした人が考える問題なわけだけど ユーザに丸投げするとboost使うひとがメンドくさすぎるから できるだけ外してるんだろうか.よくわからんな
680 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 00:00:33 ] e2fsprogs.sourceforge.net/e2fsprogs-release.html#1.36 e2fsprogsパッケージはGPLだけど、libuuidは修正BSD WindowsのUuidCreate呼ぶ奴もないし、まだ方針が定まってないだけじゃないの。
681 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 20:29:18 ] program_options って desc.add_options() ("hoge", boost::program_options::value<double>(), "") ("hoge_foo", boost::program_options::value<double>(), ""); みたいに他方のオプションが一方のオプション文字列から始まるとコマンドを認識できないんだな (--hoge_foo をオプションで渡しても --hoge と認識される) 細かいオプションも扱えないしマジでゴミだなこれ
682 名前:デフォルトの名無しさん mailto:sage [2010/03/11(木) 22:37:18 ] オプションにパラメータを連続で記述できる仕様なんだろうね。 オプション名の長いほうから追加したらどうなるん?
683 名前:デフォルトの名無しさん mailto:sage [2010/03/13(土) 03:47:59 ] lispに浮気してきたけどboostにもどってきましたよ
684 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 02:46:18 ] boost::mplでlispるんですか?
685 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 02:47:13 ] 全知全能の神ッ!
686 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 05:31:07 ] codepad.org/IjaOu3gt すみません,このコードでth3,th4が実行されないのはc++の仕様でしょうか
687 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 05:38:42 ] なんでth6しかjoin()してないんだ?
688 名前:デフォルトの名無しさん [2010/03/14(日) 05:42:10 ] codepad.org/7CodBLpQ すみません,全部joinする感じでお願いします
689 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 07:38:49 ] コンパイルエラーになってないか
690 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 08:19:01 ] codepadだとコンパイルエラーになるようです あと今回問題のth3,th4が原因で th3.join()とth4.join()でエラーになります それを除けば大丈夫だとおもいます.
691 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:24:00 ] >>688 th3とth4の宣言はそれぞれtest0()、ret_test0()という「関数」を引数にとる「関数のプロトタイプ」と認識する th3とth4のjoin()でコンパイルエラーになるのはオブジェクトが生成されていないから 多分テンプレートコンストラクタ特有の現象 ↓で再現するんじゃないかな? struct CTest { template<typename F>CTest(F f){} void join(){} }; CTest tst( test0() ); // プロトタイプ宣言になってしまう tst.join() // コンパイルエラー(これを外せば一応コンパイルは通る)
692 名前:デフォルトの名無しさん mailto:sage [2010/03/14(日) 14:43:27 ] >>691 なるほど! boost::thread th3(test0());は 関数型のtest0 noname(void)を受け取って boost::threadを返す th3という名前の関数のプロトタイプになってしまうんですね. boostというよりc++の問題だったみたいで申し訳ないですが ありがとうございました.
693 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 16:01:47 ] >681 www.boost.org/doc/libs/1_42_0/doc/html/boost/program_options/command_line_style/style_t.html ideone.com/yemWObm2
694 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 20:45:04 ] 更新しました。 ttp://booster.x0.to/ 以下更新内容の一部 [Fusion] adapt template classes/structs [Math] Use the official boost.math check for long double [Spirit] Spirit: fixed #3806 (spirit/home/support/multi_pass.hpp missing functor_input #include) Added buffering_input_iterator to multi_pass suite adding default_wide char_encoding [Graph] Changed to allow characters that are not 8-bit; added one-bit-per-color color map [Random] Rearrange the componenents in libs/random and create a library for random_device. Fixes #3672 [Asio] Reworked implementation. Fix bug where 0-byte reads were incorrectly passing an eof error_code to the handler. Refs #4023. [Proto] fix error in invocation of callable monomorphic function objects, expression self-assignment creates an assign node [Uuid] Fixed bug in basic_random_generator. It wasn't producing random uuids correctly. 亦、libs_for_build_boost.rarも、bjam.exeをrev.60157に、 ICUを4.4に、zlibを1.2.4にそれぞれアップデート致しました。
695 名前:デフォルトの名無しさん [2010/03/20(土) 22:30:15 ] www.ryppl.org/
696 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:15:54 ] ここで ttp://www.kmonos.net/alang/boost/ おお久々の更新だ。 ◆ Version 1.42.0 と 1.41.0 対応 (2010/03/14) 新規ライブラリに関する Let's Boost のページ…: property_tree (汎用木構造型コンフィグ管理) / uuid (ユニークID生成器)
697 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:22:14 ] ありがたや ありがたや
698 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:27:37 ] property_treeって何だ? なんか便利そうだな。property_treeかうーん。
699 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:30:26 ] uuidとかもう自前で作っちゃいましたがな・・・
700 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:34:05 ] UUIDを動的に生成する事なんてほとんどないから VSに付いてる奴で済んじゃってるな
701 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:46:01 ] 現状の uuid は乱数と sha1 しか生成手段がなくて、マシン固有の値とかから生成する手段は提供されてないみたい。 ちょっと衝突が心配。 "ハードウェアやミドルウェアの提供する機能を使った UUID 生成機能は将来的に実装予定" らしいが…。
702 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 23:50:03 ] VSでいいならguid使うが unilinuでも使える共通インターフェースが必要なんだよ
703 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 12:39:58 ] uuid、WinではCoCreateGUID()を使うようにはなってないのね
704 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 12:58:20 ] じゃあCoCreateGUIDを使うように修正してboostのcommuに挙げろよ
705 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 14:22:22 ] >>701 sha1の衝突を心配してたらSSLも使えないだろう
706 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 15:28:29 ] SHA-1は2010年問題が頭をよぎってあんまり使いたくない まあ暗号じゃないけどさ
707 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 18:23:47 ] sha1の衝突とか、現実には起こらないから大丈夫だよ。 少なくとも俺らが定年するまでには起こらない。
708 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 18:38:35 ] いざとなったらSHA1と他のハッシュアルゴリズムを組み合わせて 同時に満たしているかを調べる感じで・・・
709 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 18:50:01 ] どっちかというと乱数のほうを気にしたほうがいいんじゃないか。
710 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 19:01:18 ] ランダムデバイスから取った種でmt19937使うだけの安直な方法をとっている
711 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 19:54:39 ] それで問題がないなら「安直」ではなくて「分かりやすい」と言うべき
712 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 20:14:12 ] 問題あるがな
713 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 20:17:57 ] 問題があるなら「安直」ではなく「粗雑」というべき
714 名前:デフォルトの名無しさん mailto:sage [2010/03/23(火) 20:59:15 ] 文字列からuuidを作る方法があるなんてはじめて知った。 ランダムだけかと思った。
715 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 16:23:56 ] boost/serializationを使ってメンバにvectorを含むクラスをシリアライズしたのですが、 データを復元する際 boost::archive::binary_iarchiveから>>を使って読み込む際に std::length_errorが返ってきてしまいます。 これは仕様なのでしょうか?
716 名前:デフォルトの名無しさん mailto:sage [2010/03/25(木) 23:50:49 ] まずバージョンと環境と再現コードを貼ったら?
717 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:41:16 ] 更新しました。 ttp://booster.x0.to 以下更新内容の一部 [Asio] Fix epoll_reactor bug where cancelled operations would complete with a "success" error_code. Use cancel() to avoid Windows behaviour where a connection is reset if the socket is closed while there is a pending read operation. [Proto] try again to get proto assignment overloads right add an appendix for release notes [Wave] Wave: added new preprocessing hook: emit_line_directive, added corresponding functionality to wave driver Wave: Fixed the wave driver application to strip leading and trailing whitespace from macro names specified on the command line using -U. [Spirit] Spirit: Fixing bug in display_attribute_of_parser utility. Straight UTF-8 implementation Spirit: Added missing namespace qualification When supplying 3 arguments for the adder, require the third (val) argument. Otherwise, it will be ambiguous with the 2-param version. Spirit: renaming directory [Unordered] Add quick_erase to the unordered containers. Refs #3966. [Graph] Fixed warning (and probable bug) in test case Re-enabled Spirit-based parser (but not by default) and cleaned up Graphviz reader implementation [Numeric] storage.hpp: see #3968, applied patch to use references instead of copies in swap implementations [Functional] Remove optimization which causes 0.5 to hash to 0. Refs #4038. [Python] Handle the destructor call in a way that keeps msvc happy. Fixes #4003 亦、libs_for_build_boost.rarも、bjam.exeをrev.60778にアップデート致しました。
718 名前:デフォルトの名無しさん mailto:sage [2010/03/30(火) 22:49:25 ] 関係ないけど boost.progres_timer で catch (...) {} // eat any exceptions ってコードがあるんだがwww すごい潔すぎる
719 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 00:53:31 ] 動けばよかろうなのだ
720 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 09:18:00 ] デストラクタでよくやる方法ジャマイカ
721 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:18:00 ] >>720 さすがに空っぽはねーよ。ログなりなんなり出すだろ。
722 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:20:12 ] >>718 納期寸前によくやる方法ジャマイカ
723 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 11:21:04 ] エラー忘却型コンピューティング - Wikipedia ttp://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%A9%E3%83%BC%E5%BF%98%E5%8D%B4%E5%9E%8B%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0
724 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:03:51 ] 単に握りつぶすのとエラー忘却するのは意味合いが違うことないかw
725 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:54:11 ] > エラー忘却型コンピューティングにおいては、 > データの不整合が発見されても不整合が発見されたというログだけを残し、 > 処理を継続させるのが特徴。 ということで、 catch (std::cerr << "error!" << std::endl;) {} // eat any exceptions で解決!
726 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 13:56:05 ] せめてどこでどんなエラーが出たか書かないと意味ないと思うの
727 名前:725 mailto:sage [2010/03/31(水) 14:00:41 ] >>726 さすがにジョークですお
728 名前:デフォルトの名無しさん mailto:sage [2010/03/31(水) 14:17:18 ] >>725 文法おかしいよ。
729 名前:725 mailto:sage [2010/03/31(水) 14:22:19 ] >>728 ちょーはずかすい catch (...) {std::cerr << "error!" << std::endl;} // eat any exceptions
730 名前:デフォルトの名無しさん mailto:sage [2010/04/02(金) 23:49:31 ] 更新しました。 ttp://booster.x0.to 以下更新内容の一部 [Spirit] Spirit: added Karma generator for outputting arbitrary sexpr Spirit: improving customization points for karma alternatives [Asio] Change the resolver implementation to no longer require the typedefs Don't allow speculative reads when message_out_of_band is specified. Don't perform a speculative read when an out-of-band read is pending. New kqueue reactor implementation using one-shot event registration. Fix so that lock is not held while reactor is running. [Mpl] Fix for #1992 [Range] Boost.RangeEx merged into Boost.Range [Graph] Added missing include [Property_map] Converted dynamic_properties to use boost::shared_ptr instead of std::auto_ptr Added vertex_bundle and edge_bundle property maps, plus fixed some property map allocation bugs [Detail] Uncomment ifdef test that was accidentally left commented. [Unordered] Use boost::throw_exception in unordered. [Iostreams] Explicitly qualify call to equal for compilers which find it ambiguous. [Thread] Fix use of rvalue ref in futures
731 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 19:17:43 ] 困った、ちょっと質問。 tempはテンプレート型で、x、yをメンバに持つ構造体が今入っている。 const static char *SPEACE = {"^"}; char line[256]; std::list<std::string> str; while( !ifs.eof() ){ ifs.getline(line, sizeof(line)); boost::algorithm::split( str , line, boost::is_any_of( SPEACE ) ); temp.pos.x = boost::lexical_cast<float>( str[0] ); temp.vec.y = boost::lexical_cast<float>( str[1] ); } とするとエラーが出る…。 vectorにすると通るんだけど、この後のremove_ifの問題でlistでやりたい。 どうにかする方法を教えて欲しい。
732 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 19:30:12 ] ttp://www.boost.org/doc/libs/1_42_0/doc/html/boost/algorithm/split_id614972.html
733 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 19:54:24 ] できそうだけどなぁ
734 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 20:14:25 ] >>732 あ、簡単に解決したw 一瞬作り直しかと思ってヒヤっとした、騒がしてすまん
735 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 20:38:25 ] 何をどうしたんだい
736 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 05:40:43 ] boostのpendingってフォルダの中にあるファイルは使ってもいいんですか? 説明を読むと「簡単だが少し遅い。テンプレートで高速に書き直す必要が ある」とか書いてあるんですけど、タイムスタンプが既に3年前で放置されています
737 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 06:02:06 ] >>736 仕様が不明確だったりバグ持ちだったり将来のバージョンで同じように使えなくなっても 文句は言えないけど、それを承知で使うんならかまわないでしょう。
738 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 11:04:35 ] >>737 レスありがとう 実はboost::stringtokなんですよ strtok()は便利だけどこのstd::string版がpendingフォルダに 入っているので不安になったのです
739 名前:デフォルトの名無しさん mailto:sage [2010/04/09(金) 20:52:59 ] >>738 boost::tokenizerって知ってるか?
740 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 00:00:51 ] >>738 boost::tokenizer ttp://homepage2.nifty.com/c-labo/boost_tokenizer.html この解説を読んでこっちを使うべし!
741 名前:デフォルトの名無しさん [2010/04/10(土) 14:40:24 ] Old Nabble - Boost - Dev - GSOC BigInt Licensing Issues old.nabble.com/GSOC-BigInt-Licensing-Issues-td28070540.html このやりとりって結局どういう事になっているのでしょうか? 質問者swagat konchada :: Boost.BigIntはGMPを使っているからLGPLじゃないのですか? 解答者Rob Stewart :: ??? 解答者Felipe Tanus-2 :: ??? 後2つが分かりませんでした。 どなたか教えていただけますでしょうか。
742 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 20:52:27 ] swagat: BigIntはGMPのラッパーじゃん。boostのライセンスと互換性ないよ。 どうすべ。当面の間GMP周りのラッピングを進めるか、それともBigIntのboost版を始めるかい。 rob: GMPとかその類が提供しているものを再実装しないで GMPはBigIntがサポートする バックエンドの一つにすべき。うんぬん。 felipe: スクラッチから作るなんてバカでかいことをする時間はたぶんない。現実的になろうぜ。 ※当方は英検3級の語学力しかないので上記の内容は全く保証できない
743 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 22:57:02 ] となると Boost.BigInt はまさか Boost Software License でリリースできないわけですか? しかもbigintディレクトリを見てみると全てのファイルの最終更新日が 2009年8月21日になっていて、全然更新しようという気が見られないですよね。 ・・・バグならともかくライセンスが死んでいるとなると かなり致命的でBoost.BigIntは来ないんでしょうか。 泣きたくなりました
744 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 23:03:23 ] GPL汚染はマジ勘弁
745 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 23:07:45 ] Boost.BigInt みたいに自動で無限精度整数まで扱ってくれる ライブラリって他にあるのかねぇ? 割と簡単に作れそうだが。 ・・・いや俺には無理だがな!
746 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 23:10:18 ] RealLibでいいんじゃね 実数だけど
747 名前: ◆qZPJp5tL6Q mailto:sage [2010/04/10(土) 23:14:48 ] >>746 無限精度実数ライブラリRealLib ttp://pc12.2ch.net/test/read.cgi/tech/1248060999/ というスレを立てた俺が来ましたよ。 あのライブラリは上方向にも下方向にも実は限界がある。 下方向(絶対値が小さい方;0に近い方)は実質的に問題にならないほどの精度があるが、 上方向(絶対値がでかい方;±∞の方)は結構すぐオーバーフローする。 あとそもそもRealLibのライセンスってGPLとかだった気がする よーしらんが。
748 名前:デフォルトの名無しさん [2010/04/10(土) 23:15:06 ] 無限精度ってグラハム数の任意の桁とか求められるわけ?
749 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 23:23:16 ] >>748 だから>>747 なんだってば。 無理っす!
750 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 23:28:27 ] 俺は自分で多倍精度整数ライブラリ作ってるよー 平方とkaratsuba法で乗算の折り合い付けるのめんどかった
751 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 23:35:50 ] せっかくだからbigintの話はこっちで Boost C++ Libraries Sandbox pc12.2ch.net/test/read.cgi/tech/1250396380/
752 名前:デフォルトの名無しさん mailto:sage [2010/04/10(土) 23:36:39 ] >>751 下らない画像スレになってるぞ
753 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 00:00:28 ] >>751 保守が半端ねぇw 荒らしすら来ないってよっぽどだな
754 名前:741 [2010/04/11(日) 00:24:24 ] Boost.BigInt のソースコードを読んできました。 ・・・デフォルトでGMP非依存になってますね。 #define BOOST_BIGINT_HAS_GMP_SUPPORT を定義した上で #include <boost/bigint/bigint.hpp> とした場合に限り、GMPが使われるようです。 ということで、特に Boost.BigInt を Boost Software License でリリースする事には 問題は無いようです。
755 名前:741 [2010/04/11(日) 00:26:31 ] 私は念のために 大文字小文字を区別せずgmpの文字を含む部分を全て削除した bigintを使って見ましたが正常にどうさするようです。 ・・・だと思うのですが、 私以上にBoostのソースコードを読む事に長けている方は 必ずやいらっしゃると思うので、 有識者の方、ご確認いただけますでしょうか。
756 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 01:39:47 ] Blight って何だと思ったら BigInt だた
757 名前:デフォルトの名無しさん mailto:sage [2010/04/11(日) 07:17:11 ] とりあえずRealLibとか言い出す奴は全く完全に的外れだからもう少し調べてくれ
758 名前:デフォルトの名無しさん [2010/04/11(日) 13:22:48 ] ところでBoostBigintがBoost C++正式リリースに入れないのは何故? ドキュメントがないから? もしかしてバグがある?