o
    GeM                  
   @   s  d dl Zd dlZdd Zdd Zi dddgdg dd	g d
dg ddg ddg ddg ddg ddg ddg ddg ddg ddg ddg d d!g d"d#g d$d%g d&g d'g d(g d)g d*g d+g d,g d-g d.d/ZdS )0    Nc           
      C   s   i }t d| d D ]E}g }t|d }||d  d }tjd|dD ]}|d dkr>t|| }|| |||  q#tj|dd\}}	t|	||< q	|S )aY  
    Generate counts of the Wilcoxon ranksum statistic r_plus (sum of
    ranks of positive differences). For fixed n, simulate all possible states
    {0, 1}**n and compute the sum of the ranks over the indices that are equal
    to one (positive differences).
    Return a dictionary that maps n=3,...N to the corresponding list of counts
          r   r   repeatr   T)return_counts)	rangenparange	itertoolsproductsumappenduniquelist)
Nres_dictnresranksMxrank_sum_cnt r   d/var/www/html/SPIRAL.web.tool/spiral_venv/lib/python3.10/site-packages/scipy/stats/_wilcoxon_data.py_generate_wilcoxon_exact_table   s   
r   c                 C   s   i }t d| d D ]H}t|d }t||d  d }tj|d td}tjd|dD ]}|d dkrEtt|| }||  d7  < q,t|t	| ||< q	|S )zo
    Same functionality as _generate_wilcoxon_exact_table, but about 20% faster,
    but harder to follow.
    r   r   )dtyper   r   r   )
