id*=ddlZddlmZddlZddlmZddlmcmZddl m Z ej Z GddZ e dkrdZd ezZd \ZZed d D]Zd ezZejeeeedzZejeZedezdzeedezededdded ddSdS)N)reduce)float_) build_err_msgc0eZdZdZ ddZddZejddZejdd Z ejdd Z ejdd Z ejdd Z ejdd Z ejddZejddZejddZejddZdS) ModuleTesterc||_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j |_ t|_ |j |_ |j |_ |j |_ |j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_|j|_ |j|_n!#t8$r|jj|_YnwxYwg|_dS)N)moduleallequalarangearray concatenatecountequalfilledgetmask getmaskarrayidinner make_maskmasked masked_array masked_valuesmask_ornomaskonesouterrepeatresizesorttake transposezerosMaskTypeumathAttributeErrorcore testnames)selfr s N/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/ma/timer_comparison.py__init__zModuleTester.__init__sA  m \ !-\ \ m ~ "/\ )m "/#1~ m K \ m m K K )\   +DJJ + + +*DJJJ +s EE,+E,Tc $||}||}|||||} |||| |}|||| |}|jjdkrm|t}t|tj r#|j dkrd|tj |<ntj |rd}|jjdkrm|t}t|tj r#|j dkrd|tj |<ntj |rd} |j dkp|j dkp|j |j k} | s)t||g|d|j d|j dz|d } |||} | |jur|r|| | } t| t r| } dg} n<| } | } | } | sId d | dzt+| z z }t||g|d |dz|d } dSdS#t,$r*}t||g||d } t-| |d}~wwxYw)zZ Assert that a comparison of two masked arrays is satisfied elementwise. maskOrz (shapes z, z mismatch))xy)headernamesdgY@z (mismatch z%)N)rrrrdtypecharastyper isinstancenpndarraysizeisnanshaperrboolravelalltolistrlen ValueError)r( comparisonr2r3err_msgr4 fill_valuexfyfmcondmsgvalreducedmatches r)assert_array_comparez!ModuleTester.assert_array_compare0s [[^^ [[^^ LLa$,,q// : : KK))"1)55z B B KK))"1)55z B B GLC    A!RZ(( QVaZZ!""(1++!  GLC    A!RZ(( QVaZZ!""(1++!  )GrM2QW]Iqw!'7ID !#QF$+&Q17&Q&Qag&Q&Q&Q%R+1*4 666 *Q""C ## #''!'44#t$$ +#))++{{}}!..** !E'--"2"223w<<??#QF$+G=BUU&D%E+1*4 666 ! ! ) ) )AjQQQCS//q ( )s8DK L%%L  LcD||j|||ddS)zH Checks the elementwise equality of two masked arrays. zArrays are not equal)rGr4N)rRr)r(r2r3rGs r)assert_array_equalzModuleTester.assert_array_equalgs= !!$*aG)? " A A A A Aignore)rBctjddddtdz dddddddg }gd }||| }|d d S) ! Tests creation ?@@@$$@@ r0rrrrrr0rrrrrr-rN)r;r pir)r(r2rKxms r)test_0zModuleTester.test_0os` Hb"b#r#vr2tS"b"M N N 0 0 0   qq  ) ) 1rUctjddddtdz dddddddg }tjgd }gd }gd }||| }||| }tj|d |}|d |j}dD]%}||_||_||_||_||_&dS)rXrYrZr[r\r]r^r_r`) r]r`r[ggrfr^r_rYrfr`ra) rrr0rrr0r0rrrrr0r-g@xD)))N)r;r rbrwhereset_fill_valuer?) r(r2r3m1m2rcymrIss r)test_1zModuleTester.test_1zs Hb"b#r#vr2tS"b"M N N HJJJ K K 1 1 1 1 1 1   qr  * *   qr  * * Xb&! $ $ &!!! G" L LAAGAGBHBHBHH  L LrUctjgd}||gd}||gd}||}t|t|d|d<d|d<|||d|dd <d|dd <|j|d<|j|dd <||d d <|j|d<|gd gd |d d <|gd gd |d d <tjd dz}||d}|gdt}tjgdt}|d|dgd}| |}| |}| |d}d S)z2 Tests conversions and indexing. )r0rjrgrhr0rrrr-)rr0rr0 rjcr0rhN)r0rjrhrg)rr0r0rrYr`)r0hellorjrh)rrr0rr)copy) r;r strreprrTrrr robjectr) r(x1x2x3x4nrKrnm3s r)test_2zModuleTester.test_2s Xlll # # ZZZ . . ZZZ . . ZZ^^ B R11 B'''1Q31Q3 1+1Q3111 1!!,,, ==111!!,,, ==111 Yq\\#    C ( ( ZZ***F 3 3 X(((& 1 1 1 1 OO NN1   ^^A   ^^AA^ & &rUcZ|d}|j|d<||d}||dd}||gd||dd}|dd}|dd}dS) z& Tests resize/repeat rgrj))rjrjrjrjraxis)rrr0r0rjrjrhrhN)r rrrrT)r(ry4y5y6y7y8s r)test_3zModuleTester.test_3s [[^^ 1 [[T " "[[\[ 2 2 $<$<$<=== [[QQ[ ' ' YY|!Y , , YYq!__rUcJ|d}tjd}|j|dd<|ddd}|ddd}|gdt }|j|d<||gd}d S) zB Test of take, transpose, inner, outer products. rvrirjrhrg)abcr0defrjrh)rrhrgN)r r;rreshaper r{r )r(r2r3ts r)test_4zModuleTester.test_4s KKOO IbMM!A# IIaA   IIaA   JJ... 7 7{! IIa # #rUc|d}|d}|d}|j|d<|dz }|dz }|d}|d}|j|d<|dz}|dz}|ddz}|ddz}|j|d<|dz}|dz}|ddz}|ddz}|j|d<|dz}|dz}|ddz}|ddz}|j|d<|dz}||dz}|||d|dt }|d}|j|d<|dz }dS)z* Tests inplace w/ scalar rjr0rYr[)rN)r rrTrr9r)r(r2r3rcs r)test_5zModuleTester.test_5s KKOO KKOO [[__ 1 Q a KKOO [[__ 1 Q a KKOOC  [[__S  1 S c  KKOOA  [[__Q  1 Q a KKOOC  [[__S  1 S dkk"oo DIIe$4$4555 KKOO " "6 * * [[__ 1 RrUc|dt}|d}|dt}|j|d<|j}|dt}|j|d<||z }||z }|dt}|dt}|j|d<|j}|dt}|j|d<||z}||z}|dt}|dt}|j|d<|j}|dt}|j|d<||z}||z}|dt}|dt}|j|d<|j}|dt}|j|d<||z}||z}dS)z) Tests inplace w/ array r)r7rjN)r rrr.)r(r2r3rcrKas r)test_6zModuleTester.test_6"s KK&K ) ) KKOO [[6[ * * 1 G KK&K ) ) " Q a KK&K ) ) [[6[ * * 1 G KK&K ) ) " Q a KK&K ) ) [[6[ * * 1 G KK&K ) ) " Q a KK&K ) ) [[6[ * * 1 G KK&K ) ) " Q arUcZ|dddtdz gdzddgdgdzz|dddtdz gdzddgdgdzzf}dD]} t|j|}n%#t$rtt |}YnwxYwt|j|}|d |j}||}||}|| d| d|||j |j d S) z Tests ufuncrYrrrjr0rir-)sqrtloglog10exp conjugateN) r rbgetattrr$r% fromnumericr ninrTr_mask)r(dfufmfargsurmrs r)test_7zModuleTester.test_7VsRZZaRT*1,Aq61#a%%>??? T\\#?O?O?O\%P%PQQQll30@0@0@1lMM  V,,,AAAjj))) j==kk!QKAAAqD   Sq 9 9C:FFF R$,,s,*C*CDDDll3Ql;;  b"X...      "4"4"4 5 KKNN  QQ 7 7===  QQ C CSIII JJ ADKKNN(:; < <  Q 5 5rv}}RYq\\7R7RSU7UVY7YZZZ  QQ 7 719J29MNNN  QQ 7 7$,,qq,:Q:QSWS_S_`ahiS_SjSjmpSp9qrrr  Qb A A6JJJ  QQ C CE^E^E^___  QQ 7 7$,,qq,:Q:QSWS_S_`ahiS_SjSjmpSp9qrrr ZZ]]      "4"4"4 5 YYq\\     T->->q"-E-EA N NPSTTT  T->->q"-E-EA N NPSTTT  T->->q"-E-EA N NPSTTT  4<<8I8I!R8P8PWX<+Y+Y Z Z\]^^^   a $ $  Q 5 5v>>>  QQ 7 79U9U9UVVV  QQ 7 7#sDDD  QQ C CEbEbEbcccccrUcv|d}|j|dd<|ddd}dS)Nrrvrirjrhrg)r rr)r(r2s r)test_AzModuleTester.test_As9 KKOO!A# IIaA  rUN)r+r+T)r+)__name__ __module__ __qualname__r*rRrTr;errstaterdrqrrrrrrrrr1rUr)rr s   DIK$(5)5)5)5)nAAAAR[XR[XLLL6R[X(((TR[X%%%&R[X.R[X2(2(2(hR[X111fR[X 8 8 8DR[X+d+d+dZR[XrUr__main__zNfrom __main__ import ModuleTester import numpy tester = ModuleTester(module) zimport numpy.ma.core as module )rrr0rztester.test_%i()rz#%iz2..................................................zModuleTester.test_%i.__doc__zcore_current : z.3fz - )timeit functoolsrnumpyr;rnumpy.core.fromnumericr&r numpy.testingrrbrr setup_base setup_curnrepeatnlooprangeifuncTimerrcurrprintevalr1rUr)rs ,,,,,,,,,''''''U^^^^^^^^B  z4J3Z?IWe U1a[[==!A%fl4++227E"HEEbgcll eai& !!! dd1A566777 ;A;;;s1v;;;<<<<==rU