Apr 12, 2018 2018 pyscience11 で C++ から SciPy と Matplotlib を使う 私事ですが、GitHub で pyscience11 というライブラリを公開しています。 このライブラリは Header-Only で、C++ から NumPy, SciPy, Matplotlib を手軽に使うことができます。 動作には pybind11 が
Mar 8, 2018 2018 pybind11 でキーワード引数 (kwargs) を使う pybind11 でキーワード引数 (kwargs) を指定するには、pybind11::arg を使います。 sample.cpp #include <pybind11/embed.h>#include <pybind11/pybind11.h> namespace py = pybind11; int main() { // python インタプリタを起動する py::scoped_interpreter interpreter; // numpy の各種オブ
Mar 5, 2018 2018 pybind11 で main モジュール上に関数を定義する pybind11 で main モジュール上に関数を定義するには、pybind11::module::def 関数を使います。 次の例では、C++ で定義した hello 関数を Python スク
Feb 28, 2018 2018 二重ポインタの const 早見表 多重ポインタの const の付け方をまとめました。 まずは普通のポインタから。 int main() { const int* x = new int(0); // ポインタの指す内容を書き換えることができない int* const y = new
Feb 24, 2018 2018 pybind11 上の matplotlib で macosx バックエンドを使う macOS 上で matplotlib を立ち上げると、Python is not installed as a framework というエラーが出ることがあります。 この問題は(環境によるのかもしれませんが)以下の方法で再現
Feb 12, 2018 2018 mac に xtensor をインストールする xtensor は C++ で多次元配列を扱うためのライブラリです。 このライブラリは Homebrew または Anaconda を使ってインストールすることができます。 Homebrew でインストール Homebrew は mac 環境の
Feb 11, 2018 2018 pybind11 で C++ から Python インタプリタを実行する pybind11 の pybind11::scoped_interpreter を使うと、C++ から Python インタプリタを起動できます。 sample.cpp #include <pybind11/embed.h>#include <pybind11/pybind11.h> namespace py = pybind11; int main() { py::scoped_interpreter interpreter; py::print("Hello, world!"); return 0; } pybind11 を使ったプログラムをコンパイルするには、pyb
Feb 5, 2018 2018 mac に pybind11 をインストールする pybind11 は Homebrew や pip などの方法でインストールできます。 Homebrew でインストール Homebrew は mac 環境の汎用パッケージマネージャーです。 Homebrew を使って pybind11 をインストールするには、
Feb 4, 2018 2018 pip のディストリビューションがインストールしたファイルの一覧を表示する ディストリビューション(パッケージ)がインストールしたファイルの一覧は、インストール時に作成される RECORD ファイルに記録されています。 はじめに、p
Jan 29, 2018 2018 clang でシフト演算のビット数超過を警告する (-Wshift-count-overflow) clang でシフト演算のビット数超過を警告するには、-Wshift-count-overflow オプションを指定します。 #include <stdio.h> int main() { int x = 8; int y = x <<