のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

boost::python の検索結果:

boost::python(6) pyublasを利用したnumpy.arrayとの連携方法

……。本日も相変わらずBoost::pythonについて 特にPythonの科学技術計算ライブラリnumpyのarray型を扱ってみたいと思います。 C++ #include <Python.h> #include <numpy/arrayobject.h> #include <boost/python.hpp> #include <pyublas/numpy.hpp> using namespace std; using namespace boost; using name…

Boost::python(5) pyublasのインストール

…、本日はscipyをboost::pythonで使用する準備をしたいと思います。 boost::python とnumpy,scipyを互換するライブラリ、pyublasがあります。少々手こずったので、インストール方法を載せてみたいと思います。 私のboostはbrewを使ってインストールしました。ダウンロード先 https://pypi.python.org/pypi/PyUblasインストールマニュアル http://documen.tician.de/pyublas/i…

Boost::python(4) クラスの継承と多重継承

…欠です。さて、今回もBoost::python。 どうやらもう4回目、今回はクラスの継承、多重継承についてやりましょう。さて、クラスの継承はこう書きます。 クラスの継承 C++ #include <boost/python.hpp> class Foo{ public: int temp; void value(int a){ temp = a; } int get_temp(){ return temp; } }; class Bar:public Foo{ public:…

Boost::python(3) pythonの辞書型(dict)、listで返す方法

…tについてさて、実はboost::pythonはvectorとかmapではなく、pythonの型に直して返すことができます。 こいつらです。 >>> a = [1,2,3,4] #list >>> b = {"foo","bar"} #dictionary さて、早速やってみましょう。 辞書型 C++ #include <vector> #include <map> #include <boost/python.hpp> using namespace std; templa…

boost::python(2) STLの活用 vectorとmap(Suiteも活用)

…さて、先日に引き続きboost::pythonについて 本日はC++のSTLについて取り扱ってみたいと思います。さて、STLを使用する時に普通のものと違い少々めんどくさくなります。 通常の実装方法 C++ #include <vector> #include <boost/python.hpp> #include <boost/python/suite/indexing/vector_indexing_suite.hpp> using namespace std; class…

boost::python(1) classと関数の使用方法(PythonからC++の呼び出し)

…た。元気です。本日はboost::pythonのお話です。 boost::pythonとはC++クラスや関数をラップするPythonモジュールを簡単にかけるようなライブラリです。 Python.h を使ってC++で書いたコードをPythonで動かせるのですが、それを簡単にしたものと考えても大丈夫なのでしょうか。 (間違ってないか心配)何回かに分けて、boost::pythonの使用方法を扱っていきたいと思います。 今回はSTLは扱わず、単純な型(int doubleなど)を扱…

boost インストールから実行(boost::python)まで。

…namespace boost::python; def("add", &add); } 因みに BOOST_PYTHON_MODULEの()内とファイル名が共通でないとPythonでのimport実行時にこんなエラーがでます。 ImportError: dynamic module does not define init function (initbasic) コンパイル コンパイルすると .soファイルができあがります。 g++ -I`python -c 'from …