我有一個c函數,它返回一個long double
。我想從使用ctypes的python調用這個函數,它大部分工作。設置so.func.restype = c_longdouble
的竅門 - 除了python的浮點類型是c_double
,所以如果返回的值大於double,但是在long double的範圍內,python仍然將inf作爲返回值。我在一個64位的處理器和sizeof(long double)
是16.long double return和ctypes
有關繞過此(如使用十進制類或numpy)而不修改c代碼的任何想法?
我想要做類似的事情併發布了一個問題[here](http://stackoverflow.com/questions/25380004/how-do-i-force-usage-of-long-doubles-with-cython),現在意識到我基本上有同樣的問題。 @Autoplectic,我可以知道你最終做了什麼嗎? – Abhinav 2014-08-19 17:02:50