मेरे पास एक सी फ़ंक्शन है जो long double
देता है। मैं इस फ़ंक्शन को ctypes का उपयोग करके अजगर से कॉल करना चाहता हूं, और यह ज्यादातर काम करता है। सेटिंग so.func.restype = c_longdouble
चाल है - सिवाय इसके कि पाइथन का फ्लोट प्रकार c_double
है, इसलिए यदि लौटा हुआ मूल्य डबल से बड़ा होता है, लेकिन लंबे समय तक की सीमा के भीतर अच्छी तरह से पाइथन अभी भी वापसी मूल्य के रूप में inf हो जाता है। मैं 64 बिट प्रोसेसर पर हूं और sizeof(long double)
16 है।लंबे डबल रिटर्न और ctypes
सी कोड को संशोधित किए बिना इस पर प्राप्त करने के बारे में कोई विचार (उदा। दशमलव वर्ग या numpy का उपयोग कर)?
मैं ऐसी ही कुछ करना चाहते हैं बल्कि और एक प्रश्न पोस्ट [यहां] (http://stackoverflow.com/questions/25380004/how-do-i-force-usage-of-long-doubles-with-cython), और अब एहसास हुआ कि मेरे पास अनिवार्य रूप से वही समस्या है जो आपने किया था। @Autoplectic, क्या मुझे पता चलेगा कि आपने अंततः क्या किया? – Abhinav