タグ

boostに関するbenokのブックマーク (7)

  • メモリマップドファイル - boostjp

    メモリマップドファイルには Boost Interprocess Library を使用する。 Boost.Interprocessは、プロセス間通信をサポートするための各種機能を提供しているライブラリである。ライブラリはビルドを必要としないが、Boost DateTime Library を利用している箇所があるため注意すること。 またこのページでManaged Memory Segmentsについての記述は基的にmanaged_mapped_file以外のクラス(managed_shared_memoryなど)でも同様の動作を行う。 インデックス 存在しているファイルからマッピングする ファイルをテンポラリバッファとして利用する ファイルをコンテナにマッピングする 存在しているファイルからマッピングする 既に存在しているファイルをマッピングするには、boost::interproce

  • Memory-Mapped Files

  • numpy.ndarrayをc++から操作する小技 -イテレータを使いたい- - Qiita

    目的 boost.pythonやboost.numpyを利用することで、c++でnumpy.ndarrayを扱えるpythonのモジュールを簡単に作成することができます。 boost.numpyは良くできたライブラリですが、イテレータが使えないなどデータへのアクセスにやや不便な点があります。そのため、データへ簡単にアクセスできるようにします。 背景 numpy.ndarrayとは pythonのパッケージの一つnumpyが提供する多次元配列です。これなしにpythonでの数値計算があり得ないくらい広く使われています。 boost.numpyとは numpyをc++から操作できるようにするライブラリです。以下のような感じでデータにアクセスします。 namespace bp = boost::python; namespace np = boost::numpy; void func(np::

    numpy.ndarrayをc++から操作する小技 -イテレータを使いたい- - Qiita
  • boost_interprocess カテゴリーの記事一覧 - krustf の雑記

    Boost.勉強会 #7 東京 - boostjpと言う訳で行ってきました。 発表してしまいました。 当初発表する予定なんて無かったんですが、そういえば ネタ帳 - boostjp に書かれていたり、1時間も余ってるし、Boost.Interprocess使ったことない人が多いそうだしでサプ…

    boost_interprocess カテゴリーの記事一覧 - krustf の雑記
  • C++でPythonを拡張するためのBoost.NumPyチュートリアル(実践編) - Qiita

    C++ Advent Calender 10日目の記事です。 Boost 1.63でBoost.NumPyがBoost.Pythonにマージされます。 それに伴い以下の記述では不具合があるかもしれません。修正記事を書く予定です。 動機 Pythonまじ便利です。 シミュレーションとその結果の解析がメインとなるアカデミア(見習い)である私には、 対話的にデータの加工、解析、可視化がシームレスに実行できるIPython Notebookは必須です。 残念ならがC++だけで同等の機能を提供してくれる環境はありません(たぶん)。 CERNが作ってるROOTのclingはC++を対話的に実行できるそうですが情報が少なくて使ったことありません。 だれかC++で文芸的プログラミングできるIC++ Notebook作ってください(切実)。 しかしながらシミュレーション自体は数日から数週間実行するもので、

    C++でPythonを拡張するためのBoost.NumPyチュートリアル(実践編) - Qiita
  • C++でpythonを拡張する(Boost.NumPy) - Qiita

    何故C++のクラス・関数をPythonにバインドするか? C++11は非常に便利になった。Boost使えばさらに便利だ。 しかし、pythonはもっと使いやすい。 NumPyをベースにしたプロジェクト群(SciPy, matplotlib, pandas, ...) は共通の基盤の上に非常に使い易く整備されている上に、そこそこ高速に動作する。 C++を使うべきか、Pythonにバインドして使うべきか、 また私の中で結論はでていないが、とりあえずバインドするための情報をまとめる。 どうやってバインドするか? 問題は2つある。 単純にPythonにバインドする方法 NumPyにバインドする方法 Pythonを使う理由の一つにNumPyのベースのライブラリを使用する事があるので、 NumPyのndarray等に変換できる必要がある。 基となるのはPython C APIとNumPy C API

    C++でpythonを拡張する(Boost.NumPy) - Qiita
  • Boost.Python の機能をざっと紹介してみる - moriyoshiの日記

    Boost の一部ながらも「実用的」すぎるため、とかくテンプレートメタプログラミングを愛好する諸兄から黙殺されてきた不幸のライブラリ、Boost.Python。Boost.勉強会でこいつの魅力を伝えようと思ったのだけど、時間の都合で無理だったので、簡単に紹介してみたい。 Boost.Python の基礎 Boost.PythonC++ のクラスや関数をラップする Python モジュールを恐ろしく簡単に書けるようにする、強力なライブラリである。 特に、Pyrex や Cython と比べて何がうれしいのかというと、 Python側にいちいちラッパ関数を書かなくてよい (テンプレートにより自動的に定義される) コンバータを登録することで、PythonC++の型の透過的な変換が容易にできる C++ のクラスを分かりやすい形で Python のクラスとして見せることが可能 といった点が挙

    Boost.Python の機能をざっと紹介してみる - moriyoshiの日記
  • 1