a :jg@sndZddlmZmZmZmZmZmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZGdddZedkrjeeddZeeZ e!e"e e!ee e je dd dd fZ#e!e#d e#d <e!e#d e d e!ee#d dee#de!ee#de$ee#de!e$e#eedee#e!ee#de!ee#dS)a7 Container class for backward compatibility with NumArray. The user_array.container class exists for backward compatibility with NumArray and is not meant to be used in new code. If you need to create an array container class, we recommend either creating a class that wraps an ndarray or subclasses ndarray. )arrayasarrayabsoluteaddsubtractmultiplydivide remainderpower left_shift right_shift bitwise_and bitwise_or bitwise_xorinvertless less_equal not_equalequalgreater greater_equalshapereshapearangesinsqrt transposec@seZdZdZdddZddZddd Zd d Zd d ZddZ ddZ ddZ ddZ e Z ddZddZddZddZddZeZd d!Zd"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Z d:d;Z!dd?Z#d@dAZ$dBdCZ%dDdEZ&dFdGZ'dHdIZ(dJdKZ)dLdMZ*dNdOZ+dPdQZ,dRdSZ-dTdUZ.dVdWZ/dXdYZ0dZd[Z1d\d]Z2d^d_Z3d`daZ4dbdcZ5dddeZ6dfdgZ7dhdiZ8djdkZ9dldmZ:dndoZ;dpdqZdvdwZ?dxdyZ@dzd{ZAd|d}ZBd~dZCddZDddZEdS) containerz container(data, dtype=None, copy=True) Standard container-class for easy multiple-inheritance. Methods ------- copy tostring byteswap astype NTcCst|||d|_dS)N)copy)r)selfdatadtyperr"D/usr/local/lib/python3.9/site-packages/numpy/lib/_user_array_impl.py__init__ szcontainer.__init__cCsF|jdkr(|jjt|jtddS|jjdt|jdSdS)Nrr())ndim __class____name__reprrlenrr"r"r#__repr__#s zcontainer.__repr__cCs|r|j|S|jSN)rastype)rtr"r"r# __array__)s zcontainer.__array__cCs t|jSr.)r+rr,r"r"r#__len__/szcontainer.__len__cCs||j|Sr._rcr)rindexr"r"r# __getitem__2szcontainer.__getitem__cCst||j|j|<dSr.)rr!r)rr5valuer"r"r# __setitem__5szcontainer.__setitem__cCs|t|jSr.)r4rrr,r"r"r#__abs__8szcontainer.__abs__cCs||j Sr.r3r,r"r"r#__neg__;szcontainer.__neg__cCs||jt|Sr.r4rrrotherr"r"r#__add__>szcontainer.__add__cCst|j||j|Sr.)rrr<r"r"r#__iadd__Cszcontainer.__iadd__cCs||jt|Sr.r;r<r"r"r#__sub__Gszcontainer.__sub__cCs|t||jSr.)r4rrr<r"r"r#__rsub__Jszcontainer.__rsub__cCst|j||j|Sr.)rrr<r"r"r#__isub__Mszcontainer.__isub__cCs|t|jt|Sr.)r4rrrr<r"r"r#__mul__Qszcontainer.__mul__cCst|j||j|Sr.)rrr<r"r"r#__imul__Vszcontainer.__imul__cCs|t|jt|Sr.)r4rrrr<r"r"r#__div__Zszcontainer.__div__cCs|tt||jSr.)r4rrrr<r"r"r#__rdiv__]szcontainer.__rdiv__cCst|j||j|Sr.)rrr<r"r"r#__idiv__`szcontainer.__idiv__cCs|t|j|Sr.r4r rr<r"r"r#__mod__dszcontainer.__mod__cCs|t||jSr.rHr<r"r"r#__rmod__gszcontainer.__rmod__cCst|j||j|Sr.)r rr<r"r"r#__imod__jszcontainer.__imod__cCs$|t|j||t|j|fSr.r4rrr r<r"r"r# __divmod__nszcontainer.__divmod__cCs$|t||j|t||jfSr.rLr<r"r"r# __rdivmod__rszcontainer.__rdivmod__cCs|t|jt|Sr.)r4r rrr<r"r"r#__pow__vszcontainer.__pow__cCs|tt||jSr.)r4r rrr<r"r"r#__rpow__yszcontainer.__rpow__cCst|j||j|Sr.)r rr<r"r"r#__ipow__|szcontainer.__ipow__cCs|t|j|Sr.r4r rr<r"r"r# __lshift__szcontainer.__lshift__cCs|t|j|Sr.r4r rr<r"r"r# __rshift__szcontainer.__rshift__cCs|t||jSr.rRr<r"r"r# __rlshift__szcontainer.__rlshift__cCs|t||jSr.rTr<r"r"r# __rrshift__szcontainer.__rrshift__cCst|j||j|Sr.)r rr<r"r"r# __ilshift__szcontainer.__ilshift__cCst|j||j|Sr.)r rr<r"r"r# __irshift__szcontainer.__irshift__cCs|t|j|Sr.r4r rr<r"r"r#__and__szcontainer.__and__cCs|t||jSr.rZr<r"r"r#__rand__szcontainer.__rand__cCst|j||j|Sr.)r rr<r"r"r#__iand__szcontainer.__iand__cCs|t|j|Sr.r4rrr<r"r"r#__xor__szcontainer.__xor__cCs|t||jSr.r^r<r"r"r#__rxor__szcontainer.__rxor__cCst|j||j|Sr.)rrr<r"r"r#__ixor__szcontainer.__ixor__cCs|t|j|Sr.r4rrr<r"r"r#__or__szcontainer.__or__cCs|t||jSr.rbr<r"r"r#__ror__szcontainer.__ror__cCst|j||j|Sr.)rrr<r"r"r#__ior__szcontainer.__ior__cCs ||jSr.r3r,r"r"r#__pos__szcontainer.__pos__cCs|t|jSr.)r4rrr,r"r"r# __invert__szcontainer.__invert__cCs"|jdkr||dStddS)Nrz6only rank-0 arrays can be converted to Python scalars.)r' TypeError)rfuncr"r"r# _scalarfuncs   zcontainer._scalarfunccCs |tSr.)rjcomplexr,r"r"r# __complex__szcontainer.__complex__cCs |tSr.)rjfloatr,r"r"r# __float__szcontainer.__float__cCs |tSr.)rjintr,r"r"r#__int__szcontainer.__int__cCs |tSr.)rjhexr,r"r"r#__hex__szcontainer.__hex__cCs |tSr.)rjoctr,r"r"r#__oct__szcontainer.__oct__cCs|t|j|Sr.)r4rrr<r"r"r#__lt__szcontainer.__lt__cCs|t|j|Sr.)r4rrr<r"r"r#__le__szcontainer.__le__cCs|t|j|Sr.)r4rrr<r"r"r#__eq__szcontainer.__eq__cCs|t|j|Sr.)r4rrr<r"r"r#__ne__szcontainer.__ne__cCs|t|j|Sr.)r4rrr<r"r"r#__gt__szcontainer.__gt__cCs|t|j|Sr.)r4rrr<r"r"r#__ge__szcontainer.__ge__cCs||jS)r4rrr,r"r"r#rszcontainer.copycCs |jSr{)rtostringr,r"r"r#r}szcontainer.tostringcCs |jSr{)rtobytesr,r"r"r#r~szcontainer.tobytescCs||jSr{)r4rbyteswapr,r"r"r#rszcontainer.byteswapcCs||j|Sr{)r4rr/)rtypecoder"r"r#r/szcontainer.astypecCs"tt|dkr|S||SdSNr)r+rr()rar"r"r#r4sz container._rccGs||dSr)r()rargsr"r"r#__array_wrap__szcontainer.__array_wrap__cCsR|dkrt|||dSz|j||Wn tyLt|||Yn0dSNr)object __setattr__rAttributeError)rattrr7r"r"r#rs zcontainer.__setattr__cCs |dkrt||S|j|Sr)r__getattribute__r)rrr"r"r# __getattr__s zcontainer.__getattr__)NT)N)Fr) __module__ __qualname____doc__r$r-r1r2r6r8r9r:r>__radd__r?r@rArBrC__rmul__rDrErFrGrIrJrKrMrNrOrPrQrSrUrVrWrXrYr[r\r]r_r`rarcrdrerfrgrjrlrnrprrrtrurvrwrxryrzrr}r~rr/r4rrrr"r"r"r#rs   r__main__i')drN )rrg@g@g)rr)%rZ numpy._corerrrrrrrr r r r r rrrrrrrrrrrrrrrrr)tempZuaprintdirZua_smalltyper"r"r"r#s$ t