ここではLL魂2007デモコードで用いたPythonからC++で書かれた関数を呼び出す方法について説明します. 今回は大量の数値演算をするためC++側でSSE2を使うことにしました. そのためには大前提としてメモリ上に連続して並んだデータが必要になります. Pythonのリストはそのような用途には向かないため,arrayを使います. 今回は浮動小数を使うのでdoubleの'd'を利用することにしました.精度を落としてよければfloatにして速度を稼ぐこともありです. vx = array.array('d', [0.0] * N) 次にC++(boost::python)からこのarrayにアクセスするためには,生のポインタ情報が必要になります. それにはbuffer_info()を使います.マニュアルにはこのAPIは後方互換性のために残されているので使わない方よいと書かれていますが,便利