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/
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++正式リリースに入れないのは何故? ドキュメントがないから? もしかしてバグがある?