NumPy 1.14 - numpy.ctypeslib.as_array()

सी-प्रकार विदेशी समारोह इंटरफ़ेस (numpy.ctypeslib)




numpy

सी-प्रकार विदेशी समारोह इंटरफ़ेस (numpy.ctypeslib)

numpy.ctypeslib.as_array(obj, shape=None) [source]

एक ctypes सरणी या ctypes POINTER से एक सुन्न सरणी बनाएं। संख्यात्मक सारणी मेमोरी को ctypes ऑब्जेक्ट के साथ साझा करती है।

Ctypes POINTER से परिवर्तित करने पर आकार पैरामीटर दिया जाना चाहिए। यदि ctypes सरणी से परिवर्तित किया जाता है तो आकार पैरामीटर को अनदेखा किया जाता है

numpy.ctypeslib.as_ctypes(obj) [source]

एक सुव्यवस्थित सरणी से ctypes ऑब्जेक्ट बनाएं और वापस करें। वास्तव में __array_interface__ को उजागर करने वाली कोई भी चीज़ स्वीकार की जाती है।

numpy.ctypeslib.ctypes_load_library(*args, **kwds) [source]

ctypes_load_library को हटा दिया गया है, इसके बजाय load_library उपयोग करें!

>>> lib = ctypes.cdll [<full_path_name>] का उपयोग करके लाइब्रेरी लोड करना संभव है

लेकिन लाइब्रेरी फ़ाइल एक्सटेंशन जैसे क्रॉस-प्लेटफ़ॉर्म विचार हैं, साथ ही तथ्य यह है कि विंडोज उस नाम के साथ मिलने वाली पहली लाइब्रेरी को लोड करेगा। NumPy एक सुविधा के रूप में load_library फ़ंक्शन की आपूर्ति करता है।

पैरामीटर:

libname : str

पुस्तकालय का नाम, जिसमें उपसर्ग के रूप में 'परिवाद' हो सकता है, लेकिन विस्तार के बिना।

loader_path : str

जहां लाइब्रेरी मिल सकती है।

यह दिखाता है:

ctypes.cdll [libpath] : लाइब्रेरी ऑब्जेक्ट

एक ctypes पुस्तकालय वस्तु

जन्म देती है:

OSError

यदि अपेक्षित विस्तार के साथ कोई पुस्तकालय नहीं है, या पुस्तकालय दोषपूर्ण है और लोड नहीं किया जा सकता है।

numpy.ctypeslib.load_library(libname, loader_path) [source]

>>> lib = ctypes.cdll [<full_path_name>] का उपयोग करके लाइब्रेरी लोड करना संभव है

लेकिन लाइब्रेरी फ़ाइल एक्सटेंशन जैसे क्रॉस-प्लेटफ़ॉर्म विचार हैं, साथ ही तथ्य यह है कि विंडोज उस नाम के साथ मिलने वाली पहली लाइब्रेरी को लोड करेगा। NumPy एक सुविधा के रूप में load_library फ़ंक्शन की आपूर्ति करता है।

पैरामीटर:

libname : str

पुस्तकालय का नाम, जिसमें उपसर्ग के रूप में 'परिवाद' हो सकता है, लेकिन विस्तार के बिना।

loader_path : str

जहां लाइब्रेरी मिल सकती है।

यह दिखाता है:

ctypes.cdll [libpath] : लाइब्रेरी ऑब्जेक्ट

एक ctypes पुस्तकालय वस्तु

जन्म देती है:

OSError

यदि अपेक्षित विस्तार के साथ कोई पुस्तकालय नहीं है, या पुस्तकालय दोषपूर्ण है और लोड नहीं किया जा सकता है।

numpy.ctypeslib.ndpointer(dtype=None, ndim=None, shape=None, flags=None) [source]

ऐरे-चेक रिस्टाइप / आर्गेपाइप्स।

एक ndpointer इंस्टेंसेस का उपयोग रेस्टिप और अर्गटिप स्पेसिफिकेशन्स में एक ndarray का वर्णन करने के लिए किया जाता है। यह दृष्टिकोण उपयोग करने की तुलना में अधिक लचीला है, उदाहरण के लिए, POINTER(c_double) , चूंकि कई प्रतिबंध निर्दिष्ट किए जा सकते हैं, जिन्हें ctypes फ़ंक्शन को कॉल करने पर सत्यापित किया जाता है। इनमें डेटा प्रकार, आयामों की संख्या, आकार और झंडे शामिल हैं। यदि किसी दिए गए सरणी निर्दिष्ट प्रतिबंधों को संतुष्ट नहीं करते हैं, तो एक TypeError उठाया जाता है।

पैरामीटर:

dtype : data-type, वैकल्पिक

डेटा प्रकार टाइप करें।

ndim : int, वैकल्पिक

सरणी आयामों की संख्या।

आकार : ints के टुपल, वैकल्पिक

सरणी आकार।

झंडे : str या tuple of str

एरे झंडे; इनमें से एक या अधिक हो सकता है:

  • C_CONTIGUOUS / C / CONTIGUOUS
  • F_CONTIGUOUS / F / FORTRAN
  • OWNDATA / O
  • गंभीर / डब्ल्यू
  • नामित / ए
  • WRITEBACKIFCOPY / X
  • UPDATEIFCOPY / U
यह दिखाता है:

klass : ndpointer प्रकार की वस्तु

एक प्रकार की वस्तु, जो _ndtpr उदाहरण है जिसमें dtype, ndim, आकार और झंडे की जानकारी है।

जन्म देती है:

त्रुटि प्रकार

यदि दिए गए सरणी निर्दिष्ट प्रतिबंधों को संतुष्ट नहीं करते हैं।

उदाहरण

>>> clib.somefunc.argtypes = [np.ctypeslib.ndpointer(dtype=np.float64,
...                                                  ndim=1,
...                                                  flags='C_CONTIGUOUS')]
... 
>>> clib.somefunc(np.array([1, 2, 3], dtype=np.float64))
...