
    (ph*=                        S SK r S SKJr  S SKrS SKJr  S SKJs  Jr  S SK	J
r
  \R                  r " S S5      r\S:X  a  SrS	\-   rS
u  rr\" SS5       Hu  rS\-  r\ R*                  " \\5      R-                  \\S-  5      r\R0                  " \5      r\" S\-  S-   5        \" \" S\-  5      5        \" S\S    S S\S   S 35        Mw     gg)    N)reduce)float_)build_err_msgc                      \ rS rSrS r  SS jrSS jr\R                  " SS9S 5       r	\R                  " SS9S 5       r
\R                  " SS9S	 5       r\R                  " SS9S
 5       r\R                  " SS9S 5       r\R                  " SS9S 5       r\R                  " SS9S 5       r\R                  " SS9S 5       r\R                  " SS9S 5       r\R                  " SS9S 5       rSrg)ModuleTester   c                     Xl         UR                  U l        UR                  U l        UR                  U l        UR                  U l        UR
                  U l        UR                  U l        UR                  U l        UR                  U l        UR                  U l	        [        U l
        UR                  U l        UR                  U l        UR                  U l        UR                  U l        UR                  U l        UR                   U l        UR"                  U l        UR$                  U l        UR&                  U l        UR(                  U l        UR*                  U l        UR,                  U l        UR.                  U l        UR0                  U l        UR2                  U l        UR4                  U l         UR6                  U l        / U l        g ! [8         a    UR:                  R6                  U l         N/f = fN)moduleallequalarangearrayconcatenatecountequalfilledgetmaskgetmaskarrayidinner	make_maskmaskedmasked_arraymasked_valuesmask_ornomaskonesouterrepeatresizesorttake	transposezerosMaskTypeumathAttributeErrorcore	testnames)selfr   s     L/var/www/html/venv/lib/python3.13/site-packages/numpy/ma/timer_comparison.py__init__ModuleTester.__init__   sl   mm\\
!--\\
\\
mm~~"//\\
))mm"//#11~~mmKK	\\
mmmmKK	KK	))\\
	+DJ   	+**DJ	+s   <G %G=<G=c           	      b   U R                  U5      nU R                  U5      nU R                  U R                  U5      U R                  U5      5      n	U R                  U R                  XyS9U5      nU R                  U R                  XS9U5      nUR                  R
                  S:w  a{  UR                  [        5      n[        U[        R                  5      (       a*  UR                  S:  a  SU[        R                  " U5      '   O[        R                  " U5      (       a  SnUR                  R
                  S:w  a{  UR                  [        5      n[        U[        R                  5      (       a*  UR                  S:  a  SU[        R                  " U5      '   O[        R                  " U5      (       a  Sn UR                  S:H  =(       d    UR                  S:H  =(       d    UR                  UR                  :H  n
U
(       d9  [        X#/USUR                   SUR                   S3-   US	S
9nU
(       d   U5       eU" X#5      nXR                  La  U(       a  U R                  XS9n[        U[         5      (       a  Un
S/nO0UR#                  5       nUR%                  5       n
UR'                  5       nU
(       dG  SSUR)                  S5      -  [+        U5      -  -
  n[        X#/USU< S3-   US	S
9nU
(       d   U5       egg! [,         a  n[        X#/XES	S
9n[-        U5      UeSnAff = f)zJ
Assert that a comparison of two masked arrays is satisfied elementwise.

maskO   r    z	
(shapes z, z
 mismatch)xy)headernamesd   g      Y@z
(mismatch z%)N)r   r   r   r   dtypecharastyper   
isinstancenpndarraysizeisnanshaper   r   boolravelalltolistr   len
ValueError)r*   
comparisonr5   r6   err_msgr7   
fill_valuexfyfmcondmsgvalreducedmatches                   r+   assert_array_compare!ModuleTester.assert_array_compare0   s    [[^[[^LLa$,,q/:KK))")5zBKK))")5zBGGLLC A!RZZ((QVVaZ!""((1+!GGLLC A!RZZ((QVVaZ!""((1+!	)GGrM2QWW]Iqww!''7ID#QF$+(2177)2aggYj&Q%R+1*4	6
  S tQ"C#
'''4#t$$#))+{{}!..*E'--"223w<??#QF$+=B&D%E+1*4	6
  S t   	)jQCS/q(	)s   <E	L 
L.L))L.c                 <    U R                  U R                  XUSS9  g)z8
Checks the elementwise equality of two masked arrays.

zArrays are not equal)rJ   r7   N)rU   r   )r*   r5   r6   rJ   s       r+   assert_array_equalModuleTester.assert_array_equalg   s%    
 	!!$**aG)? 	" 	A    ignore)rE   c                     [         R                  " SSSS[        S-  SSSSSSS/5      n/ S	QnU R                  XS
9nUS     g)
Tests creation

      ?              @      @      @      $      $@      @r2   r   r   r   r   r   r2   r   r   r   r   r   r/   r   N)r>   r   pir   )r*   r5   rN   xms       r+   test_0ModuleTester.test_0o   sN     HHb"b#r#vr2tS"b"MN0q)
1rZ   c                    [         R                  " SSSS[        S-  SSSSSSS/5      n[         R                  " / S	Q5      n/ S
Qn/ SQnU R                  XS9nU R                  X$S9n[         R                  " USU5      nUR                  S5        XV-
  R                  S5      R                  5       (       d   eUR                  nUR                  [        S U5      :X  d   eU R                  U5      [        U5      [        S U5      -
  :X  d   eS HO  nXl        Xl        Xl        Xl        Xl        U R                  U5      [        U5      [        S U5      -
  :X  a  MO   e   g)r]   r^   r_   r`   ra   rb   rc   rd   re   )rb           re   r`   g      g      rl   rc   rd   r^   rl   re   rf   )r   r   r2   r   r   r2   r2   r   r   r   r   r2   r/   g@xDr   c                 
    X-  $ r
   r3   r4   s     r+   <lambda>%ModuleTester.test_1.<locals>.<lambda>   s    QSrZ   c                 
    X-   $ r
   r3   r4   s     r+   rn   ro      s    acrZ   ))      )      c                 
    X-   $ r
   r3   r4   s     r+   rn   ro      s    !#rZ   N)r>   r   rg   r   whereset_fill_valuer   anyrB   r@   r   r   rG   )	r*   r5   r6   m1m2rh   ymrL   ss	            r+   test_1ModuleTester.test_1z   s?    HHb"b#r#vr2tS"b"MNHHJK11q*q*XXb&!$
&!~~a $$&&'&GGww&!4454zz"~R6/2+F!FFGF!AGGHHH::b>SWvor/J%JJKJ "rZ   c                    [         R                  " / SQ5      nU R                  U/ SQS9nU R                  U/ SQS9nU R                  U5      n[        U5        [        U5        [	        US   5      [	        US   5      L d   eUS   US   :X  d   eSUS'   SUS'   U R                  X5        SUSS	& SUSS	& U R                  US'   U R                  USS	& XS
S
& U R                  US'   U R                  / SQ/ SQ5      US
S
& U R                  / SQ/ SQ5      US
S
& [         R                  " S5      S-  nU R                  US5      nU R                  / SQ[        5      n[         R                  " / SQ[        5      nUS     US     USS R                  S:X  d   e/ SQnU R                  U5      nU R                  U5      nXgL d   eU R                  USS9nXhLd   eg
)z"
Tests conversions and indexing.

)r2   rt   rq   rr   r2   r   r   r   r/   )r   r2   r   r2   r2   	   rt   c   rr   N)r2   rt   rr   rq   )r   r2   r2   r      r^   re   )r2   hellort   rr   )r   )r   r   r2   r   r   )copy)r>   r   strreprtyperX   r   r   r   r   objectrB   r   )	r*   x1x2x3x4nrN   rz   m3s	            r+   test_2ModuleTester.test_2   s    XXl#ZZZ.ZZZ.ZZ^BRBqE{d2a5k)))!u1~~11'1Q1Q1++1Q11!!,=1!!,=1YYq\#C(ZZ*F3XX(&1
1
1!Aw}}$$$NN1^^Aww^^AA^&{{rZ   c                 N   U R                  S5      nU R                  US'   U R                  US5      nU R                  U R	                  X/5      U5      (       d   eU R                  U R                  U5      / SQ5      (       d   eU R                  USSS9nU R                  U/ SQ5        U R                  USSS9nU R                  X45      (       d   eUR                  SSS9nU R                  X55      (       d   eUR                  SS5      nU R                  X65      (       d   eg	)
z
Tests resize/repeat

rq   rt   )   )r   r   r2   r   r   r   r2   r   )rt   rt   rt   rt   r   axis)r   r   r2   r2   rt   rt   rr   rr   N)r   r   r    r   r   r   r   rX   )r*   r   y4y5y6y7y8s          r+   test_3ModuleTester.test_3   s    [[^1[[T"}}T--rh7<<<<}}T\\"-/GHHHH[[\[2$<=[[QQ['}}R$$$$YY|!Y,}}R$$$$YYq!_}}R$$$$rZ   c           	         U R                  S5      n[        R                   " S5      nU R                  USS& UR                  SSS5      nUR                  SSS5      nU R	                  [        R
                  " US5      U R                  US5      5      (       d   eU R	                  [        R                  " USS5      U R                  USS5      5      (       d   eU R	                  [        R                  " U R                  US	5      U R                  US	5      5      U R                  X5      5      (       d   eU R	                  [        R                  " U R                  US	5      U R                  US	5      5      U R                  X5      5      (       d   eU R                  / S
Q[        5      nU R                  US'   U R                  U/ SQ5      nUS	   S:X  d   eUS   S:X  d   eUS   S:X  d   eg)z2
Test of take, transpose, inner, outer products.

   r   rs   rt   rr   rq   )rt   r   r2   r2   r   )abcr2   defrt   rr   )r   rr   rq   r   N)r   r>   r   reshaper   r#   r"   r   r   r   r   r   )r*   r5   r6   ts       r+   test_4ModuleTester.test_4   s    KKOIIbM!AIIaAIIaA}}R\\!Y799UVVVV}}RWWQ	15tyyIq7QRRRR}}RXXdkk!Q&7Q9JK JJq,. . 	. .}}RXXdkk!Q&7Q9JK JJq,. . 	. .JJ.7{{!IIa#tu}}tqyytqyyrZ   c                    U R                  S5      nU R                  S5      nU R                  S5      nU R                  US'   US-  nU R                  XS-   5      (       d   eUS-  nU R                  X2S-   5      (       d   eU R                  S5      nU R                  S5      nU R                  US'   US-  nU R                  XS-
  5      (       d   eUS-  nU R                  X2S-
  5      (       d   eU R                  S5      S-  nU R                  S5      S-  nU R                  US'   US-  nU R                  XS-  5      (       d   eUS-  nU R                  X2S-  5      (       d   eU R                  S5      S-  nU R                  S5      S-  nU R                  US'   US-  nU R                  X5      (       d   eUS-  nU R                  X25      (       d   eU R                  S5      S-  nU R                  S5      S-  nU R                  US'   US-  nU R                  XS-  5      (       d   eX0R                  S5      -  nU R                  X0R	                  S5      5        U R                  S5      R                  [        5      nU R                  S5      nU R                  US'   US-  nU R                  XS-   5      (       d   eg)z
Tests inplace w/ scalar


   rt   r2   r^   r`   )r   N)r   r   r   rX   r   r<   r   )r*   r5   r6   rh   s       r+   test_5ModuleTester.test_5   s    KKOKKO[[_1	Q}}Q!$$$$
a}}R1%%%%KKO[[_1	Q}}Q!$$$$
a}}R1%%%%KKOC[[_S 1	S}}Q!$$$$
c	}}R1%%%%KKOA[[_Q1	Q}}Q""""
a}}R####KKOC[[_S 1	S}}Q#&&&&
kk"oIIe$45KKO""6*[[_1	R}}QB''''rZ   c                 B   U R                  S[        S9nU R                  S5      nU R                  S[        S9nU R                  US'   UR                  nU R                  S[        S9nU R                  US'   X-  nX5-  nU R	                  XU-   5      (       d   eU R	                  X2U-   5      (       d   eU R	                  UR                  U R                  XER                  5      5      (       d   eU R                  S[        S9nU R                  S[        S9nU R                  US'   UR                  nU R                  S[        S9nU R                  US'   X-  nX5-  nU R	                  XU-
  5      (       d   eU R	                  X2U-
  5      (       d   eU R	                  UR                  U R                  XER                  5      5      (       d   eU R                  S[        S9nU R                  S[        S9nU R                  US'   UR                  nU R                  S[        S9nU R                  US'   X-  nX5-  nU R	                  XU-  5      (       d   eU R	                  X2U-  5      (       d   eU R	                  UR                  U R                  XER                  5      5      (       d   eU R                  S[        S9nU R                  S[        S9nU R                  US'   UR                  nU R                  S[        S9nU R                  US'   X-  nX5-  ng)z
Tests inplace w/ array

r   )r:   rt   N)r   r   r   r0   r   r   )r*   r5   r6   rh   rN   as         r+   test_6ModuleTester.test_6"  s    KK&K)KKO[[6[*1GGKK&K)"	
}}Q!$$$$}}R1%%%%}}RWWdll1ff&=>>>>KK&K)[[6[*1GGKK&K)"	
}}Q!$$$$}}R1%%%%}}RWWdll1ff&=>>>>KK&K)[[6[*1GGKK&K)"	
}}Q!$$$$}}R1%%%%}}RWWdll1ff&=>>>>KK&K)[[6[*1GGKK&K)"	
rZ   c                 ,   U R                  SSS[        S-  /S-  SS/S/S-  -   S9U R                  SSS[        S-  /S-  SS/S/S-  -   S94nS H  n [        U R                  U5      n[        U R                  U5      nUS	UR                   nU" U6 nU" U6 nU R                  UR                  S5      UR                  S5      U5        U R                  UR                  UR                  5        M     g	! [         a    [        [
        U5      n Nf = f)
zTests ufuncr^   r   r   rt   r2   rs   r/   )sqrtloglog10exp	conjugateN)r   rg   getattrr&   r'   fromnumericr   ninrX   r   _mask)r*   dfufmfargsurmrs           r+   test_7ModuleTester.test_7V  s    ZZaRT*1,Aq61#a%<Z@ZZaRT*1,Aq61#a%<Z@CA&-TZZ+ a(BWbff:DTBTB##BIIaL"))A,B##BHHbhh79* " -[!,-s   C66DDc           
      	   U R                  / SQ/ SQS9nU R                  SU R                  USS95        U R                  SU R                  U/ SQS95        U R                  U/ SQS	S
9u  p#U R                  SU5        US:X  d   eU R                  US S & U R                  USS9U R                  L d   eU R                  / SQ/ SQS9nUR	                  SS5      nU R                  US S 2S	4'   U R                  U R                  USS9SS/5        U R                  US	S9S   U R                  L d   eU R                  SS/U R                  USS95        U R                  USS	S9u  p#U R                  USS/5        / SQn/ SQ/ SQ/nU R                  S5      nU R                  U R                  USS9S5        U R                  U R                  USUS9S5        U R                  U R                  S5      SU R                  S5      -  /5      nU R                  U R                  US 5      [        R                  R                  [        R
                  " S5      5      S-  S-  5        U R                  U R                  USS9[        R
                  " S5      S-  S-  5        U R                  U R                  US	S9U R                  USS9U R                  USS9S-  /5        U R                  U R                  US US9S5        U R                  U R                  USUS9/ SQ5        U R                  U R                  US	S9U R                  USS9U R                  USS9S-  /5        U R                  S5      n/ SQn	/ SQ/ SQ/n
U R                  S5      n/ SQnU R                  U R                  U R                  Xh5      SS9S5        U R                  U R                  U R                  Xi5      SS9S5        U R                  U R                  U R                  Xl5      SS9S5        U R                  U R                  U R                  U R                  Xk5      SS95      S5        U R                  Xz5      nU R                  U R                  US 5      S5        U R                  U R                  USS9/ SQ5        U R                  U R                  US	S9SS/5        U R                  U R                  USUS9/ SQ5        g )N)rl   r^   r`   re   r   r/   r`   r   r   )r^   r^   r`   r^   )weightsr2   )r   returnedra   rt   rl   )r   r   r^   )r   r2   r2   r2   r2   r   )r2   r   r   r   r   r2   rs   g      @)r   r   re   g      (@g
@)rl   r^   r`   re   ra   rd   )r   r   r2   r2   r   r   )r   r2   r2   r2   r2   r2   )rl   r^        X@r   ra   g      @rb   )rl   r^   r   r   ra   rd   )r   rX   averager   r   r   r>   addr   r$   r   r   r   )r*   ottresultwtsw1w2r5   r6   ry   rz   r   m4m5zs                 r+   test_99ModuleTester.test_99y  s    jj)j=T\\#A\%>?T\\#?O\%PQll30@1lMV,czzA||Ca|(DKK787jj)j=kk!QKKAqD	Sq 9C:F||Ca|(+t{{:;:R$,,s,*CDll3Ql;b"X. "45KKNQQ 7=QQ CSIJJADKKN(:;<Q 5rvv}}RYYq\7RSU7UVY7YZQQ 719J29MNQQ 7$,,qq,:QSWS_S_`ahiS_SjmpSp9qrQb A6JQQ CE^_QQ 7$,,qq,:QSWS_S_`ahiS_SjmpSp9qrZZ] "45YYq\T->->q-EA NPSTT->->q-EA NPSTT->->q-EA NPST

4<<8I8I!8PWX<+Y Z\]^a$Q 5v>QQ 79UVQQ 7#sDQQ CEbcrZ   c                 j    U R                  S5      nU R                  USS& UR                  SSS5      ng )Nr   r   rs   rt   rr   rq   )r   r   r   )r*   r5   s     r+   test_AModuleTester.test_A  s0    KKO!AIIaArZ   )r%   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r)   r#   r&   r$   N) r   T)r   )__name__
__module____qualname____firstlineno__r,   rU   rX   r>   errstateri   r}   r   r   r   r   r   r   r   r   __static_attributes__r3   rZ   r+   r   r      sI    D IK$(5)nA [[X  [[XL L6 [[X( (T [[X% %& [[X . [[X2( 2(h [[X1 1f [[X 8  8D [[X+d +dZ [[X rZ   r   __main__zNfrom __main__ import ModuleTester 
import numpy
tester = ModuleTester(module)
zimport numpy.ma.core as module
)r   r   r2   r   ztester.test_%i()r   z#%iz2..................................................zModuleTester.test_%i.__doc__zcore_current : z.3fz - )timeit	functoolsr   numpyr>   r   numpy.core.fromnumericr(   r   numpy.testingr   rg   r   r   
setup_base	setup_curnrepeatnlooprangeifuncTimerr   curr!   printevalr3   rZ   r+   <module>r      s        , , ' UU^ ^B z4J 3Z?IWe1a[!A%ll4+227E"HEggcleai& !d1A567As|3s1vcl;<  rZ   