r   r	   r
   intzerosr   r   r   r   flip)r   r   r   r   r   r   r   r   r   r   r   #_generate_wilcoxon_exact_table_fast%   s   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   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#   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   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%   r$   r#   r   r   r   r   r   r)   ).r   r   r   r   r   r#   r$   r%   r&   r(   r)   r*   r,   r-                  r3         r5   r5   r5   r4   r3   r3   r2   r1   r0   r/   r-   r,   r*   r)   r(   r&   r%   r$   r#   r   r   r   r   r   r*   )8r   r   r   r   r   r#   r$   r%   r&   r(   r*   r+   r-   r/   r0      r4               !   #   $   &   '   r?   (   r@   r?   r?   r>   r=   r<   r;   r:   r9   r8   r7   r4   r6   r0   r/   r-   r+   r*   r(   r&   r%   r$   r#   r   r   r   r   r   r+   )Cr   r   r   r   r   r#   r$   r%   r&   r(   r*   r,   r.      r2   r4             r<   r?   +   .   1   5   8   ;   >   @   B   D   E   rO   F   rO   rO   rN   rM   rL   rK   rJ   rI   rH   rG   rF   rE   r?   r<   rD   rC   rB   r4   r2   rA   r.   r,   r*   r(   r&   r%   r$   r#   r   r   r   r   r   r,   )Or   r   r   r   r   r#   r$   r%   r&   r(   r*   r,   r/   r0   r6   r7   r8   r:   r=   r@   -   3   rI   =   C   H   N   T   Y   ^   d   h   l   q   s   v   y   z   {   |   rb   ra   r`   r_   r^   r]   r\   r[   rZ   rY   rX   rW   rV   rU   rT   rS   rI   rR   rQ   r@   r=   r:   r8   r7   r6   r0   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/   r1   r3   rB   r9   r;   r?   ,   2   9   rL   G   O   W   _   r[   r]   r`                                                   rz   ry   rx   rw   rv   ru   rt   rs   rr   rq   rp   ro   rn   rm   rl   rk   r`   r]   r[   rj   ri   rh   rg   rL   rf   re   rd   r?   r;   r9   rB   r3   r1   r/   r,   r*   r(   r&   r%   r$   r#   r   r   r   r   r   r.   )jr   r   r   r   r   r#   r$   r%   r&   r(   r*   r,   r/   r1   r4         r<   )   /   6   rK   rP   rh   rX   c   n   ra                  rt                !  .  ;  H  S  ^  i  q  y            r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rt   r   r   r   r   r   ra   r   r   rX   rh   rP   rK   r   r~   r}   r<   r|   r{   r4   r1   r/   r,   r*   r(   r&   r%   r$   r#   r   r   r   r   r   r/   )yr   r   r   r   r   r#   r$   r%   r&   r(   r*   r,   r/   r1   r4   r8   r:   r=   rE   rG   rf   rM   K   U   a   m   ra                            4  J  a  z            	    4  J  ]  p                    i  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   r   r   r   r   ra   r   r   r   r   rM   rf   rG   rE   r=   r:   r8   r4   r1   r/   r,   r*   r(   r&   r%   r$   r#   r   r   r   r   r   rA   )r   r   r   r   r   r#   r$   r%   r&   r(   r*   r,   r/   r1   r4   r8   rD   %   rd   rR   rJ   rO   rh   Z   g   u            r              2  N  m  r           <  b          (  P  w          1  Q  q              
      !  i"  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   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rh   rO   rJ   rR   rd   r   rD   r8   r4   r1   r/   r,   r*   r(   r&   r%   r$   r#   r   r   r   r   r   r0   )r   r   r   r   r   r#   r$   r%   r&   r(   r*   r,   r/   r1   r4   r8   rD   r>   rQ   4   rS   rg   R   rY   r\   rb   rl                    7  W  r         r   L  }  r       X      r   M  r       V         c      $  `      	  <  m        	  "	  ;	  M	  [	  f	  j	  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   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rl   rb   r\   rY   r   rg   rS   r   rQ   r>   rD   r8   r4   r1   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/   r1   r4   r8   rD   r>   rF   rH   rK   I   rW   r   p      r   r   rr           r   R  w  r       .  e      r   a      E      I      j    :          a	  	  F
  
  ,      {    O      x    *  {      N          +  B  S  Y  rR  rQ  rP  rO  rN  rM  rL  rK  rJ  rI  rH  rG  rF  rE  rD  rC  rB  rA  r@  r?  r>  r=  r<  r;  r:  r9  r8  r7  r6  r5  r4  r3  r2  r1  r0  r/  r.  r-  r,  r+  r*  r)  r(  r   r'  r&  r%  r$  r#  r"  r   r!  r   r   r  r  r  rr   r   r   r  r  r   rW   r  rK   rH   rF   r>   rD   r8   r4   r1   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/   r1   r4   r8   rD   r>   rF   r   ?   J   V   r   r^   r      r         r   r   @  h        )  c      /  ~    )      U    :    6    G    q	  
  
  U      c  rC  rE    P        ]  !      d        >      .    W    ^    >      D              i   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{  rz  ry  rx  rw  rE  rC  rv  ru  rt  rs  rr  rq  rp  ro  rn  rm  rl  rk  rj  ri  rh  rg  rf  re  rd  rc  rb  ra  r`  r_  r^  r]  r\  r[  rZ  rY  r   r   rX  rW  r   rV  r   r^   r   rU  rT  rS  r   rF   r>   rD   r8   r4   r1   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/   r1   r4   r8   rD   r>   rF   r   rL   r   ri   e   r            r   r   r   )  O  r         O  r     &  y    4                S    	  l
  1  rt                      *  ]        a      K!  "  #  @%  &  '  *)  p*  +  ,  $.  Q/  w0  1  2  3  4  5  i6  67  7  8  C9  9  M:  :  ;  P;  ;  ;  i;  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rt  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  r  r  r   r  ri   r   rL   r   rF   r>   rD   r8   r4   r1   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/   r1   r4   r8   rD   r>   rF   r   rL   L   X   f   w   r   rn   rq   r        3  [  r     r   r$  o  r     \            
    <    r  Z	  %
  
            3  p      z    u      _  !   !  #  %  '  )  +  -  /  2  G4  6  8  ;  I=  ?  A  *D  vF  H  J  ?M  tO  Q  S  U  W  Y  [  ]  _  Da  b  zd  e  Ng  h  i  j  k  l  Vm  m  on  n  o  ,o  r6  r5  r4  r3  r2  r1  r0  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  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  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r$  r   r  r   r  r  r  r  r   rq   rn   r   r  r  r  r  rL   r   rF   r>   rD   r8   r4   r1   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/   r1   r4   r8   rD   r>   rF   r   rL   r  rX   r   x      r              r   e        D      -      _    Y      &      h	  G
  4  1  A  b      5    '    l  3          /"  i$  &  r  +  L.  1  3  6  9  <  ?  2C  F  I  rM  Q  T  YX  \  _  c  g  k  o  s  w  {    陃  镇  鉋  y  \  0    鰞  P    V  鯬          鮻  A            M          J      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~  r}  r|  r{  rz  ry  rx  rw  rv  ru  rt  rs  rr  rq  rp  ro  rn  rm  rl  rk  rj  ri  rh  rg  rf  re  rd  rc  r  rb  ra  r`  r_  r^  r]  r\  r[  rZ  rY  rX  rW  rV  rU  rT  rS  rR  rQ  rP  rO  rN  rM  rL  rK  rJ  rI  rH  rG  rF  rE  rD  rC  rB  rA  r@  r?  r>  r=  r   r<  r;  r:  r9  r   r8  r7  r   rX   r  rL   r   rF   r>   rD   r8   r4   r1   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/   r1   r4   r8   rD   r>   rF   r   rL   r  rX   r[   r`   rl      r   rw   r     A  r         V      M            A      e  :	  !
    &  F  |    )    8              _"  $  '  Q*  ?-  P0  3  6  i:  >  A  E  J  TN  R  cW  )\  a  (f  ek  p  Lv  {  ǁ  鸇  ͍    N  齠  B    隴  b  >  +  !  "  ,  7  D  S  W  U J +   Y# ) F0 6 < B TH M GS lX Y] b zf j n 6r u x _{ }  Á @ l ? 龅 i 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  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  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  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   rw   r   r  rl   r`   r[   rX   r  rL   r   rF   r>   rD   r8   r4   r1   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/   r1   r4   r8   rD   r>   rF   r   rL   r  rX   r[   ra         rr           F  s      r   r%      h    C    M      A      	  
      <        D        6    
!  #  |&  y)  ,  /  3  87  %;  K?  C  5H  M  	R  LW  \  b  h  n  Lu  |    [    鶙  ġ    鱲  醻        i      R    (! , 7 C |O k[ }g s  H 鳘   闱    P      7+ 6 A L mW a k u & ?  < & 阨 靯 2 D     < =   
  i, r  r  r~  r}  r|  r{  rz  ry  rx  rw  rv  ru  rt  rs  rr  rq  rp  ro  rn  rm  rl  rk  rj  ri  rh  rg  rf  re  rd  rc  rb  ra  r`  r_  r^  r]  r\  r[  rZ  rY  rX  rW  rV  rU  rT  rS  rR  rQ  rP  rO  rN  rM  rL  rK  rJ  rI  rH  rG  rF  rE  rD  rC  rB  rA  r@  r?  r>  r=  r<  r;  r:  r9  r8  r7  r6  r5  r4  r3  r2  r1  r0  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  r  r  r  r%  r   r  r  r  r  r  r
  r	  rr   r  r  ra   r[   rX   r  rL   r   rF   r>   rD   r8   r4   r1   r/   r,   r*   r(   r&   r%   r$   r#   r   r   r   r   r   (F  r   r   r   r   r   r#   r$   r%   r&   r(   r*   r,   r/   r1   r4   r8   rD   r>   rF   r   rL   r  rX   r[   ra            ry      r   r   x      (  q      rc    c    {        _  F	  @
  P  y        &          %    =!  $  '  L*  -  b1  C5  e9  =  fB  QG  L  Q  W  ]  Id  k  #r  y  d  鐉      b    A      -    >      & 5 C IS c 1s ̃ ͔ 4  9     * > [S *h 5} t  钽 Z J N b + A W m  љ 隯 2    , n- KA T g Wz c   ?    C A z  ) w3 < D K bR W \ ;` c d e 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  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  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  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  r  r  r  r  r  r  r  rc  r  r  r  r  r  r  r  r   r   r  ry   r  r  r  ra   r[   rX   r  rL   r   rF   r>   rD   r8   r4   r1   r/   r,   r*   r(   r&   r%   r$   r#   r   r   r   r   r   )r1   r2   r6   r3   r4   r5   r7   rB   )numpyr	   r   r   r"   COUNTSr   r   r   r   <module>   sb    		 '/9E 