boost

boost fusion dynamic at_n

usage boost::fusion::vector<int,double,std::string,char> vec(9 ,2.2 ,"aaa" ,'b'); std::cout << at_n_dynamic<double>(vec, 1) << std::endl; //=> 2.2 detail #include <boost/fusion/include/vector.hpp> //#include <boost/fusion/algorithm.hpp> template<typename V> struct fusion_at_n_functor { mutable int i…</typename></boost/fusion/algorithm.hpp></boost/fusion/include/vector.hpp></double></int,double,std::string,char>

boost.variantの補助ツール

boost::variant に以下の動作をさせたい variant<int,int> => int variant<int,double> => double variant<int , boost::rational<int> > => boost::rational<int> variant<int , double , std::string> => variant<double,std::string> しかしこうなってくれないので自分で拡張ツールを作った。 https://github.com/niitsuma/variant_shrink(要するにdecltype(int+d</double,std::string></int></int></int></int,double></int,int>…

pyublas

boost1.35をinstallした後 install pyublas ./configure --boost-inc-dir=/usr/local/include/boost-1_35/ --boost-lib-dir=/usr/local/lib/ --boost-python-libname=boost_python-gcc41-mt make clean make make install sample code のMakefile sample_ext…

boost 1.35

ubuntu7.10では./configre make checkinstallでtarballからでdebパッケージとしてinstallできる. installされる場所は/usr/local/libなど /home/mynameの下に環境を作りたい場合 ./configre --prefix=/home/myname --with-python=/home/myname/bin/python ma…

svd using ublas

boost.ublasを使ったsvdのプログラムがないか探した。 OpenTissue http://www.opentissue.org/wikitissue/index.php/Main_Page (OpenTissue is [a collection of] generic algorithms and data structures for rapid development of interactive modeling and…

Py++

http://language-binding.net/pyplusplus/pyplusplus.html Py++ はboost.pythonのwrapコードを自動生成するtoolのようだ。GUIで使うことができる。 これでBIASのwrapを自動生成しようとしたが動かなかった。複雑なc++コードを扱うにはいくつかの設定がいるの…

BIASをpythonから呼べるようにする

BIASという画像処理と幾何学処理を行うc++ libraryをpythonから呼べるようにすることを試みた. swigはc++のtemplateと#defineの部分を認識しなかった。基のコードをかなり単純にしてcとしてwrapする必要があるようだ。単純化するためにc++のコードをいじるぐ…

cmake FindBoost

cmakeにFindBoostというコマンド追加されたらしい http://www.cmake.org/Bug/view.php?id=6257 これでboostのpathをmakeに書かなくてもよくなったのかもしれない

SICP memo for boost user

Structure and Interpretation of Computer Programs (SICP) http://mitpress.mit.edu/sicp/full-text/book/book.html はlispを学びつつ様々なprograming techniqueを学べる本だ.上記のlinkで全文を読むことができる.section 3までで紹介されているtechniq…

boost.pythonをcmakeでコンパイルする方法

boost.pythonをcmakeでコンパイルする方法です. ubuntu7.10,centos5で動作を確認しています. cmake はunix windos両方で動くクロスプラットフォームなmakeです. boost.python cmake をインストールしてください. ubuntuの場合は apt-get install cmake boost…