Ang usa ka pagpagawas sa librarya sa Python alang sa siyentipikong pag-compute nga NumPy 2.0.0 anaa, nga naka-focus sa pagtrabaho uban sa multidimensional arrays ug matrices, ug usab sa paghatag sa usa ka dako nga koleksyon sa mga function uban sa pagpatuman sa lain-laing mga algorithms nga may kalabutan sa paggamit sa matrices. Ang NumPy usa sa labing inila nga mga librarya nga gigamit alang sa mga kalkulasyon sa siyensya. Ang code sa proyekto gisulat sa Python gamit ang mga pag-optimize sa C ug giapod-apod ubos sa lisensya sa BSD.
Ang NumPy 2.0.0 nagtimaan sa unang mahinungdanong pagpagawas sukad sa 2006.
Dugang sa mga bag-ong feature ug performance optimizations, ang bag-ong bersyon naglakip sa mga kausaban sa ABI, Python API ug C-API nga nakalapas sa atraso nga pagkaangay. Pananglitan, ang SciPy library nga gihugpong sa NumPy 1.x magkinahanglan og recompilation aron magamit sa NumPy 2.0. Sa pipila ka mga kaso, ang mga pagbag-o sa code mahimong gikinahanglan aron magamit ang NumPy 2.0 sa mga aplikasyon.
Наиболее крупное нарушение связано с сохранением точности скалярных выражений, например, «np.float32(3) + 3» теперь вернёт значение с типом float32, а не float64, а в выражениях с несколькими типами для результата будет использован тип с наивысшей точностью, т.е. «np.array([3], dtype=np.float32) + np.float64(3)» вернёт значение с типом float64. Изменены целочисленные типы, применяемые по умолчанию на платфoрме Windows — на 64-разрядных системах теперь применяется 64-разрядный целый тип, а на 32-разрядных — 32-разрядный (ранее использовался аналог Си-типа long, а теперь эквивалент np.intp).
Ang ubang mga depinisyon sa C-API giilisan o gitangtang, pananglitan, ang PyArray_Descr structure nausab. Ang kinatas-an nga gidaghanon sa mga dimensyon ug mga argumento nga gitakda pinaagi sa NPY_MAXDIMS ug NPY_MAXARGS macros nadugangan ngadto sa 64. Ang tanan nga komplikadong mga matang nakabig aron sa paggamit sa standard nga mga tipo gikan sa C99 specification (cfloat_t, cdouble_t, clongdouble_t). Gidugang ang bag-ong C API alang sa paghimo og mga custom nga dtypes. Bag-ong gipayano nga mga gimbuhaton sa pagsugod PyArray_ImportNumPyAPI ug PyUFunc_ImportUFuncAPI gisugyot.
Ang Python API naghatag og mas klaro nga pagbulag tali sa publiko ug pribado nga mga API ug nagpaila sa usa ka bag-ong istruktura sa module. Mga 100 ka mga function, modules, ug constants ang gibalhin gikan sa main "np" namespace, wala na gigamit, o gitangtang.
Gilimpyohan ang np.lib namespace. Ang gidaghanon sa mga butang sa main namespace gipakunhod sa 10%, ug sa numpy.lib namespace sa 80%. Ang numpy.core namespace gibalhin sa pribado. Gikuha ang pipila ka mga pamaagi gikan sa np.ndarray ug np.generic nga mga klase. Naghimo usa ka bag-ong namespace numpy.stringsf nga adunay mga operasyon sa string.
Ang mga bag-ong feature naglakip sa suporta sa float32 ug longdouble nga mga tipo sa tanang numpy.fft functions, suporta sa standard Array API sa main namespace, bag-ong namespace ug mga tipo para sa variable length strings. Ang pag-optimize sa performance gihimo gamit ang Intel x86-simd-sort ug Google Highway nga mga librarya para sa string function sort, argsort, partition ug argpartition, ang mga operasyon nga adunay fixed strings sa numpy.char module gipaspasan. Bag-ong API gidugang
opt_func_info para sa pagsubay ug pagsusi.
Source: opennet.ru
