
    Kh_=                        S SK r S SKrS SK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\R,                  " \5      r\" S\-  S-   5        \" \" S\-  5      5        \" S\S    S S\S	   S 35        Mw     gg)    N)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     K/var/www/html/env/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           	         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                  [        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                  [        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astypenpfloat64
isinstancendarraysizeisnanshaper   r   boolravelalltolistr   len
ValueError)r(   
comparisonr3   r4   err_msgr5   
fill_valuexfyfmcondmsgvalreducedmatches                   r)   assert_array_compare!ModuleTester.assert_array_compare/   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 
M%L==M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)rI   r5   N)rT   r   )r(   r3   r4   rI   s       r)   assert_array_equalModuleTester.assert_array_equalf   s%    
 	!!$**aG)? 	" 	A    ignore)rD   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

      ?              @      @      @      $      $@      @r0   r   r   r   r   r   r0   r   r   r   r   r   r-   r   N)r;   r   pir   )r(   r3   rM   xms       r)   test_0ModuleTester.test_0n   sN     HHb"b#r#vr2tS"b"MN0q)
1rY   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                  [        R                  " S U5      :X  d   eU R                  U5      [        U5      [        R                  " S U5      -
  :X  d   eS HZ  nXl        Xl        Xl        Xl        Xl        U R                  U5      [        U5      [        R                  " S U5      -
  :X  a  MZ   e   g)r\   r]   r^   r_   r`   ra   rb   rc   rd   )ra           rd   r_   g      g      rk   rb   rc   r]   rk   rd   re   )r   r   r0   r   r   r0   r0   r   r   r   r   r0   r-   g@xDr   c                 
    X-  $ r   r1   r2   s     r)   <lambda>%ModuleTester.test_1.<locals>.<lambda>   s    rY   c                 
    X-   $ r   r1   r2   s     r)   rm   rn      s    rY   ))      )      c                 
    X-   $ r   r1   r2   s     r)   rm   rn      s    QSrY   N)r;   r   rf   r   whereset_fill_valuer   anyrA   r?   	functoolsreducer   rF   )	r(   r3   r4   m1m2rg   ymrK   ss	            r)   test_1ModuleTester.test_1y   sU    HHb"b#r#vr2tS"b"MNHHJK11q*q*XXb&!$
&!~~a $$&&&&GGww)**+;Q????zz"~R9+;+;<Lb+Q!QQQQ!AGGHHH::b>SWy/?/?@PRT/U%UUUU "rY   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.

)r0   rs   rp   rq   r0   r   r   r   r-   )r   r0   r   r0   r0   	   rs   c   rq   N)r0   rs   rq   rp   )r   r0   r0   r      r]   rd   )r0   hellors   rq   )r   )r   r   r0   r   r   )copy)r;   r   strreprtyperW   r   r   r   r   objectrA   r   )	r(   x1x2x3x4nrM   r{   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^&{{rY   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

rp   rs   )   )r   r   r0   r   r   r   r0   r   )rs   rs   rs   rs   r   axis)r   r   r0   r0   rs   rs   rq   rq   N)r   r   r   r
   r   r   r   rW   )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$$$$rY   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   rr   rs   rq   rp   )rs   r   r0   r0   r   )abcr0   defrs   rq   )r   rq   rp   r   N)r   r;   r   reshaper
   r!   r    r   r   r   r   r   )r(   r3   r4   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yrY   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                  [        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


   rs   r0   r]   r_   )r   N)r   r   r
   rW   r   r:   r;   r<   )r(   r3   r4   rg   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""2::.[[_1	R}}QB''''rY   c                 2   U R                  S[        R                  S9nU R                  S5      nU R                  S[        R                  S9nU R                  US'   UR                  nU R                  S[        R                  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[        R                  S9nU R                  S[        R                  S9nU R                  US'   UR                  nU R                  S[        R                  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[        R                  S9nU R                  S[        R                  S9nU R                  US'   UR                  nU R                  S[        R                  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[        R                  S9nU R                  S[        R                  S9nU R                  US'   UR                  nU R                  S[        R                  S9nU R                  US'   X-  nX5-  ng)z
Tests inplace w/ array

r   )r8   rs   N)r   r;   r<   r   r.   r
   r   )r(   r3   r4   rg   rM   as         r)   test_6ModuleTester.test_6!  s    KK"**K-KKO[[2::[.1GGKK"**K-"	
}}Q!$$$$}}R1%%%%}}RWWdll1ff&=>>>>KK"**K-[[2::[.1GGKK"**K-"	
}}Q!$$$$}}R1%%%%}}RWWdll1ff&=>>>>KK"**K-[[2::[.1GGKK"**K-"	
}}Q!$$$$}}R1%%%%}}RWWdll1ff&=>>>>KK"**K-[[2::[.1GGKK"**K-"	
rY   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   rs   r0   rr   r-   )sqrtloglog10exp	conjugateN)r   rf   getattrr$   r%   fromnumericr	   ninrW   r   _mask)r(   dfufmfargsurmrs           r)   test_7ModuleTester.test_7U  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)rk   r]   r_   rd   r   r-   r_   r   r   )r]   r]   r_   r]   )weightsr0   )r   returnedr`   rs   rk   )r   r   r]   )r   r0   r0   r0   r0   r   )r0   r   r   r   r   r0   rr   g      @)r   r   rd   g      (@g
@)rk   r]   r_   rd   r`   rc   )r   r   r0   r0   r   r   )r   r0   r0   r0   r0   r0   )rk   r]        X@r   r`   g      @ra   )rk   r]   r   r   r`   rc   )r   rW   averager   r   r   r;   addry   r"   r   r   r   )r(   ottresultwtsw1w2r3   r4   rz   r{   r   m4m5zs                 r)   test_99ModuleTester.test_99x  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crY   c                 j    U R                  S5      nU R                  USS& UR                  SSS5      ng )Nr   r   rr   rs   rq   rp   )r   r   r   )r(   r3   s     r)   test_AModuleTester.test_A  s0    KKO!AIIaArY   )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*   rT   rW   r;   errstaterh   r~   r   r   r   r   r   r   r   r   __static_attributes__r1   rY   r)   r   r      sI    D IK$(5)nA [[X  [[XV V6 [[X( (T [[X% %& [[X . [[X2( 2(h [[X1 1f [[X 8  8D [[X+d +dZ [[X rY   r   __main__zNfrom __main__ import ModuleTester 
import numpy
tester = ModuleTester(module)
zimport numpy.ma.core as module
)r   r   r0   r   ztester.test_%i()r   z#%iz2..................................................zModuleTester.test_%i.__doc__zcore_current : z.3fz - )rx   timeitnumpyr;   numpy._core.fromnumeric_corer   numpy.testingr   rf   r   r   
setup_base	setup_curnrepeatnlooprangeifuncTimerr   curr   printevalr1   rY   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;<  rY   