2016-01-04 4 views
6

मुझे समझ में नहीं आता कि numpy। {Typename}, numpy.npy_ {typename} और numpy के बीच क्या अंतर है। {Typename} _t जब मैं उन्हें साइथन कोड से उपयोग करता हूं?साइथन उपयोगकर्ताओं के लिए अजीब प्रकार

अर्थात इन प्रकार में अंतर क्या है:

# test.pyx 
cimport numpy as np 
import numpy as np 

np.float32 
np.npy_float32 
np.float32_t 

मैं इसे अब समझ में के रूप में: पहले प्रकार गतिशील है, अर्थात Cython कार्यावधि में उस प्रकार के आकार का पता लगाने के लिए कुछ कोड उत्पन्न होगा। दो अन्य प्रकार स्थिर हैं, यानी इसका उपयोग करने वाला कोड प्रत्येक प्रकार के पूर्वनिर्धारित आकारों के साथ संकलित किया जाएगा। कृप्या मुझे सही करें।

अतिरिक्त लिंक: https://docs.scipy.org/doc/numpy/reference/c-api.dtype.html#c-type-names

उत्तर

6

np.float32 NumPy के TypeDescriptor है, जो एक अजगर वस्तु जो पूछे जा सकता है और पारित कर दिया NumPy करने के लिए सिर्फ अजगर में के रूप में सरणियों के निर्माण के लिए है।

np.npy_float32 एक सी प्रकार है, जिसका उपयोग सी प्रकार की आवश्यकता होने पर भी किया जा सकता है, उदाहरण के लिए

cdef np.npy_float32 x = 1.902 
cdef np.ndarray[np.npy_float32, ndim=2] A = np.zeros((3, 4), dtype=np.float32) 

np.float32_t बस np.npy_float32 के typedef जो एक आशुलिपि के रूप में इस्तेमाल किया जा सकता है।