從python轉換器的內置類型如PyLong_Type
到double
哪裏提升python註冊表?從內置類型的Python轉換器
我想定義一個轉換器,它可以從python獲取numpy.float128
,並返回一個用於C++中的函數的long double
。我已經做了相反的事情,to_python轉換器。爲此,我調整了builtin_converters.hpp
,但我沒有找到如何提升python從python轉換。
從python轉換器的內置類型如PyLong_Type
到double
哪裏提升python註冊表?從內置類型的Python轉換器
我想定義一個轉換器,它可以從python獲取numpy.float128
,並返回一個用於C++中的函數的long double
。我已經做了相反的事情,to_python轉換器。爲此,我調整了builtin_converters.hpp
,但我沒有找到如何提升python從python轉換。
從python轉換實際上是在builtin_converters.cpp
而不是在庫的頭部分。我複製這個文件並刪除了除了轉換器long double
之外的所有東西,然後我可以修改它。
我會添加到這個答案,雖然稍微不同的問題:
你怎麼可以把Python類型的對象(即,PyTypeObject
如PyLong_Type
,PyBool_Type
,PyUnicode_Type
等)boost::python::object
?
看來,這工作得很好:
namespace bp = boost::python;
bp::object float_Type = bp::borrowed(
bp::downcast<PyTypeObject>(&PyFloat_Type))));
的結果是,你可以通過加速Python對象暴露的實際類型的對象到Python。