2012-11-07 97 views
2

從python轉換器的內置類型如PyLong_Typedouble哪裏提升python註冊表?從內置類型的Python轉換器

我想定義一個轉換器,它可以從python獲取numpy.float128,並返回一個用於C++中的函數的long double。我已經做了相反的事情,to_python轉換器。爲此,我調整了builtin_converters.hpp,但我沒有找到如何提升python從python轉換。

回答

1

從python轉換實際上是在builtin_converters.cpp而不是在庫的頭部分。我複製這個文件並刪除了除了轉換器long double之外的所有東西,然後我可以修改它。

0

我會添加到這個答案,雖然稍微不同的問題:

你怎麼可以把Python類型的對象(即,PyTypeObjectPyLong_TypePyBool_TypePyUnicode_Type等)boost::python::object

看來,這工作得很好:

namespace bp = boost::python; 

bp::object float_Type = bp::borrowed(
          bp::downcast<PyTypeObject>(&PyFloat_Type)))); 

的結果是,你可以通過加速Python對象暴露的實際類型的對象到Python。

相關問題