h(>ʑdZddlZddlmZddlmZddlZddlm Z m Z m Z ej dfej dfejdfejd fejd fejd fejd fejd fejdfejdfejdfejdfejdfejdfejdfejdfejdfejdfgZee\Z Z!GddZ"dS)z2 Test scalar buffer interface adheres to PEP 3118 N)rational)get_buffer_info)assert_ assert_equal assert_raises?bhilqBHILQefdgZfZdZgc eZdZejdeedZejdeedZ ejde edZ ejdeedZ dZ d Zd Zejd ejd d ejddejddgdZdZdS)TestScalarPEP3118scalar)idsc|}tjgtj|}t|}t|}t |j|jdS)Ndtype)nparrayr memoryviewrformat)selfrxamv_xmv_as v/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib64/python3.11/site-packages/numpy/core/tests/test_scalarbuffer.pytest_scalar_match_arrayz)TestScalarPEP3118.test_scalar_match_array%s[ FHH HRrx// 0 0 0!}}!}}T[$+.....c8|}t|}t|jtj|jt|jdt|jdt|jdt|jddS)Nr) r#ritemsizer!r ndimshapestrides suboffsets)r%rr&r(s r*test_scalar_dimz!TestScalarPEP3118.test_scalar_dim-s FHH!}}T]BHV$4$4$=>>>TY"""TZ$$$T\2&&&T_b)))))r,z scalar, codec|}td|jjdd|d}t|}|||ksJdS)Nr.rTr2r/r0r1r$readonly)dictr r/r#_as_dict)r%rcoder&expectedr(s r*test_scalar_code_and_propertiesz1TestScalarPEP3118.test_scalar_code_and_properties7sc FHHQW-=A >>>!}}}}T""h......r,c|}tjtd5t|dgddddS#1swxYwYdS)Nscalar buffer is readonlymatchWRITABLE)pytestraises BufferErrorr)r%rr&s r*test_scalar_buffers_readonlyz.TestScalarPEP3118.test_scalar_buffers_readonly@s FHH ];.I J J J - - A | , , , - - - - - - - - - - - - - - - - - -sAA  A c tjdtjdfdtjdfg}tjd|d}t t |tjt|}dtjtjdfj z}|d tjtjj zz }t|j |t|j d t|j dt|j dt|jdtjd d g|}t t |tjt|}t|j |j t|j|jt#jt&d 5t)|dgddddS#1swxYwYdS)Nnamegrades))ndarray_scalar)g333333?g@rr.rJr)Sarah)g @@)John)g@rNr>r?rA)r!r str_float64r"r isinstancevoidr#r/rr0r1r2r3ndarrayr$rBrCrDr)r%dtr&r( expected_sizer'r)s r* test_void_scalar_structured_dataz2TestScalarPEP3118.test_void_scalar_structured_dataFs X,xT.JK L L H32 > > >r B 1bg&&'''!}}RXrwl33<< RXbj11::: T]M222TY"""TZ$$$T\2&&&T_b))) H+-AB" M M M 1bj))***!}}T]DM222T[$+...];.I J J J - - A | , , , - - - - - - - - - - - - - - - - - -sG99G=G=cht|j|j|j|j|j|jS)N)r2r1r/r0r$r7)r8r2r1r/r0r$r7)r%ms r*r9zTestScalarPEP3118._as_dict_s6AIQWqz1:GGG Gr,c^tjd}tjd}tdddddd}t|}|||ksJt||z }|||ksJtjd d g}tjd|}tttft|d tj td 5t|dgddddS#1swxYwYdS)Nz 2016-01-01z 2017-01-01)rLrL)rTr6)r'uint16)r zM8[s]rr>r?rA) r! datetime64r8r#r9r emptyr ValueErrorrDrBrCr)r%dt1dt2r;vrUr's r*test_datetime_memoryviewz*TestScalarPEP3118.test_datetime_memoryviewcsemL))mL))qq"T333 sOO}}Q8++++ sSy ! !}}Q8++++ X7 8 8 HQOOz;/QqTBBB];.I J J J / / C* . . . / / / / / / / / / / / / / / / / / /sD""D&)D&s22ascii)idu️️zbasic multilingualu💻💻znon-BMPctj|}tdddddd}t|}|||ksJtj|d}t |d |Dtjtd 5t|d gddddS#1swxYwYdS) Nr.r[r2wTr6i4rc,g|]}t|Sr.)ord).0cs r* z3TestScalarPEP3118.test_str_ucs4..s"5"5"5a3q66"5"5"5r,r>r?rA) r!rPr8r#r9 frombufferrrBrCrDr)r%rdr;rb code_pointss r* test_str_ucs4zTestScalarPEP3118.test_str_ucs4zs! GAJJQQb!%''' qMM}}Q8++++mAT222 ["5"51"5"5"5666];.I J J J - - A | , , , - - - - - - - - - - - - - - - - - -sB>>CCc$td}tt5t|dddn #1swxYwYt jt d5t|dgddddS#1swxYwYdS)NrLr>r?rA)rr TypeErrorr#rBrCrDr)r%rs r*test_user_scalar_fails_bufferz/TestScalarPEP3118.test_user_scalar_fails_buffers  QKK 9 % %   qMMM               ];.I J J J - - A | , , , - - - - - - - - - - - - - - - - - -s#AAA&BB  B N)__name__ __module__ __qualname__rBmark parametrize scalars_only codes_onlyr+r4scalars_and_codesr<rErWr9rcparamrrrvr.r,r*rr#s [X|DD//ED/ [X|DD**ED* [^->JOO//PO/ [X|DD--ED- ---2GGG///. [S ZG,,, ^(<=== + :::# --  -&-----r,r)#__doc__numpyr!numpy.core._rational_testsrnumpy.core._multiarray_testsrrB numpy.testingrrrbool_byteshortintcint_longlongubyteushortuintcuint ulonglonghalfsingledouble longdoublecsinglecdouble clongdoubler~zipr|r}rr.r,r*rsm//////888888 >>>>>>>>>>XsOWcNXsOWcNWcN[#XsOYXsOWcN\3WcNYY]CZZ^T%(3 12 jv-v-v-v-v-v-v-v-v-v-r,