2012-01-01から1年間の記事一覧

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>…

boost coroutine

boost context Boost.Context について調べた http://d.hatena.ne.jp/melpon/20111213/1323704464 Continuation with Boost.Context http://www.slideshare.net/faithandbrave/continuation-with-boostcontext example http://yak-ex.blogspot.jp/2012/12/bo…

scm2cpp

scm2cpp is READABLE C++ code generator from Scheme code. Wiki https://sourceforge.net/p/scm2cpp/wiki/Home/ ChangeLog https://sourceforge.net/p/scm2cpp/wiki/ChangeLog/ Ver 0.6 URL http://www.suri.cs.okayama-u.ac.jp/servlets/APPLICATION.rkt …

scm2cpp usage

Download and Unpack http://www.suri.cs.okayama-u.ac.jp/~niitsuma/scm2cpp/scm2cpp-0.7-commandline.tar.gz cd scm2cpp-0.7-commandline racket scm2cpp.scm -t scm2c.typ sample.scm g++ sample.cpp more example see file scm2cpp-0.7-commandline/benc…

scm2cpp benchmark

fft.scm http://www.suri.cs.okayama-u.ac.jp/~niitsuma/scm2cpp/benchmark/fft.scm system stalin scm2cpp scm2cpp +openmp scm2cpp +manual rewrite gambit-c chicken racket gauche i7@2.93GHz ubuntu 0.231 sec 0.407 sec 0.092 sec 0.230 sec 7.408 sec…